Ad Widget

Collapse

График результатов fping, между zabbix agent и remote host

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • solaris24
    Junior Member
    • Apr 2017
    • 3

    #1

    График результатов fping, между zabbix agent и remote host

    Есть задача: мониторить доступность и состояние сети, между zabbix ангентом(Windows) и неким удалённым хостом, например 8.8.8.8.

    На Windows агенте, мониторинг сделан через:
    Code:
    UserParameter=fping_ip_address[*], fping /t 300 $1
    На сервере Zabbix сделан Item, который получет результаты в след. виде:

    Code:
    [root@centos7 ~]# zabbix_get -s winagent1 -k "fping_ip_address[8.8.8.8]"
    
    Binging 8.8.8.8
    
    Reply from 8.8.8.8: bytes=32 time=1ms ttl=60 seq=0
    Reply from 8.8.8.8: bytes=32 time=1ms ttl=60 seq=1
    Reply from 8.8.8.8: bytes=32 time=1ms ttl=60 seq=2
    Reply from 8.8.8.8: bytes=32 time=1ms ttl=60 seq=3
    
    Roundtrip Summary:
    Average: 1 ms, Minimum: 1 ms, Maximum: 1 ms, Rate: 100%
    [root@centos7 ~]#
    Вопрос: Как парсить такие результаты, например значение Average и рисовать на основании этого график?

    И второй вопрос. Через fping не удаётся получить простой результат 1(удачный пинг) или 0 (не удачный пинг). Т.е. если пинг не проходит вовсе, получаем значение: ZBX_NOTSUPPORTED. Как получить просто 1 или 0 ?
  • voffko
    Junior Member
    • Jul 2016
    • 23

    #2
    Обычно, когда у меня не получается мониторить данные средствами zabbix, я иду делаю скрипт и с помощью zabbix_sender отправляю данные в zabbix.

    Comment

    • ovas
      Senior Member
      Zabbix Certified Trainer
      Zabbix Certified SpecialistZabbix Certified Professional
      • Apr 2017
      • 138

      #3
      Привет!

      Originally posted by solaris24
      Вопрос: Как парсить такие результаты, например значение Average и рисовать на основании этого график?
      Code:
      zabbix_get -s winagent1 -k "fping_ip_address[8.8.8.8]" | grep Average | awk '{print $2}'
      Команда вытащит строку, которая начинается на "Average", а затем отдаст только второе слово, которое и является среднем значением.
      Дальше передавать куда хотите цифровое значение и строите график.
      Originally posted by solaris24
      И второй вопрос. Через fping не удаётся получить простой результат 1(удачный пинг) или 0 (не удачный пинг). Т.е. если пинг не проходит вовсе, получаем значение: ZBX_NOTSUPPORTED. Как получить просто 1 или 0 ?
      Встроенный метод icmpping[<target>,<packets>,<interval>,<size>,<timeout>] отдаст значение 1 или 0. Больше информации: https://www.zabbix.com/documentation.../simple_checks

      Comment

      • solaris24
        Junior Member
        • Apr 2017
        • 3

        #4
        Originally posted by ovas
        Встроенный метод icmpping[<target>,<packets>,<interval>,<size>,<timeout>] отдаст значение 1 или 0.
        Это не подходит. Т.е. мне проверку нужно делать с Zabbix Agent, а это Simple Check который выполняется с zabbix севрера.

        По поводу grep и awk, спасибо на намёк. Хотя этих команд нет на Windows server 2008, но это решаемо.

        Comment

        • yukra
          Senior Member
          • Apr 2013
          • 1359

          #5
          Originally posted by solaris24
          Есть задача: мониторить доступность и состояние сети, между zabbix ангентом(Windows) и неким удалённым хостом, например 8.8.8.8 ...
          Не знаю как там у вас в винде, а в линукс мане fping написано
          Unlike ping, fping is meant to be used in scripts, so its output is designed to be easy to parse.
          Вам нужно просто прочесть справку к fping и подобрать правильные ключи, которые будут выводить то, что вам нужно ... может быть по вкусу обработать виндовым аналогом awk (вытащить подстроку).

          И не забудьте учесть timeout у fping, в конфиге агента и в конфиге сервера.

          Comment

          • solaris24
            Junior Member
            • Apr 2017
            • 3

            #6
            Все спасибо. Сделал вот так:

            UserParameter=fping_ip_address[*], fping /b /t 300 $1 | grep up | wc -l
            UserParameter=fping_ip_address_Average[*], fping /t 300 $1 | grep Average: | wc -l

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

            Comment

            Working...