Ad Widget

Collapse

Мониторинг ospf

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • alex2712
    Junior Member
    • Nov 2015
    • 6

    #1

    Мониторинг ospf

    Добрый день. Написал скрипт для внешней проверки ospf соседей(случай, когда отваливается ospf сосед). При запуске скрипт выдаёт ip отвалившегося соседа , если таковой имеется.

    ./ospfcheck.sh 10.16.5.2

    xx.xx.xx.xx

    Создал элемент данных: ключ ospfcheck.sh["{HOST.CONN}"] , тип информации: Текст

    Каким образом, можно написать триггер, чтобы zabbix выдавал вывод скрипта в случае, если отвалилcz сосед ospf. Заранее спасибо.
  • aib
    Senior Member
    • Jan 2014
    • 1615

    #2
    Просматривая документацию, наткнулся на ваш пример


    Example 6
    Code:
     Use of function str():
    
    {zabbix.zabbix.com:agent.version.str("beta8")}=1
    
    The expression is true if Zabbix agent has version beta8 (presumably 1.0beta8).
    Sincerely yours,
    Aleksey

    Comment

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

      #3
      Зависит от того, что может выдавать Ваш скрипт в принципе. Что он выдаёт в обычной ситуации, когда всё ОК (пустую строку)? Что будет, если "отвалившихся" соседей несколько (выдаст несколько строк)?

      Comment

      • alex2712
        Junior Member
        • Nov 2015
        • 6

        #4
        Добрый день, если всё ОК, то скрипт выдёт пустую строку, если несколько отвалившихся соседей(к примеру 2), то выдаёт соответственно 2 ip адреса.

        Comment

        • alex2712
          Junior Member
          • Nov 2015
          • 6

          #5
          Попробовал пример aib.

          В выражении триггера прописал {<host>spfcheck.sh["{HOST.CONN}"].regexp(*.*)}=1

          Т.е. если всё Ок и скрипт выдаёт пустую строку, то заббикс соответственно не реагирует, а если скрипт выдаёт ip адреса, то соответственно триггер срабатывает, как и должно, но сообщение совсем не информативно:

          Дата и время: 2015.11.24 12:22:03
          Адрес хоста: 10.16.5.2
          Значение:

          Значение пустое, т.е. {ITEM.LASTVALUE} не определена. Каким образом можно вывести ip адреса соседей в Значении? Или есть ли ещё какой нибудь способ мониторинга??

          Comment

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

            #6
            Для рассылки оповещений можно предложить триггер, имеющий такую логику:
            Code:
            {<host>:ospfcheck.sh["{HOST.CONN}"].strlen()}>0 &
            {<host>:ospfcheck.sh["{HOST.CONN}"].diff()}>0 & 
            {<host>:ospfcheck.sh["{HOST.CONN}"].nodata(30)}=0
            Будет переходить в состояние PROBLEM, если пришло новое непустое значение, отличающееся от предыдущего, и в течение 30 секунд возвращаться в OK. Уведомление будет рассылаться в случае, если отвалившихся соседей не было, а теперь появились, либо в случае изменения списка этих соседей.

            Если же нужен триггер, который будет висеть на экране до тех пор, пока есть проблема, то нужно оставить только первое из этих условий.

            Comment

            • alex2712
              Junior Member
              • Nov 2015
              • 6

              #7
              Спасибо за описание логики. В почту приходит:
              Дата и время: 2015.11.26 13:29:06
              Адрес хоста: 10.16.5.2
              Значение:

              Возможно ли отображать список соседей, а то сообщении не понятно какой сосед именно отвалился..

              Comment

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

                #8
                В большинстве случаев используем в шаблоне для оповещения что-то вроде:
                Code:
                {HOSTNAME}: {TRIGGER.NAME}
                Zabbix timestamp: {EVENT.DATE} {EVENT.TIME} 
                
                {ITEM.VALUE1}
                Значение элемента данных (подставляется вместо последнего макроса) приходит отлично.

                Comment

                Working...