Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

Работа с Zabbix агент шаблонами

Шаги для гарантии корректной работы шаблонов, которые собирают метрики через Zabbix агент:

1. Убедитесь, что Zabbix агент установлен на хосте. Для активных проверок также убедитесь, что хост добавлен в 'ServerActive' параметр файла конфигурации агента.
2. Присоедините шаблон к нужному узлу сети (если шаблон недоступен в вашей инсталляции Zabbix, вам может потребуется сначала импортировать файл .xml шаблона - смотрите инструкции в разделе Готовые шаблоны).
3. При необходимости измените значения обязательных макросов.
4. Настройте экземпляр для мониторинга так, чтобы обмен данными с Zabbix был разрешен - смотрите инструкции в колонке Дополнительные шаги / комментарии.

Эта страница содержит только минимальный набор макросов и шагов настройки, необходимых для правильной работы шаблона. Подробное описание шаблона, включая полный список макросов, элементов данных и триггеров, доступно в файле Readme.md шаблона (доступном при нажатии на имя шаблона).

Имя шаблона Обязательные макросы Дополнительные шаги / комментарии
Apache by Zabbix agent {$APACHE.STATUS.HOST} - имя хоста или IP адрес страницы состояния Apache (по умолчанию: 127.0.0.1)
{$APACHE.STATUS.PATH} - URL путь (по умолчанию: server-status?auto)
{$APACHE.STATUS.PORT} - порт страницы состояния Apache (по умолчанию: 80)
Необходимо настроить mod_status модуль Apache (смотрите документацию Apache для получения подробных сведений).
Чтобы проверить доступность, выполните:
httpd -M 2>/dev/null \| grep status_module

Пример конфигурации Apache:
<Location "/server-status">
SetHandler server-status
Require host example.com
</Location>
HAProxy by Zabbix agent {$HAPROXY.STATS.PATH} - путь к странице HAProxy Stats (по умолчанию: stats)
{$HAPROXY.STATS.PORT} - порт HAProxy Stats хоста или контейнера (по умолчанию: 8404)
{$HAPROXY.STATS.SCHEME} - схема HAProxy Stats страницы. Поддерживается: http (по умолчанию), https
Страница HAProxy Stats должна быть настроена (для получения более подробных сведений смотрите запись в блоге HAProxy или Readme.md шаблона как пример настройки).
IIS by Zabbix agent / IIS by Zabbix agent active {$IIS.PORT} - порт на котором слушает IIS Server (по умолчанию: 80)
{$IIS.SERVICE} - сервис для проверки порта (по умолчанию: http). Для получения более подробных сведений смотрите раздел с net.tcp.service.
Сервер должен иметь следующие роли:
Web Server
IIS Management Scripts and Tools

Для получения более подробных сведений смотрите IIS документацию.
Microsoft Exchange Server 2016 by Zabbix agent/Microsoft Exchange Server 2016 by Zabbix agent active Обратите внимание, этот шаблон не предоставляет информацию о состоянии Windows служб. Его рекомендуется использовать вместе с OS Windows by Zabbix agent или OS Windows by Zabbix agent active шаблонами.
Nginx by Zabbix agent {$NGINX.STUB_STATUS.HOST} - имя хоста или IP адрес NGINX stub_status хоста или контейнера (по умолчанию: localhost)
{$NGINX.STUB_STATUS.PATH} - путь к странице NGINX stub_status (по умолчанию: basic_status)
{$NGINX.STUB_STATUS.PORT} - порт NGINX stub_status хоста или контейнера (по умолчанию: 80)
Необходимо настроить ngx_http_stub_status_module (для получения более подробных сведений смотрите документацию по NGINX или Readme.md шаблона для примера настройки).
Для проверки доступности, выполните:
nginx -V 2>&1 \| grep -o with-http_stub_status_module
PHP-FPM by Zabbix agent {$PHP_FPM.HOST} - имя хоста или IP адрес состояния PHP-FPM хоста или контейнера (по умолчанию: localhost)
{$PHP_FPM.PING.PAGE} - PHP-FPM ping page path (default:ping)
{$PHP_FPM.PORT} - the port of PHP-FPM status host or container (default: 80)
{$PHP_FPM.PROCESS_NAME} - PHP-FPM process name (default:php-fpm)
{$PHP_FPM.STATUS.PAGE} - путь к PHP-FPM ping странице (по умолчанию:status)
1. Откройте файл конфигурации php-fpm и включите страницу состояния:
pm.status_path = /status
ping.path = /ping

2. Проверьте синтаксис: $ php-fpm7 -t

3. Перезагрузите сервис php-fpm.

