Ad Widget

Collapse

Восстановление триггера

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ctpony
    Junior Member
    • Apr 2021
    • 1

    #1

    Восстановление триггера

    Всем привет! Прошерстил много инфы, но так и не нашёл ответа. Может подскажет кто?

    Есть выражение с нацеленостью на элемент данных:

    {server:log[/var/log/main.log,Not available].str(Connecting to /192.168.0.1,#25)}=1
    Отрабатывает отлично.

    Создаю выражение восстановления.

    {server:log[/var/log/main.log,Available].str(Connecting to /192.168.0.1,#25)}=1

    И оно не срабатывает.

    Суть в том, что требуется в логах отслеживать связку двух значений и на основе них создавать или восстанавливать проблему. Может сталкивался кто с подобной задачей. Или есть какое-то иное решение?

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

    #2
    Выражение восстановления в триггере начинает проверяться только тогда, когда перестаёт быть истинным исходное выражение триггера.
    А у вас при этом ещё в этих выражениях используются разные элементы данных.

    Смысл Вашего выражения триггера: если среди строк лог-файла, содержащих подстроку "Not available", хотя бы одна из последних 25-и содержит также и подстроку "Connecting to /192.168.0.1", то триггер переходит в состояние PROBLEM.

    Соответственно, выражение восстановления будет проверяться только тогда, когда исходное выражение станет ложным: т.е. среди последних 25 строк лога, содержащих подстроку "Not available", ни одна не будет содержать подстроки "Connecting to /192.168.0.1". В этом случае, чтобы триггер вернулся в состояние ОК, начнёт проверяться ещё и условие в выражении восстановления, смысл которого такой: среди последних 25-и строк лога, содержащих подстроку "Available", хотя бы одна содержит также и подстроку "Connecting to /192.168.0.1".

    Вы закладывались именно на такую логику? Если нет - то опишите вашу задачу подробнее.

    Comment


    • ctpony
      ctpony commented
      Editing a comment
      Добрый день.
      Понятно. Я думал, что если появляется совпадение выражения восстановления, то триггер закрывается принудительно.

      Задача в том, чтобы данный триггер закрывался автоматически, если в логе появляется несколько иная связка значений, как указано в выражении восстановления "{server:log[/var/log/main.log,Available].str(Connecting to /192.168.0.1,#25)}=1".

    • ctpony
      ctpony commented
      Editing a comment
      Если сделать примерно так, будет работать?

      {server:log[/var/log/main.log,Not available].str(Connecting to /192.168.0.1,#25)}=1 and {server:log[/var/log/main.log,Available].str(Connecting to /192.168.0.1,#25)}=0 - Проблема
      {server:log[/var/log/main.log,Not available].str(Connecting to /192.168.0.1,#25)}=1 and {server:log[/var/log/main.log,Available].str(Connecting to /192.168.0.1,#25)}=1 - Восстановление
Working...