Приведу пример мониторинга PPS (Packets Per Second) на сетевых интерфейсах в Linux.
Для того чтобы посчитать количество передаваемых пакетов в секунду на сетевом интерфейсе, создадим два простых скрипта, первый для расчета передаваемых пакетов:
#!/bin/bash
TX1=`cat /sys/class/net/ens2f1/statistics/tx_packets`
sleep 1
TX2=`cat /sys/class/net/ens2f1/statistics/tx_packets`
TXPPS=`expr $TX2 - $TX1`
echo "$TXPPS"
И второй скрипт для подсчета получаемых пакетов в секунду:
#!/bin/bash
RX1=`cat /sys/class/net/ens2f1/statistics/rx_packets`
sleep 1
RX2=`cat /sys/class/net/ens2f1/statistics/rx_packets`
RXPPS=`expr $RX2 - $RX1`
echo "$RXPPS"
Скрипты можно разместить в директории с zabbix агентом, а в в файл конфигурации /etc/zabbix/zabbix_agentd.conf добавим:
UserParameter=tx_pps_ens2f1,/etc/zabbix/tx_pps_ens2f1.sh
UserParameter=rx_pps_ens2f1,/etc/zabbix/rx_pps_ens2f1.sh
Перезапустим zabbix агент чтобы применить изменения:
sudo service zabbix-agent restart
sudo /etc/init.d/zabbix-agent restart
Готово, теперь можно добавить в шаблоне или узле сети на zabbix сервере элементы данных с именами tx_pps_ens2f1 и rx_pps_ens2f1, «Тип элемента:» Zabbix агент, «Хранение значения:» Как есть.
Для них создадим графики и триггеры чтобы получить уведомления о больших значениях.
Подобные простые скрипты можно выполнять на других операционных системах и некоторых прошивках различных устройств, а результат выводить например в http или забирать по ssh и т.д.
Смотрите также мои статьи:
Примеры элементов данных для Zabbix
Скрипт просмотра PPS (Packets Per Second)