Ad Widget

Collapse

отсутствие строки некоторое время

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • rekby
    Member
    • Jul 2010
    • 91

    #1

    отсутствие строки некоторое время

    На сервере есть проверка, выполняющаяся через выхов php-скрипта.
    Соответствие регулярному выражению ^OK означает что всё в порядке. В любом другом случае - авария.

    Проверка долгая и скрипт не всегда успевает ответить за время ожидания проверки. Если скрипт не успевает сработать - возвращается EOF, т.е. не соответствующий регулярному выражению.

    Неуспевать проверка может часто - примерно раз или несколько раз в сутки. Может неуспевать полчаса подряд например если диск подтормаживает.

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

    С числовыми значениями всё понятно - там можно посчитать сумму за последний час и если она равна 0 - значит всё было плохо. Как быть с текстовой строкой или как превратить её в числовое значение не нашел и сейчас проверка выглядит так:

    {Parallels sitebuilder:web.page.regexp[{$APACHE_IP},/check.php,{$SELF_MONITORING_PORT},"^OK"].iregexp(^OK)}=0 & {Parallels sitebuilder:web.page.regexp[{$APACHE_IP},/check.php,{$SELF_MONITORING_PORT},"^OK"].iregexp(^OK,#1)}=0 & {Parallels sitebuilder:web.page.regexp[{$APACHE_IP},/check.php,{$SELF_MONITORING_PORT},"^OK"].iregexp(^OK,#2)}=0 & {Parallels sitebuilder:web.page.regexp[{$APACHE_IP},/check.php,{$SELF_MONITORING_PORT},"^OK"].iregexp(^OK,#3)}=0


    Хотелось бы чего-то более читабельного.
  • ableev
    Senior Member
    Zabbix Certified Specialist
    • Oct 2012
    • 276

    #2
    Попробуйте в самом скрипте запускать zabbix_sender и засылать данные в заббикс. В данном случае вы на уровне скрипта можете разрулить регекспы и отправлять в заббикс только 1 или 0 (хорошо или плохо).

    Если траппер не подходит - можно запускать скрипт по крону, и уже заббиксом результат забирать, скажем, из файла.

    Comment

    • rekby
      Member
      • Jul 2010
      • 91

      #3
      Да, о внешних скриптах я не подумал.

      А есть возможность в самом zabbix превратить строку в число?
      Например в самом элементе написать какую-то функцию, которая будет равна 1 если получено ОК и 0 если не получено и хранить уже число или создать какой-то вычисляемый элемент и как-то в нем проанализировать полученную строку.

      Comment

      Working...