Ad Widget

Collapse

Активная проверка и обновление тригерро&

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Ats
    Junior Member
    • Nov 2011
    • 3

    #1

    Активная проверка и обновление тригерро&

    Доброе время суток.

    Пытаюсь имею порядка 1000 железок которые шлют логи на syslog сервер, который в свою очередь пишет их в базу.

    Необходимо реализовать чтобы заббикс сообщал когда в логах появляются сообщения со статусом WARN и CRIT, а так же мониторил в логах наличие определенных сообщений.

    Поскольку объем достаточно большой, написал скрипт который запихивает с помощью zabbix_sender-а добавляет строки, создал элемент zabbix trapper, добавил триггер для журнала:
    PHP Code:
    {DGS-3627G:rsyslog.iregexp(warn,900)}=
    Но тут обнаружилось что триггер не обновляется пока не придут новые данные.

    Попробовал добавить nodata(), получил ошибку "Evaluation failed for function: {DGS-3627G_5:rsyslog.iregexp(warn,900)}".

    Вижу тока 2 варианта решения, но хотелось бы более гуманный способ:
    1. Апдейтить все триггеры через API.
    2. Запихивать заббиксу пустые значения, засоряя лог ненужным спамом.
  • dima_dm
    Senior Member
    • Dec 2009
    • 2697

    #2
    Напишите триггер так
    Если не будет повторного сообщения в логах, авария очистится через 1200 секунд
    {DGS-3627G:rsyslog.iregexp(warn,900)}=1 & {DGS-3627G:rsyslog.nodata(1200)}#1
    Чтобы не пропустить новые повторные сообщения, которые будут в интервал 1200 после срабатывания триггера
    Event generation: Normal + Multiple PROBLEM events
    Last edited by dima_dm; 07-11-2011, 16:17.

    Comment

    • Ats
      Junior Member
      • Nov 2011
      • 3

      #3
      Originally posted by dima_dm
      Напишите триггер так
      Если не будет повторного сообщения в логах, авария очистится через 1200 секунд
      {DGS-3627G:rsyslog.iregexp(warn,900)}=1 & {DGS-3627G:rsyslog.nodata(1200)}#1
      Чтобы не пропустить новые повторные сообщения, которые будут в интервал 1200 после срабатывания триггера
      Event generation: Normal + Multiple PROBLEM events
      Такой вариант пробовал, не срабатывает, пишет Evaluation failed for function: {DGS-3627G_5:rsyslog.iregexp(warn,900)}. По идее все правильно, в эти 1200 секунд уже нет данных и zabbix выдает что iregexp не может определить значение выражения.

      Вообще странно что триггеры при указании времени не перепроверяет, как скажем nodata.

      Интересно что ошибку не вылезает если указать вместо времени количество записей например так {DGS-3627G_5:rsyslog.iregexp(warn,#10)}.

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        Тогда пишите так:
        {DGS-3627G:rsyslog.iregexp(warn,#10)}=1 & {DGS-3627G:rsyslog.nodata(1200)}#1

        Comment

        • Ats
          Junior Member
          • Nov 2011
          • 3

          #5
          Originally posted by dima_dm
          Тогда пишите так:
          {dgs-3627g:rsyslog.iregexp(warn,#10)}=1 & {dgs-3627g:rsyslog.nodata(1200)}#1
          Написать то написал, но это весьма далеко от того что требовалось.

          Comment

          Working...