Настройка шаблонов HTTP

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

1. Создайте хост в Zabbix и укажите IP-адрес или DNS-имя цели мониторинга в качестве основного интерфейса. Это необходимо для правильного разрешения макроса {HOST.CONN} в элементах шаблона.
2. Привяжите шаблон к узлу сети, созданному в предыдущем шаге (если шаблон недоступен в вашей установке Zabbix, вам может потребоваться сначала импортировать файл .xml шаблона - см. инструкции в разделе Готовые шаблоны).
3. При необходимости измените значения обязательных макросов.
4. Настройте объект для мониторинга так, чтобы разрешить обмен данными с Zabbix - см. инструкции в столбце Дополнительные шаги/комментарии.

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

Шаблон Обязательные макросы Дополнительные шаги/комментарии
Template App Apache by HTTP {$APACHE.STATUS.HOST} - имя хоста или IP-адрес страницы статуса Apache (по учолчанию: 127.0.0.1)
{$APACHE.STATUS.PATH} - путь URL (по умолчанию: server-status?auto)
{$APACHE.STATUS.PORT} - порт страницы статуса Apache (по умолчанию: 80)
{$APACHE.STATUS.SCHEME} - схема запроса. Поддерживается: http (по умолчанию), https
Должен быть установлен модуль 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 Elasticsearch Cluster by HTTP {$ELASTICSEARCH.PORT} - порт узла сети Elasticsearch (по умолчанию: 9200)
{$ELASTICSEARCH.SCHEME} - схема запроса. Поддерживаемые: http (по умолчанию), https
{$ELASTICSEARCH.USERNAME}, {$ELASTICSEARCH.PASSWORD} - учетные данные для входа, требуются, только если они используются для аутентификации Elasticsearch.
-
Template App Etcd by HTTP {$ETCD.PORT}- порт, используемый конечной точкой API Etcd (по умолчанию: 2379)
{$ETCD.SCHEME} - схема запроса. Поддерживается: http (по умолчанию), https
{$ETCD.USER}, {$ETCD.PASSWORD} - учетные данные для входа, обязательны только если используются для аутентификации Etcd
Метрики собираются из конечной точки /metrics; для указания местоположения конечной точки используйте опцию --listen-metrics-urls (см. подробнее в документации Etcd).

Чтобы проверить, настроен ли Etcd для разрешения сбора метрик, выполните:
curl -L http://localhost:2379/metrics

Чтобы проверить, доступен ли Etcd с прокси Zabbix или с сервера Zabbix, запустите:
curl -L http:%%//<etcd_node_adress>:2379/metrics%%

Шаблон должен быть добавлен к каждому узлу с Etcd.
Template App HAProxy by HTTP {$HAPROXY.STATS.PATH} - путь к странице HAProxy Stats (по умолчанию: stats)
{$HAPROXY.STATS.PORT} - порт узла сети или контейнера HAProxy Stats (по умолчанию: 8404)
{$HAPROXY.STATS.SCHEME} - схема запроса. Поддерживается: http (по умолчанию), https
страница HAProxy Stats должна быть настроена (см. подробнее о HAProxy Stats в блоге HAProxy; в Readme.md шаблона Zabbix есть готовый пример конфигурации).
Template App Nginx by HTTP {$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).
{$NGINX.STUB_STATUS.SCHEME} - схема запроса. Поддерживается: http (по умолчанию), https
'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 HTTP {$RABBITMQ.API.CLUSTER_HOST} - имя хоста или IP-адрес конечной точки API кластера RabbitMQ (по умолчанию: 127.0.0.1)
{$RABBITMQ.API.SCHEME} - схема запроса. Поддерживается: http (по умолчанию), https
{$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 ClickHouse by HTTP {$CLICKHOUSE.PORT} - порт конечной точки HTTP ClickHouse (по умолчанию: 8123)
{$CLICKHOUSE.SCHEME} - схема запроса. Поддерживается: http (по умолчанию), https
{$CLICKHOUSE.USER}, {$CLICKHOUSE.PASSWORD} - учетные данные ClickHouse (по умолчанию имя ползователя: zabbix, пароль: zabbix_pass).
Если вам не нужна аутентификация, удалите заголовки из элементов типа агента HTTP.
Создайте пользователя ClickHouse с "веб-профилем" и разрешением на просмотр баз данных (см. подробнее в документации ClickHouse).

См. файл шаблона Readme.md для готовой к использованию конфигурации файла zabbix.xml.