Найти тему

Отслеживание узлов при помощи icmp в Zabbix

Zabbix может отслеживать состояние узлов при помощи Zabbix-agent, SNMP, JMX и IPMI. Но что делать, если ничего из вышеперечисленного установить на интересующий нас узел нельзя, а отслеживать доступность узла нужно?

Для отслеживания доступности узла при помощи icmp нужно написать bash скрипт для проверки доступности узла при помощи команды ping, а затем добавить результат его работы в качестве параметра в Zabbix агент. Скрипт желательно добавлять в агент на тот же сервер где находится Zabbix.

Скрипт выглядит следующим образом:

#!/bin/bash
if [ -z "$1" ]; then
echo "Missing ip"
exit
fi

if ping -c 3 $1 &> /dev/null
then
echo "up"
else
echo "down"
fi

Положим данный скрипт в папку /etc/zabbix и дадим ему имя pingcheck.sh. Изменим его владельца на www-data и сделаем его исполняемым:

chown www-data:www-data pingcheck.sh

chmod +x pingcheck.sh

Далее отредактируем файл /etc/zabbix/zabbix_agentd.conf, добавя туда следующую строку:

UserParameter=dns-google.icmp,/etc/zabbix/pingcheck.sh 8.8.8.8

UserParametr - обозначения добавления пользовательского параметра

dns-google.icmp - Название нового параметра

/etc/zabbix/pingcheck.sh - путь к скрипту

8.8.8.8 - адрес отслеживаемого узла

Для каждого отслеживаемого нами узла необходимо будет добавлять аналогичную строку. Например, для отслеживания доступности DNS Яндекса нужно будет добавить следующее:

UserParameter=dns-yandex.icmp,/etc/zabbix/pingcheck.sh 77.88.8.88

После добавления всех нужных узлов необходимо перезапустить zabbix-agent:

sudo systemctl restart zabbix-agent

Далее необходимо зайти на веб интерфейс zabbix и создать новый шаблон. Для этого необходимо зайти в веб интерфейс zabbix, далее Настройка-Шаблоны-Создать шаблон. Наиболее целесообразно добавить шаблон в группу Zabbix-Servers.

После добавления шаблона необходимо добавить в него элемент данных.

-2

Тип-Zabbix-agent; Ключ - то, что ранее было указано в строке после = и до запятой; Тип информации-текст.

Далее необходимо создать триггер и добавить туда выражение и выражение восстановления. Создание триггера выглядит следующим образом:

-3

Создание выражения и выражение восстановления выглядит так:

-4

После чего можно добавлять выведение элементов данных на панель:

-5