2022 Zabbix中国峰会
2022 Zabbix中国峰会
Table of Contents

HTTP 模板操作

使用 HTTP agent方式收集度量数据的模板正确操作步骤如下:

1. 在Zabbix 中创建一个主机,指定监控目标的IP地址或DNS名称为主接口。这需要宏{HOST.CONN}在模板项中正确的解析。
2. 将模板 链接 到步骤1中创建的主机(如果模板在Zabbix安装中不可用,您可能需要首先导入模板的.xml文件 - 参见 开箱即用的模板 说明).
3. 根据需要调整必配宏的值。
4. 配置被监视的主机实例,以允许与Zabbix获取数据 - 请参阅 附加步骤/注释 列中的说明。

此页仅包含正确模板操作所需的最小宏的集和设置步骤。模板的详细描述,包括宏、监控项和触发器的完整列表,可以在模板的自述文件Readme.md文件(可通过单击模板名称进行访问)。

模板 必 宏 附加步骤 注释
Template App Apache by HTTP {$APACHE.STATUS.HOST} - Apache 状态页的主机名或IP地址 (默认: 127.0.0.1).  Apache 模块 m{$APACHE.STATUS.PATH} - URL 路径 (默认: server-status?auto).  检查可{$APACHE.STATUS.PORT} - Apache 状态页的端口号 (默认: 80).  httpd -M**{$APACHE.STATUS.SCHEME}** - 请求协议. 支持: http (默认), https.
|d\_status 需要被设置 (参见 Apache [文档](https://httpd.apache.org/docs/current/mod/mod_status.html) ).
性, 执行:
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} - Etcd API 端点的端口号 (默认: 2379).  度量数据被从AP{$ETCD.SCHEME} - 请求协议,支持: http (默认), https. 
{$ETCD.USER}, {$ETCD.PASSWORD} - 登录凭据, 仅当用于Etcd身份验证时才需要。 检验 Etcd 是否被配置允许本
端点的接口路径 /metrics 收集 ; 指定API端点的接口路径,请使用 --listen-metrics-urls 参数 (参见 Etcd 文档 ).
采集度量数据, 执行:
curl -L http://localhost:2379/metrics

检查 Etcd 可以被从 Zabbix proxy 或 Zabbix server 访问 执行:
curl -L http:%%//<etcd_node_adress>:2379/metrics%%

这个模板需要添加到每个 Etcd 的节点。
Template App Hadoop by HTTP {$HADOOP.CAPACITY_REMAINING.MIN.WARN} - Hadoop集群剩余容量百分比的触发器阈值 (默认:20).  度量数据是通过使用HTTP ag**{$HADOOP.NAMENODE.HOST}** - Hadoop NameNode 节点的主机IP 或 FQDN (默认: NameNode).
**{$HADOOP.NAMENODE.PORT}** - Hadoop NameNode 节点的 web-UI 端口号 (默认: 9870).
**{$HADOOP.NAMENODE.RESPONSE\_TIME.MAX.WARN}** - Hadoop NameNode 的 API页最大响应时间(以秒为单位)的触发器阈值 (默认: 10s).
**{$HADOOP.RESOURCEMANAGER.HOST}** - Hadoop ResourceManager 节点的 IP 地址或 FQDN (默认: ResourceManager).
**{$HADOOP.RESOURCEMANAGER.PORT}** - Hadoop ResourceManager 的 web-UI 端口号 (默认: 8088).
**{$HADOOP.RESOURCEMANAGER.RESPONSE\_TIME.MAX.WARN}** - Hadoop ResourceManager API 页最大响应时间(以秒为单位)的触发器阈值 (默认: 10s).|nt
JSONPath预处理方式远程轮询 Hadoop Api 来收集的。Zabbix服务器(或代理)执行对ResourceManager、NodeManager、NameNode、DataNodes API的直接请求。由于Zabbix批量收集数据,所有指标都可以一次性收集。
Template App HAProxy by HTTP {$HAPROXY.STATS.PATH} - HAProxy 状态页的路径 (默认: stats).  HAProxy{$HAPROXY.STATS.PORT} - HAProxy 状态页主机或容器的端口号 (默认: 8404).
{$HAPROXY.STATS.SCHEME} - 请求协议,支持: http (默认), https.
态页需要被设置 (参见 HAProxy 博客文档 或 模板的 Readme.md 配置样例).
Template App Nginx by HTTP {$NGINX.STUB_STATUS.HOST} - Nginx stub_status 主机或容器的主机名或IP地址 (默认: localhost).  'ngx_http_stu**{$NGINX.STUB\_STATUS.PATH}** - Nginx stub\_status 页的请求路径 (默认: basic\_status).\ 检查可用性, 执**{$NGINX.STUB\_STATUS.PORT}** - Nginx stub\_status 主机或容器的端口号 (默认: 80).\nginx -V 2{$NGINX.STUB_STATUS.SCHEME} - 请求协议,支持: http (默认), https. _status_module需要被设置 (参见 Nginx [文档](https://nginx.org/en/docs/http/ngx_http_stub_status_module.html) 或模板的 Readme.md 配置样例).
:
&1 \| grep -o with-http_stub_status_module
Template App PHP-FPM by HTTP {$PHP_FPM.HOST} - PHP-FPM 主机或容器的主机名或IP地址 (默认: localhost).  1. 编辑 php-fpm{$PHP_FPM.PING.PAGE} - PHP-FPM 状态页(ping页)URL路径(默认:ping).  pm.status**{$PHP\_FPM.PORT}** - PHP-FPM 主机或容器的端口号 (默认:80).\ping.path{$PHP_FPM.PROCESS_NAME} - PHP-FPM 进程 name (默认:php-fpm). 
{$PHP_FPM.SCHEME} - 请求协议,支持: http (默认), https.  2. 校验配置文件{$PHP_FPM.STATUS.PAGE} - PHP-FPM 状态页 (默认:status).
配置文件并启用状态页:
path = /status
/ping

$ php-fpm7 -t
3. 重载 php-fpm 服务.

4. 在 Nginx 服务配置文件的server 配置区域 , 添加 (参见模板的 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
Template App RabbitMQ cluster by HTTP {$RABBITMQ.API.CLUSTER_HOST} - RabbitMQ 集群 API 端点的主机名或IP地址 (默认: 127.0.0.1).  启用 RabbitMQ 管{$RABBITMQ.API.SCHEME} - 请求协议,支持: http (默认), https. 
{$RABBITMQ.API.USER}, {$RABBITMQ.API.PASSWORD} - RabbitMQ 登录凭据 (默认用户名: zbx_monitor, 密码: zabbix). 在 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} - ClickHouse HTTP 端点的端口号 (默认: 8123).  创建一个具有w**{$CLICKHOUSE.SCHEME}** - 请求协议,支持: http (默认), https.\
**{$CLICKHOUSE.USER}**, **{$CLICKHOUSE.PASSWORD}** - ClickHouse 登录凭据 (默认用户名: zabbix, 密码: zabbix\_pass).\ 参见模板的 *Rea如果不需要身份验证,请从监控项的
HTTP agent类型配置项的请求头中删除。|b配置文件和查看数据库权限的ClickHouse用户 (参见 ClickHouse 文档 ).
me.md* 文档中现成的一个zabbix.xml 文件配置。
Template Tel Asterisk by HTTP {$AMI.PORT} - 检测服务可用性的 AMI 端口号(默认: 8088).  1. 启用 [mini-{$AMI.SECRET} - Asterisk Manager 的 secret (默认: zabbix). 
{$AMI.URL} - Asterisk Manager 的 API URL 格式  2.<scheme>://<host>:<port>/<prefix>/rawman
(默认: http://asterisk:8088/asterisk/rawman).  3.{$AMI.USERNAME} - Asterisk Manager 用户名.
TTP Server](https://wiki.asterisk.org/wiki/display/AST/Asterisk+Builtin+mini-HTTP+Server).
添加选项 webenabled=yes 到配置文件 manager.confgeneral 部分.

在 Asterisk 实例中创建 Asterisk Manager 用户。
ZooKeeper by HTTP {$ZOOKEEPER.COMMAND_URL} - admin.commandURL; 用于相对于根URL列出和发出命令的URL (默认: commands).  通过对AdminServer的请{ZOOKEEPER.PORT} - admin.serverPort; 内置 Jetty服务的侦听端口号 (默认: 8080).
{$ZOOKEEPER.SCHEME} - 请求协议,支持: http (默认), https.
从每个ZooKeeper节点收集度量数据 (默认启用). 配置启用 AdminServer 参见 ZooKeeper 文档