Ad Widget

Collapse

Не могу понять почему триггер срабатывает некорректно

Collapse
This topic has been answered.
X
X
 
  • Time
  • Show
Clear All
new posts
  • D.Frolov
    Member
    • Apr 2020
    • 95

    #1

    Не могу понять почему триггер срабатывает некорректно

    1. Есть журнал-лог
    2. В нем смотрим строку со словом ERROR и если она есть, то шлем уведомления
    3. Вот самое выражение - find(/var/log[{$PATH1},,,,,,,,],,"regexp","(ERROR|CRITICAL|FATAL)")=0

    Если делать без regexp, то все работает (без перечисления регуляркой в скобках), а вот с regexp нет...
    По find почему-то не нашел в документации описания (хотя такого не может быть, но не попалось через поиск)

    Подскажите, пожалуйста в чем ошибка
  • Answer selected by D.Frolov at 20-04-2025, 23:29.
    Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    Ну вот, например, здесь (ссылка) есть достаточно нормальное описание этой триггерной функции на русском языке (нужно только поиском по странице найти строку find).
    Это описание годится для версии Zabbix 5.4 и выше (в последующих версиях в этой функции практически ничего не менялось), для более ранних нужно смотреть функцию regexp() (ссылка).
    Ноль эта функция возвращает, когда соответствия НЕ найдено, т.е. такой триггер должен сработать тогда, когда в искомой строке не найдено ни одной из перечисленных строк - ни ERROR, ни CRITICAL, ни FATAL (причём, с учётом регистра букв).

    А у вас в самом деле хост называется "var"?

    Comment

    • Kos
      Senior Member
      Zabbix Certified SpecialistZabbix Certified Professional
      • Aug 2015
      • 3404

      #2
      Ну вот, например, здесь (ссылка) есть достаточно нормальное описание этой триггерной функции на русском языке (нужно только поиском по странице найти строку find).
      Это описание годится для версии Zabbix 5.4 и выше (в последующих версиях в этой функции практически ничего не менялось), для более ранних нужно смотреть функцию regexp() (ссылка).
      Ноль эта функция возвращает, когда соответствия НЕ найдено, т.е. такой триггер должен сработать тогда, когда в искомой строке не найдено ни одной из перечисленных строк - ни ERROR, ни CRITICAL, ни FATAL (причём, с учётом регистра букв).

      А у вас в самом деле хост называется "var"?

      Comment

      • D.Frolov
        Member
        • Apr 2020
        • 95

        #3
        Originally posted by Kos
        Ну вот, например, здесь (ссылка) есть достаточно нормальное описание этой триггерной функции на русском языке (нужно только поиском по странице найти строку find).
        Это описание годится для версии Zabbix 5.4 и выше (в последующих версиях в этой функции практически ничего не менялось), для более ранних нужно смотреть функцию regexp() (ссылка).
        Ноль эта функция возвращает, когда соответствия НЕ найдено, т.е. такой триггер должен сработать тогда, когда в искомой строке не найдено ни одной из перечисленных строк - ни ERROR, ни CRITICAL, ни FATAL (причём, с учётом регистра букв).

        А у вас в самом деле хост называется "var"?
        1. Спасибо за подробный ответ с ссылками
        2. Ошибка действительно была в том, что я перепутал по ночи 0 и 1, 1 нашло и срабатывает, а 0 не нашло и не срабатывает.
        3. Про хост не понял, там пути к файлам журналов, как пример - /var/log/vzdump/lxc-202.log

        P/S Еще раз спасибо за подробный ответ.
        Last edited by D.Frolov; 20-04-2025, 23:43.

        Comment

        Working...