Ad Widget

Collapse

Подсвечивание проблемы если с датчика ид

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • O-2
    Junior Member
    • Jul 2009
    • 25

    #1

    Подсвечивание проблемы если с датчика ид

    Столкнулся с тем, что в логи пишут ошибки, но весьма редко возврат в нормальное состояние. В результате получается что приходит сообщение о ошибке, ее исправляем, а триггер все-равно висит с ошибкой. Можно-ли как-то это обойти?
    [к разработчикам]Может стоит добавить в триггер проверку и на подтверждение?
  • dima_dm
    Senior Member
    • Dec 2009
    • 2697

    #2
    Это вы, скорее всего, условие триггера неправильно написали. У меня никогда таких проблем не было. Хотите совета, подробности в студию.

    Comment

    • O-2
      Junior Member
      • Jul 2009
      • 25

      #3
      Win Log я скачал где-то здесь еще к 1.6...
      как-то так...
      Code:
      Application Log ERROR | {Template_Windows_Logging:eventlog[Application].logseverity(4)}=4
      типа если у записи лога стоит тип error, то срабатывает триггер...
      Что-то у меня ничего другого не придумывается.

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        Скорее всего проблема в этом
        режим - один из all (по умолчанию), skip (пропуск обработки старых данных)
        http://www.zabbix.com/documentation/...config/items?s[]=eventlog
        Нужно выбирать режим skip

        Comment

        • O-2
          Junior Member
          • Jul 2009
          • 25

          #5
          из мануала не очень понял что подразумевается под skip.
          и, написано, он с v2.0 только появится...
          Last edited by O-2; 27-03-2010, 20:13.

          Comment

          • IDDQD
            Junior Member
            • Jun 2009
            • 13

            #6
            столкнулся с той же проблемой
            сислогом формирую некий файл в который валятся исключительно ошибки требующие внимания. Причем хотелось бы чтобы ошибка сама не исчезала со временем, а честно дожидалась подтверждения (acknolegement). Чтоб пришел в понедельник утром, исправил ошибку, подвердил (Ack) и событие очистилось.

            Значит натравливаю заббикс на этот файл с помощью log[/var/log/errors]
            триггер имеет вид {host:log[/var/log/errors].change(0)}=1)

            при появлении новой строчки в файле тригер срабатывает и в дэшборде появляется событие.
            Которое при подтверждении продолжает висеть.
            В документации заявлен макрос TRIGGER.EVENTS.UNACK (Number of unacknowledged PROBLEM events for a trigger which generated event), который мог бы помочь в этом случае

            но я пробую создать для триггера условие вида
            ({TRIGGER.EVENTS.UNACK}>0)&({hostname:log[/var/log/errors].change(0)}=1)
            и получаю ошибку:
            Incorrect trigger expression. [({TRIGGER.EVENTS.UNACK}=0)& ... ]

            И как элегантно решить эту задачку пока не придумал

            з.ы. версия 1.8.1

            Comment

            • dima_dm
              Senior Member
              • Dec 2009
              • 2697

              #7
              Originally posted by IDDQD
              Incorrect trigger expression. [({TRIGGER.EVENTS.UNACK}=0)& ... ]
              Вы невнимательно документацию читали, там чётко написано, что TRIGGER.EVENTS.UNACK можно использовать только в Notifications and commands

              подтверждение нужно чтобы статистику и комментарии отображать, оно не очищает проблему.
              Originally posted by IDDQD
              И как элегантно решить эту задачку пока не придумал
              Сейчас только с помощью каких-то внешних скриптов, стандартных средств нет.

              Comment

              • IDDQD
                Junior Member
                • Jun 2009
                • 13

                #8
                Originally posted by dima_dm
                Вы невнимательно документацию читали, там чётко написано, что TRIGGER.EVENTS.UNACK можно использовать только в Notifications and commands
                скорее наоборот - чересчур внимательно
                в документации в разделе Триггеров в самом конце приводится пример гистерезиса с использованием макроса {TRIGGER.VALUE}, который, судя по документации, для TriggerExpression также не подходит.
                так что мой метод тыка был не от невнимательности, а от недоверия документации

                Originally posted by dima_dm
                Сейчас только с помощью каких-то внешних скриптов, стандартных средств нет.
                сделал следующим образом
                в Actions включил эскалацию
                1-1 как обычно шлем почту
                2-0 выполняем remote command при условии Event acknowledged = "Ack"
                remote command:
                {HOSTNAME}:echo '{ITEM.LASTVALUE}' >> /var/log/errors

                условие триггера реагирует на разность последних строк
                напомню я использую условие {host:log[/var/log/errors].change(0)}=1)

                таким образом добавив в файл последнюю строку еще раз, триггер обманули

                вуаля, работает как хотелось

                конечно более прямой вариант, добавить не последнюю строку, а ключевое слово, например - Aсknowledgement
                и создать триггер типа
                ({host:log[/var/log/errors].change(0)}=1)&({host:log[/var/log/errors].str('Aсknowledgemnet)}=0)

                иначе в будущем поддержка подобных хаков превратится в мучение


                З.Ы. все таки хочу сказать разработчикам:
                во первых огромное спасибо за заббикс.
                во вторых предлагаю включить в будущие версии возможность гасить триггеры по подтверждению (ACK) используя значение TRIGGER.ACK в TriggerExpression
                Last edited by IDDQD; 07-04-2010, 07:16.

                Comment

                • O-2
                  Junior Member
                  • Jul 2009
                  • 25

                  #9
                  интересная идея. попробую тоже прикрутить... спс.

                  Comment

                  Working...