4. В файле конфигурации в блоке сервера Nginx (виртуальный хост) добавьте (смотрите Readme.md шаблона для расширенного примера с комментариями):
location ~ ^/(status\|ping)$ {
access_log off;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}

5. Проверьте синтаксис: $ nginx -t

6. Перезагрузите Nginx

7. Проверьте: curl -L 127.0.0.1/status
RabbitMQ cluster by Zabbix agent {$RABBITMQ.API.CLUSTER_HOST} - имя хоста или IP адрес RabbitMQ кластера точки входа API (по умолчанию:127.0.0.1)
{$RABBITMQ.API.USER}, {$RABBITMQ.API.PASSWORD} - учетные данные входа в RabbitMQ (имя пользователя по умолчанию: zbx_monitor, пароль: zabbix)
Включите плагин управления RabbitMQ (смотрите RabbitMQ документацию).

Чтобы создать пользователя RabbitMQ с необходимыми правами для мониторинга, выполните:
'' rabbitmqctl add_user zbx_monitor <ПАРОЛЬ> ''
rabbitmqctl set_permissions -p / zbx_monitor %% "" "" ".*"%%
rabbitmqctl set_user_tags zbx_monitor monitoring

Если кластер состоит из нескольких нод, рекомендуется назначить шаблон кластера на отдельный хост балансировки. В случае одно нодовой инсталляции, шаблон кластера можно назначить на узел сети с шаблоном нод.
MySQL by Zabbix agent {$MYSQL.HOST} - имя хоста или IP адрес MySQL хоста или контейнера (по умолчанию: 127.0.0.1 (с 6.0.8)/localhost (до 6.0.8))
{$MYSQL.PORT} - порт сервиса базы данных (по умолчанию: 3306)
1. Если необходимо, добавьте путь к утилитам mysql и mysqladmin в глобальную переменную среды PATH.

2. Скопируйте template_db_mysql.conf файл с templates директории Zabbix в директории с конфигурацией Zabbix агента (по умолчанию /etc/zabbix/zabbix_agentd.d/) и перезапустите Zabbix агента.

3. Создайте MySQL пользователя zbx_monitor. Чтобы разрешить требуемые привилегии пользователю, выполните:
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON %% *.* TO '<имя_пользователя>'@'%';%%
(для получения более подробных сведений смотрите документацию к MYSQL).

4. Создайте .my.cnf в домашней директории Zabbix агента для Linux (по умолчанию /var/lib/zabbix) или my.cnf в c:\ для Windows. Этот файл должен содержать три строки:
[client]
''user='zbx_monitor' ''
''password='<пароль>' ''
PostgreSQL {$PG.DB} - имя базы данных для подключения к серверу (по умолчанию: postgres)
{$PG.HOST} - хост сервера базы данных или директория с сокетом (по умолчанию:127.0.0.1)
{$PG.PORT} - порт сервера базы данных (по умолчанию: 5432)
{$PG.USER} - имя пользователя базы данных (по умолчанию: zbx_monitor)
1. Создайте пользователя zbx_monitor с правами только чтения для доступа к PostgreSQL серверу. Для PostgreSQL 10 или новее, выполните:
CREATE USER zbx_monitor WITH PASSWORD '<ПАРОЛЬ>' INHERIT;
GRANT pg_monitor TO zbx_monitor;
Для более старых версий PostgreSQL выполните:
CREATE USER zbx_monitor WITH PASSWORD '<ПАРОЛЬ>';
GRANT SELECT ON pg_stat_database TO zbx_monitor;

2. Скопируйте postgresql/ в домашнюю директорию Zabbix агента (/var/lib/zabbix/).

3. Скопируйте template_db_postgresql.conf с templates директории Zabbix в директорию конфигурации Zabbix агента (/etc/zabbix/zabbix_agentd.d/) и перезапустите Zabbix агента.

4. Измените pg_hba.conf, чтобы разрешить подключения с Zabbix агента (для получения более подробных сведений смотрите документацию по PostgreSQL).
Примеры строк:
host all zbx_monitor 127.0.0.1/32 trust
host all zbx_monitor 0.0.0.0/0 md5
host all zbx_monitor ::0/0 md5

5. Для мониторинга удаленного сервера создайте .pgpassфайл в домашней директории Zabbix агента (/var/lib/zabbix/) и добавьте строки с информацией о экземпляре, порте, базе данных и пароле (для получения более подробной информации смотрите документацию по PostgreSQL).
Примеры строк:
<УДАЛЕННЫЙ_ХОСТ1>:5432:postgres:zbx_monitor:<ПАРОЛЬ>
*:5432:postgres:zbx_monitor:<ПАРОЛЬ>