Шаги для обеспечения правильной работы шаблонов, которые собирают метрики с помощью Zabbix агент:
1. Убедитесь, что на узле сети установлен агент Zabbix. Для активных проверок также убедитесь, что узел сети добавлен в параметр ServerActive файла конфигурации агента.
2. Привяжите шаблон к целевому узлу сети (если шаблон недоступен в вашей установке Zabbix, вам может потребоваться сначала импортировать файл .xml шаблона - см. инструкции в разделе Готовые шаблоны).
3. При необходимости измените значения обязательных макросов.
4. Настройте объект для мониторинга так, чтобы разрешить обмен данными с Zabbix - см. инструкции в столбце Дополнительные шаги/комментарии.
Эта страница содержит только минимальный набор макросов и шагов настройки, необходимых для правильной работы шаблона. Подробное описание шаблона, включая полный список макросов, элементов и триггеров, доступно в файле Readme.md шаблона (доступном при нажатии на имя шаблона).
Шаблон | Обязательные макросы | Дополнительные шаги/комментарии |
---|---|---|
Template App 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) |
Должен быть установлен модуль Apache mod_status (см. подробнее в документации Apache). Чтобы проверить доступность, выполните: httpd -M 2>/dev/null \| grep status_module Пример конфигурации Apache: <Location "/server-status"> SetHandler server-status Require host example.com </Location> |
Template App 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 Stats в блоге HAProxy; в Readme.md шаблона Zabbix есть готовый пример конфигурации). |
Template App IIS by Zabbix agent / Template App IIS by Zabbix agent active | {$IIS.PORT} - порт, который IIS Server прослушивает (по умолчанию: 80) {$IIS.SERVICE} - сервис проверки порта (по умолчанию: http). См. подробнее в разделе net.tcp.service. |
Сервер должен иметь следующие роли: Web Server IIS Management Scripts and Tools См. подробнее в документации IIS. |
Template App 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 шаблона Zabbix есть готовый пример конфигурации).Чтобы проверить доступность, выполните: nginx -V 2>&1 \| grep -o with-http_stub_status_module |
Template App RabbitMQ cluster by Zabbix agent | {$RABBITMQ.API.CLUSTER_HOST} - имя узла сети или IP-адрес конечной точки API кластера RabbitMQ (по умолчанию: 127.0.0.1 ){$RABBITMQ.API.USER}, {$RABBITMQ.API.PASSWORD} - учетные данные для входа в RabbitMQ (по умолчанию имя пользователя: zbx_monitor, пароль: zabbix) |
Включить плагин управления RabbitMQ (см. документацию RabbitMQ). Чтобы создать пользователя RabbitMQ с необходимыми разрешениями для мониторинга, запустите: rabbitmqctl add_user zbx_monitor <PASSWORD> rabbitmqctl set_permissions -p / zbx_monitor %% "" "" ".*"%% rabbitmqctl set_user_tags zbx_monitor monitoring Если кластер состоит из нескольких узлов, рекомендуется назначить шаблон мониторинга кластера отдельному балансирующему узлу сети. В случае мониторинга кластера с одним узлом, шаблон кластера можно назначить узлу сети с шаблоном узла. |
Template DB MySQL | {$MYSQL.HOST} - имя узла сети или IP-адрес узла сети или контейнера MySQL (по умолчанию: localhost) {$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 '<username>'@'%';%% (см. подробнее в документации MySQL). 4. Создайте .my.cnf в домашнем каталоге Zabbix агента для Linux (/var/lib/zabbix по умолчанию) или my.cnf в c:\ для Windows. В файле должно быть три строки:[client] ''user='zbx_monitor' '' ''password='<password>' '' |
Template DB 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 '<PASSWORD>' INHERIT; GRANT pg_monitor TO zbx_monitor; Для более старых версий PostgreSQL, выполните: CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>'; GRANT SELECT ON pg_stat_database TO zbx_monitor; 2. Скопируйте postgresql/ в домашний каталог Zabbix агента (/var/lib/zabbix/).3. Скопируйте template_db_postgresql.conf из папки в Zabbix templates в папку конфигурации 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).Примеры строк: <REMOTE_HOST1>:5432:postgres:zbx_monitor:<PASSWORD> *:5432:postgres:zbx_monitor:<PASSWORD> |