Ad Widget

Collapse

Низкоуровневое обнаружение и триггеры н&

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • v.goncharov
    Member
    • Mar 2013
    • 58

    #1

    Низкоуровневое обнаружение и триггеры н&

    Есть свое низкоуровневое обнаружение с огромным количеством элементов.
    Требуется прототип триггера (или триггер), который бы срабатывал, когда:
    новый элемент добавлен (триггер сообщает, какой именно),
    неактуальный элемент будет удален (триггер сообщает, какой и когда перестал получать данные)

    Перерыл все мануалы, что-то ничего в голову не приходит. Есть идеи, как это реализовать?
  • zalex_ua
    Senior Member
    Zabbix Certified Trainer
    Zabbix Certified SpecialistZabbix Certified Professional
    • Oct 2009
    • 1286

    #2
    Такой фичи нету. Как просто реализовать - идей тоже нету.
    А идея должен сказать интересна, можете создать фич реквест https://support.zabbix.com/browse/ZBXNEXT

    Comment

    • v.goncharov
      Member
      • Mar 2013
      • 58

      #3
      Может быть, будет кому-то полезно.

      Кривенько получился, но пока хотя бы так:

      Во время работы скрипта обнаружения записываем обнаруженные элементы в файл.
      При следующем запуске переименовываем файл в файл.old.
      Code:
      OLDDISCOVER="/tmp/discovery.${1}.old"
      NEWDISCOVER="/tmp/discovery.${1}.new"
      
      if [ -f $NEWDISCOVER ]
      then
       mv $NEWDISCOVER $OLDDISCOVER
      fi
      
      echo "{ \"data\":
      [
      "
      for((i=0;i<${#status[@]};i=$i+18))
        do
           echo "{ \"{#CONNECTION}\":\"${status[$i]}\" },"
           echo ${status[$i]} >> $NEWDISCOVER
        done
      echo " ]
      }
      "
      Затем проверка и отправка через zabbix trapper:

      Code:
      OLD=`diff $NEWDISCOVER $OLDDISCOVER | grep -E '>'`
      zabbix_sender -z 127.0.0.1 -s "$HOSTHOST" -k trap_old -o "${OLD}" > /dev/null
      
      NEW=`diff $NEWDISCOVER $OLDDISCOVER | grep -E '<'`
      zabbix_sender -z 127.0.0.1 -s "$HOSTHOST" -k trap_new -o "${NEW}" > /dev/null
      Правда, пришлось все хосты, для которых этот шаблон работал, прописать жестко в скрипт.
      Потом в заббиксе создаю элементы данных типа траппер и триггеры к ним на изменение значения.
      Если изменений не было - скрипт отправит пустую строчку. Если были изменения - сработает триггер, выведет last value, которое соответствует изменившимся элементам.
      Скрипт работает с частотой соответствующего обнаружения, писался на bash

      Comment

      • zalex_ua
        Senior Member
        Zabbix Certified Trainer
        Zabbix Certified SpecialistZabbix Certified Professional
        • Oct 2009
        • 1286

        #4
        Поздравляю !
        Оригинальный подход.

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

        Comment

        Working...