Расширение возможностей агентов Zabbix

В этом руководстве приведены пошаговые инструкции по расширению функциональности агента Zabbix с помощью пользовательского параметра.

Шаг 1

Напишите скрипт или команду для получения требуемого параметра.

Например, можно написать следующую команду, чтобы получить общее количество запросов, выполненных сервером MySQL:

mysqladmin -uroot status | cut -f4 -d":" | cut -f1 -d"S"

При выполнении команда возвращает общее количество SQL-запросов.

Шаг 2

Добавьте команду в файл конфигурации агента Zabbix (zabbix_agentd.conf):

UserParameter=mysql.questions,mysqladmin -uroot status | cut -f4 -d":" | cut -f1 -d"S"

mysql.questions — это уникальный идентификатор. Он может быть любым допустимым идентификатором ключа, например queries.

Проверьте этот параметр с помощью агента Zabbix, используя флаг -t (однако при запуске от имени пользователя root обратите внимание, что у агента могут быть другие разрешения при запуске в качестве демона):

zabbix_agentd -t mysql.questions
Шаг 3

Перезагрузите пользовательские параметры из файла конфигурации, выполнив:

zabbix_agentd -R userparameter_reload

Вместо команды управления во время работы можно также перезапустить агент.

Проверьте параметр с помощью утилиты zabbix_get.

Шаг 4

Добавьте новый элемент данных с Key=mysql.questions к контролируемому узлу сети. Тип элемента данных должен быть либо Zabbix Agent, либо Zabbix Agent (active).

Имейте в виду, что тип возвращаемых значений должен быть правильно задан на сервере Zabbix. В противном случае Zabbix не примет их.