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.STATUS.PATH} - URL 路径 (默认: server-status?auto). {$APACHE.STATUS.PORT} - Apache 状态页的端口号 (默认: 80). {$APACHE.STATUS.SCHEME} - 请求协议. 支持: http (默认), https. | Apache 模块 modstatus 需要被设置 (参见 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} - Etcd API 端点的端口号 (默认: 2379). {$ETCD.SCHEME} - 请求协议,支持: http (默认), https. {$ETCD.USER}, {$ETCD.PASSWORD} - 登录凭据, 仅当用于Etcd身份验证时才需要。 | 度量数据被从API端点的接口路径 /metrics 收集 ; 指定API端点的接口路径,请使用 —listen-metrics-urls 参数 (参见 Etcd 文档 ).检验 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). {$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). | 度量数据是通过使用HTTP agent 和JSONPath 预处理方式远程轮询 Hadoop Api 来收集的。Zabbix服务器(或代理)执行对ResourceManager、NodeManager、NameNode、DataNodes API的直接请求。由于Zabbix批量收集数据,所有指标都可以一次性收集。 | |
Template App HAProxy by HTTP | {$HAPROXY.STATS.PATH} - HAProxy 状态页的路径 (默认: stats). {$HAPROXY.STATS.PORT} - HAProxy 状态页主机或容器的端口号 (默认: 8404). {$HAPROXY.STATS.SCHEME} - 请求协议,支持: http (默认), https. | HAProxy 状态页需要被设置 (参见 HAProxy 博客文档 或 模板的 Readme.md 配置样例). | |
Template App Nginx by HTTP | {$NGINX.STUB_STATUS.HOST} - Nginx stub_status 主机或容器的主机名或IP地址 (默认: 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 配置样例).检查可用性, 执行: nginx -V 2>&1 | grep -o with-http_stub_status_module | |
Template App PHP-FPM by HTTP | {$PHP_FPM.HOST} - PHP-FPM 主机或容器的主机名或IP地址 (默认: localhost ).{$PHP_FPM.PING.PAGE} - PHP-FPM 状态页(ping页)URL路径(默认: ping ).{$PHP_FPM.PORT} - PHP-FPM 主机或容器的端口号 (默认: 80 ).{$PHP_FPM.PROCESS_NAME} - PHP-FPM 进程 name (默认: php-fpm ).{$PHP_FPM.SCHEME} - 请求协议,支持: http (默认), https. {$PHP_FPM.STATUS.PAGE} - PHP-FPM 状态页 (默认: status ). | 1. 编辑 php-fpm 配置文件并启用状态页:pm.status_path = /status ping.path = /ping 2. 校验配置文件: $ 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.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} - ClickHouse HTTP 端点的端口号 (默认: 8123). {$CLICKHOUSE.SCHEME} - 请求协议,支持: http (默认), https. {$CLICKHOUSE.USER}, {$CLICKHOUSE.PASSWORD} - ClickHouse 登录凭据 (默认用户名: zabbix, 密码: zabbix_pass). 如果不需要身份验证,请从监控项的 HTTP agent 类型配置项的请求头中删除。 | 创建一个具有web 配置文件和查看数据库权限的ClickHouse用户 (参见 ClickHouse 文档 ).参见模板的 Readme.md 文档中现成的一个 zabbix.xml 文件配置。 | |
Template Tel Asterisk by HTTP | {$AMI.PORT} - 检测服务可用性的 AMI 端口号(默认: 8088). {$AMI.SECRET} - Asterisk Manager 的 secret (默认: zabbix).{$AMI.URL} - Asterisk Manager 的 API URL 格式 <scheme>://<host>:<port>/<prefix>/rawman (默认: http://asterisk:8088/asterisk/rawman). {$AMI.USERNAME} - Asterisk Manager 用户名. | 1. 启用 mini-HTTP Server. 2. 添加选项 webenabled=yes 到配置文件 manager.conf 的general 部分.3. 在 Asterisk 实例中创建 Asterisk Manager 用户。 | |
ZooKeeper by HTTP | {$ZOOKEEPER.COMMANDURL} - admin.commandURL; 用于相对于根URL列出和发出命令的URL (默认: commands). {ZOOKEEPER.PORT} - admin.serverPort; 内置 Jetty服务的侦听端口号 (默认: 8080). {$ZOOKEEPER.SCHEME} - 请求协议,支持: http (默认), https. | 通过对AdminServer的请求从每个ZooKeeper节点收集度量数据 (默认启用). 配置启用 AdminServer 参见 ZooKeeper 文档 |