Zabbix — мониторинг очередей сообщений в Linux

Thank you for reading this post, don't forget to subscribe!

Посту­пи­ла зада­ча мони­то­рить оче­ре­ди сооб­ще­ний в Linux. Стан­дарт­ны­ми сред­ства­ми сде­лать мож­но толь­ко через system.run(), одна­ко, она по умол­ча­нию отклю­че­на и исполь­зо­вать её небез­опас­но. Будем делать с помо­щью поль­зо­ва­тель­ских переменных.

Нас инте­ре­су­ет послед­ний стол­бик, кото­рый выда­ёт команда:

ipcs -q

Тре­бу­ет­ся под­ни­мать пани­ку, если какая-либо оче­редь более 4. По сути, нуж­но выво­дить в заб­бикс мак­си­маль­ное зна­че­ние из всех очередей.

На сервере

На сер­ве­ре с zabbix-аген­том созда­ём пап­ку /etc/zabbix/scripts. В ней фай­лик ipsc.sh с пра­ва­ми на выполнение.

Встав­ля­ем код. В коде уби­ра­ем всё лиш­нее из коман­ды, пиха­ем в мас­сив, выби­ра­ем мак­си­маль­ное значение:

 

В пап­ке /etc/zabbix/zabbix_agentd.d созда­ём файл userparameter_ipcs.conf содержимым:

UserParameter=ipcs.q,/etc/zabbix/scripts/ipcs.sh
Убеж­да­ем­ся что в фай­ле /etc/zabbix/zabbix_agentd.conf есть рас­ко­мен­ти­ро­ван­ная строка:

Include=/etc/zabbix/zabbix_agentd.d/
Пере­за­пус­ка­ем сер­вис заб­бикс агента:

service zabbix-agent restart

В заббиксе

Пере­хо­дим к заб­бик­су. Созда­ём item.

Type: "Zabbix agent".

Key: ipcs.q - назва­ние клю­ча мы зада­ва­ли в фай­ле userparameter_ipcs.conf.

Type of information: Numeric (unsigned).

Наве­ши­ва­ем триггер.

 

Expression:

{ваш_шаблон:ipcs.q.last()}>4

Теперь мы полу­чим уве­дом­ле­ние, если мак­си­маль­ная оче­редь сооб­ще­ний пре­вы­сит 4.