Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
 Уведомление об алертах на почту.  [new]
Larry E.
Member

Откуда:
Сообщений: 42
Hi

Стоит задача отправлять уведомления об ошибках базы которые появляются в db2diag.log (v9.7) на почту. Для оперативного реагирования на проблемы.
Подскажите как это можно сделать ?
25 мар 15, 11:20    [17428571]     Ответить | Цитировать Сообщить модератору
 Re: Уведомление об алертах на почту.  [new]
Amiri
Member

Откуда: Pakistan
Сообщений: 721
Парсите лог ловите ошибку шлите письмо!
tail -f db2diag.log|grep Error|mailx
25 мар 15, 12:58    [17429374]     Ответить | Цитировать Сообщить модератору
 Re: Уведомление об алертах на почту.  [new]
Larry E.
Member

Откуда:
Сообщений: 42
Amiri,

Спс за наводку !
25 мар 15, 13:25    [17429555]     Ответить | Цитировать Сообщить модератору
 Re: Уведомление об алертах на почту.  [new]
n&n
Guest
Larry E.,

только после этого придется менять статус каждого такого сообщения с Error на что-нибудь-иное
или начинать новый db2diag.log
25 мар 15, 13:32    [17429614]     Ответить | Цитировать Сообщить модератору
 Re: Уведомление об алертах на почту.  [new]
n&n
Guest
n&n,

лучше наверно в парсинг добавить опцию -time со значением времени = время пред. парсинга + 1сек
25 мар 15, 13:34    [17429626]     Ответить | Цитировать Сообщить модератору
 Re: Уведомление об алертах на почту.  [new]
CawaSPb
Member

Откуда: Питер/Москва/Wroclaw
Сообщений: 1092
Я бы рекомендовал обратить внимание на команду db2diag.
В частности на опции -level и -time.

Но вообще, лучше бы поискал стандартное мониторинговое решение. Human readable логи парсить они, наверное, все умеют.
26 мар 15, 19:51    [17437151]     Ответить | Цитировать Сообщить модератору
 Re: Уведомление об алертах на почту.  [new]
mitek
Member

Откуда:
Сообщений: 605
Larry E.,

Можно что-нибудь вроде этого изобразить :

UPDATE DB CFG FOR <DBNAME> USING SMTP_SERVER <your SMTP-server>;


CREATE PROCEDURE "DB2INST1"."MAIL_DIAGLOG_ALERTS"
 (IN @P_MIN INTEGER, 
  IN @P_MAIL_FROM VARCHAR(100), 
  IN @P_MAIL_TO VARCHAR(100)
 ) 
LANGUAGE SQL
BEGIN 
DECLARE V_INST_NAME VARCHAR(8);
DECLARE V_HOST_NAME VARCHAR(50);
DECLARE V_EMAIL_TITLE VARCHAR(100);

SET V_INST_NAME = (SELECT upper(INST_NAME) FROM SYSIBMADM.ENV_INST_INFO);
SET V_HOST_NAME = (SELECT upper(HOST_NAME) FROM SYSIBMADM.ENV_SYS_INFO);
SET V_EMAIL_TITLE = V_INST_NAME||'  instance '||'on host '||V_HOST_NAME||'  db2diag.log  alert!';

FOR STR AS
SELECT FULLREC AS TEXT FROM TABLE(SYSPROC.PD_GET_DIAG_HIST('MAIN','ALL',NULL, CURRENT_TIMESTAMP - @P_MIN MINUTES,CURRENT_TIMESTAMP)) AS MSGS 
WHERE LEVEL IN ('C','E','S') 
ORDER BY TIMESTAMP ASC 
DO 
IF (STR.TEXT <> '') THEN CALL UTL_MAIL.SEND(@P_MAIL_FROM,@P_MAIL_TO,NULL,NULL,V_EMAIL_TITLE,STR.TEXT);
END IF;
END FOR;

END;


CALL DB2INST1.MAIL_DIAGLOG_ALERTS(<минуты>, '<от кого>','<кому>')


Ну и запускать процедуру через крон или ADMIN_TASK_LIST в нужном регламенте.
27 мар 15, 10:40    [17438843]     Ответить | Цитировать Сообщить модератору
 Re: Уведомление об алертах на почту.  [new]
Andron
Member

Откуда: Cherepovets
Сообщений: 1816
Larry E.,

Настроить DB2 Administration Server, и в нем email на которые будут приходить алерты? У меня было именно так сделано для примерно 10 инстансов db2 разных версий, и работало надежно.
28 мар 15, 20:19    [17445211]     Ответить | Цитировать Сообщить модератору
 Re: Уведомление об алертах на почту.  [new]
DenGI
Member

Откуда:
Сообщений: 5
В случае с виндой:
В винде события DB2 так же пишутся в эвентлог. Соответственно самое простое настроить виндовый таск с триггером на событие по фильтру DB2.
15 апр 15, 13:52    [17518376]     Ответить | Цитировать Сообщить модератору
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить