Мониторинг текущих RX и TX буферов сетевых интерфейсов в Zabbix

Однажды после перезапуска Ubuntu сервера, из-за долгого запуска большого количества сетевых интерфейсов, мой скрипт который увеличивал значения буферов, а также выполнял другие настройки, выполнился раньше времени, соответственно изменения не применились и об этой проблеме я узнал только через сутки, поэтому я решил мониторить текущие значения RX и TX буферов.

Допустим, если выполнить команду:

ethtool -g ens2f1

Мы увидим:

Ring parameters for ens2f1:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096

Получается нам нужны 8 и 11 строки, а также нужно удалить ненужные символы, чтобы получить только числа, подумав несколько минут я придумал такое:

ethtool -g ens2f1 | awk '(NR == 8)' | sed -r 's/^.{5}//'
ethtool -g ens2f1 | awk '(NR == 11)' | sed -r 's/^.{5}//'

Первая команда отображает текущее значение RX буфера, а вторая TX.
Соответственно в конфгурации Zabbix агента я их указал так:

UserParameter=current_ens2f1_rx_buffer,ethtool -g ens2f1 | awk '(NR == 8)' | sed -r 's/^.{5}//'
UserParameter=current_ens2f1_tx_buffer,ethtool -g ens2f1 | awk '(NR == 11)' | sed -r 's/^.{5}//'

На Zabbix сервере в своем шаблоне я добавил Zabbix элементы данных с ключами current_ens2f1_rx_buffer и current_ens2f1_tx_buffer, а также создал триггеры, например с выражением:

{MyTemplate:current_ens1f0_tx_buffer.last(0)}<>4096

Соответственно триггер сработает когда значение не будет равно 4096.

Смотрите также мою статью:
Изменение TX и RX буферов сетевых интерфейсов в Linux

Did my article help you? How about buying me a cup of coffee as an encouragement? Buy me a coffe.

Оставьте комментарий

Добавить комментарий