使用HTTP agent方式收集模板指标数据的正确操作步骤:
1. 在Zabbix 中创建一个主机,指定监控目标的IP地址或DNS名称为主接口。这需要宏{HOST.CONN}在模板项中正确的解析。
2. 将模板 链接 到步骤1中创建的主机(如果模板在Zabbix安装中不可用,您可能需要首先导入模板的.xml
文件 - 参见 开箱即用的模板 说明).
3. 根据需要调整必配宏的值。
4. 配置被监视的主机实例,以允许与Zabbix共享数据 - 请参阅 附加步骤/注释 列3中的说明。
此页仅包含正确模板操作所需的最小宏的集和设置步骤。在模板的Readme.md
文件中(可通过单击模板名称进行访问),可查看模板的详细描述,包括宏、监控项和触发器的完整列表。
模板 | 必配宏 | 附加步骤/注释 |
---|---|---|
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模块 mod_status 需要设置 (详情参见Apache 文档). 可用性检查, 执行: httpd -M 2>/dev/null \| grep status_module Apache 配置样例: <Location "/server-status"> SetHandler server-status Require host example.com </Location> |
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} - the Asterisk Manager用户名. |
1. 启用 mini-HTTP Server. 2. 添加选项 webenabled=yes 到配置文件 manager.conf.3. 在Asterisk实例中创建 Asterisk Manager 用户. |
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的文件配置. |
Cloudflare by HTTP | {$CLOUDFLARE.API.TOKEN} - Cloudflare API token (默认: `<change>`). {$CLOUDFLARE.ZONE_ID} - Cloudflare站点Zone ID (默认: `<change>`). |
在Cloudflare账户下我的个人资料→ API Tokens中获取Cloudflare API Tokens. 在Cloudflare账户下账户主页→ 站点中获取Zone ID. |
DELL PowerEdge R720 by HTTP, DELL PowerEdge R740 by HTTP, DELL PowerEdge R820 by HTTP, DELL PowerEdge R840 by HTTP |
{$API.URL} - Dell iDRAC Redfish API URL格式 <scheme>://<host>:<port> (默认: <输入您的URL地址>){$API.USER}, {$API.PASSWORD} - Dell iDRAC 登陆凭证 (默认: 不设置). |
Dell服务器上的iDRAC接口: 1. 启用Redfish API . 2. 创建一个用户监控用户,赋予只读权限. |
Elasticsearch Cluster by HTTP | {$ELASTICSEARCH.PORT} - Elasticsearch 主机的端口号 (默认: 9200). {$ELASTICSEARCH.SCHEME} - 请求协议. 支持: http (默认), https. {$ELASTICSEARCH.USERNAME}, {$ELASTICSEARCH.PASSWORD} - 登陆凭证, 仅当用于Elasticsearch身份验证时才需要. |
|
Etcd by HTTP | {$ETCD.PORT}- Etcd API 端点的端口号 (默认: 2379). {$ETCD.SCHEME} - 请求协议. 支持: http (默认), https. {$ETCD.USER}, {$ETCD.PASSWORD} - 登陆凭证, 仅当用于Etcd身份验证时才需要. |
端点的接口路径/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 的节点都需要链接这个模板. |
GitLab by HTTP | {$GITLAB.PORT} - GitLab Web端点的端口号 (默认: 80) {$GITLAB.URL} - GitLab 实例URL (默认: localhost) |
该模板只适用与本地 GitLab 实例; 指标采集路径为 /metrics .需要设置客户IP白名单,才能访问指标(详情参见 GitLab 文档). 请注意,某些指标可能不适用于特定的GitLab实例版本和配置. |
Hadoop by HTTP | {$HADOOP.NAMENODE.HOST} - Hadoop NameNode 节点的主机IP 或 FQDN (默认: NameNode). {$HADOOP.NAMENODE.PORT} - Hadoop NameNode 节点的 web-UI 端口号 (默认: 9870). {$HADOOP.RESOURCEMANAGER.HOST} - Hadoop ResourceManager 节点的 IP 地址或 FQDN (默认: ResourceManager). {$HADOOP.RESOURCEMANAGER.PORT} - Hadoop ResourceManager 的 web-UI 端口号 (默认: 8088). |
采用HTTP agent和JSONPath预处理方式远程轮询 Hadoop API 来收集指标数据。Zabbix服务器(或代理)完成对ResourceManager、NodeManager、NameNode、DataNodes API的直接请求处理. |
HAProxy by HTTP | {$HAPROXY.STATS.PATH} - HAProxy 状态页的路径 (默认: stats). {$HAPROXY.STATS.PORT} - HAProxy 状态页主机或容器的端口号 (默认: 8404). {$HAPROXY.STATS.SCHEME} - 请求协议. 支持: http (默认), https. |
需设置HAProxy 状态页 (详情参见HAProxy 博客文档 或 模板的 Readme.md 配置样例). |
HashiCorp Vault by HTTP | {$VAULT.API.PORT} - Vault API请求的监听端口(默认: 8200). {$VAULT.API.SCHEME} - Vault API请求的协议. 支持: http (默认), https. {$VAULT.HOST} - Vault主机名 (默认: <填写您的Vaultu主机名>). {$VAULT.TOKEN} - Vault 认证令牌 (默认: <填写您的TOKEN>). |
1. 配置 Vault API (详情参见 官方文档). 2. 创建 Vault 服务的token, 并将其赋值于宏{$VAULT.TOKEN}. |
Hikvision camera by HTTP | {$HIKVISION_ISAPI_PORT} - 设备上的 ISAPI 端口 (默认: 80). {$USER}, {$PASSWORD} - camera 登陆凭证 (默认 用户: admin, 密码: 1234). |
|
InfluxDB by HTTP | {$INFLUXDB.API.TOKEN} - InfluxDB API 授权token (默认: ``). {$INFLUXDB.URL} - InfluxDB 实例 URL 格式 <scheme>://<host>:<port> (默认: http://localhost:8086). |
此模板从本地InfluxDB实例/metrics路径中采集InfluxDB服务指标. 详情参见 InfluxDB 文档. |
Jenkins by HTTP | {$JENKINS.API.KEY} - 访问Metrics Servlet的API 秘钥; 采集通用指标时必须配置 (默认: ``). {$JENKINS.API.TOKEN} - 用于HTTP BASIC 授权的API token; 监控执行节点和构建过程所需 (默认: ``). {$JENKINS.URL} - Jenkins URL 格式 <scheme>://<host>:<port> ; 监控执行节点和构建过程所需 (默认: ``).{$JENKINS.USER} - HTTP BASIC 授权用户; 监控执行节点和构建过程所需 (默认: zabbix). |
通过请求 Metrics API 采集指标. 通用指标: 安装配置 Metrics 插件, 配置参数参考 官方文档. 发行一个API秘钥用于接入Metrics Servlet,并将其赋值于宏{$JENKINS.API.KEY}. 监控执行节点和构建过程所需: 创建一个API token用于Jenkins监控用户,并将其赋值于宏 {$JENKINS.API.TOKEN}. 详情参见Jenkins 文档. |
Kubernetes API server by HTTP | {$KUBE.API.SERVER.URL} - 实例URL (默认: http://localhost:8086/metrics). {$KUBE.API.TOKEN} - API 授权token (默认: ``). |
模板要求 Kubernetes 集群中必须安装 Zabbix Helm Chart. 内部指标将从/metrics中采集. 使用Bearer API token授权方式. 详情参见 Kubernetes 文档. |
Kubernetes Controller manager by HTTP | {$KUBE.CONTROLLER.SERVER.URL} - 实例 URL (默认: http://localhost:10252/metrics). {$KUBE.CONTROLLER.TOKEN} - API authorization token (默认: ``). |
模板要求 Kubernetes 集群中必须安装 Zabbix Helm Chart . 内部指标将从/metrics中采集. 使用Bearer API token授权方式. 详情参见 Kubernetes 文档. |
Kubernetes kubelet by HTTP | {$KUBE.KUBELET.URL} - instance URL (默认: https://localhost:10250). {$KUBE.API.TOKEN} - API 授权token (默认: ``). |
模板要求 Kubernetes 集群中必须安装 Zabbix Helm Chart. 内部指标将从/metrics中采集. 使用Bearer API token授权方式. 详情参见Kubernetes 文档. |
Kubernetes nodes by HTTP | {$KUBE.API.ENDPOINT} - Kubernetes API 访问地址格式 <scheme>://<host>:<port>/api (默认: 不设置). {$KUBE.API.TOKEN} - API 授权token (默认: ``). |
模板要求 Kubernetes 集群中必须安装 Zabbix Helm Chart. 生成服务账户token, 执行: kubectl get secret zabbix-service-account -n zabbix -o jsonpath={.data.token} | base64 -d 详情参见Kubernetes 文档. 模板中包含有一些额外的宏,可用于过滤被发现的工作节点的某些指标. |
Kubernetes Scheduler by HTTP | {$KUBE.SCHEDULER.SERVER.URL} - 实例 URL (默认: http://localhost:10251/metrics). {$KUBE.SCHEDULER.TOKEN} - Scheduler API 授权token (默认: ``). |
模板要求 Kubernetes 集群中必须安装 Zabbix Helm Chart. 内部指标将从/metrics中采集. 使用Bearer API token授权方式. 详情参见Kubernetes 文档. |
Kubernetes cluster state by HTTP | {$KUBE.API.HOST} - Kubernetes API 服务器(默认: 不设置). {$KUBE.API.PORT}- Kubernetes API 端口(默认:6443). {$KUBE.API.TOKEN} - API 授权token (默认: ``). |
模板要求 Kubernetes 集群中必须安装 Zabbix Helm Chart. 内部服务指标将从kube-state-metrics端点中采集. 使用Bearer API token授权方式. 详情参见Kubernetes 文档. 模板中包含有一些额外的宏,可用于过滤被发现的工作节点的某些指标. |
Microsoft SharePoint by HTTP | {$SHAREPOINT.URL} - 门户页面URL, 例如 http://sharepoint.companyname.local/ (默认: ``). {$SHAREPOINT.ROOT} - 根目录; 只监控根目录及其所有子文件夹(默认: /Shared Documents) {$SHAREPOINT.USER}, {$SHAREPOINT.PASSWORD} - SharePoint 登陆凭证 (默认: 不设置). |
模板中包含有一些额外的宏,可用于在LLD中过滤掉某些字典和类型(可用于过滤的宏的说明请参见模板的 Readme.md). |
NetApp AFF A700 by HTTP | {$URL} - AFF700 集群 URL 地址(默认: ' ' ) {$USERNAME}, {PASSWORD} - AFF700 登陆凭证 (默认: 不设置). |
创建 AFF A700主机,Zabbix客户端接口配置集群管理IP. |
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 |
NGINX Plus by HTTP | {$NGINX.API.ENDPOINT} - NGINX Plus API URL 访问格式 <scheme>://<host>:<port>/<location>/ (默认: ' '). |
1. 启用 NGINX Plus API (详情参见 NGINX 文档). 2. 设置宏 {$NGINX.API.ENDPOINT} 3. 如果需要, 使用其他模板的宏过滤自动发现操作,仅需配置 zones 和 upstreams. |
OpenWeatherMap by HTTP | {$OPENWEATHERMAP.API.ENDPOINT} - OpenWeatherMap API endpoint (默认: api.openweathermap.org/data/2.5/weather?). {$OPENWEATHERMAP.API.TOKEN} - OpenWeatherMap API key (默认:' ') {$LOCATION} - 要检索其指标的位置 (默认: Riga) |
有关获取 API 密钥的说明,参考 OpenWeatherMap 文档。 {$LOCATION} 宏支持如下格式: geocoordinates - 例如, 56.95,24.0833 location name - 例如, Chicago OpenWeatherMap location ID - 下载 ID 列表 zip/postal code with a country code - 例如, 94040,us 使用 | 分隔符来指定多个 location。 例如: 43.81821,7.76115|Riga|2643743|94040,us |
PHP-FPM by HTTP | {$PHP_FPM.HOST} - PHP-FPM 主机或容器的主机名或IP地址 (默认: localhost). {$PHP_FPM.PING.PAGE} - PHP-FPM ping页面访问路径 (默认:ping). {$PHP_FPM.PORT} - PHP-FPM 主机或容器的端口号 (默认: 80). {$PHP_FPM.PROCESS_NAME} - PHP-FPM 进程名 (默认: php-fpm). {$PHP_FPM.SCHEME} - 请求协议. 支持: http (默认), https. {$PHP_FPM.STATUS.PAGE} - PHP-FPM 状态页面访问路径 (默认: status ). |
1. 打开配置文件并启用状态页: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 |
Proxmox VE by HTTP | {$PVE.TOKEN.ID} - API token 允许对 REST API 的大多数部分进行无状态访问 (默认: 未设置)。 {$PVE.TOKEN.SECRET} - secret key (默认: 未设置). {$PVE.URL.PORT} - 服务器侦听的端口 (默认: 8006)。 |
创建一个单独的用户进行监控,然后为此用户生成 API token。 向 token 和用户授予以下访问级别: Check: ["perm","/",["Sys.Audit"]] Check: ["perm","/nodes/{node}",["Sys.Audit"]] Check: ["perm","/vms/{vmid}",["VM.Audit"]] |
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 单节点安装时,可将集群模板分配给已安装节点模板的主机。如果群集由多个节点组成,建议将群集模板分配给一个单独的负载主机使用. |
TiDB by HTTP | {$TIDB.PORT} - TiDB 服务器指标信息web端点的端口 (默认: 10080) {$TIDB.URL} - TiDB 服务器 UR (默认: localhost). |
模板适用于PingCAP TiDB 集群的TiDB服务器. 内部指标将从TiDB /metrics和TiDB监控API中采集. |
TiDB PD by HTTP | {$TIDB.PORT} - TiDB 服务器指标信息web端点的端口 (默认: 2379) {$TIDB.URL} - TiDB 服务器 URL (默认: localhost). |
模板适用于PingCAP TiDB 集群的PD服务器. 内部指标将从PD /metrics和TiDB监控API中采集. |
TiDB TiKV by HTTP | {$TIDB.PORT} - TiDB 服务器指标信息web端点的端口 (默认: 20180) {$TIDB.URL} - TiDB 服务器 UR (默认: localhost). |
模板适用于PingCAP TiDB 集群的TiKV服务器. 内部指标将从TiKV /metrics中采集. |
Travis CI by HTTP | {$TRAVIS.API.TOKEN} - Travis API Token (默认: 不设置) {$TRAVIS.API.URL} - Travis API URL (默认: api.travis-ci.com). |
可在 用于→ 设置→ API 授权 查找Travis API token. {$TRAVIS.API.URL} 私有项目格式为 api.travis-ci.com. {$TRAVIS.API.URL} 企业项目格式为 api.example.com (将example.com替换成Travis CI所在的域名). |
VMWare SD-WAN VeloCloud by HTTP | {$VELOCLOUD.TOKEN} - VMware SD-WAN Orchestrator API Token (默认: ``). {$VELOCLOUD.URL} - VMware SD-WAN Orchestrator URL, 例如, velocloud.net (默认: ``). |
必须在VMware SD-WAN Orchestrator中创建API token (详情参见VMware 文档). |
ZooKeeper by HTTP | {$ZOOKEEPER.COMMAND_URL} - admin.commandURL; 相对根URL,该URL用于列出和发出命令 (默认: commands). {ZOOKEEPER.PORT} - admin.serverPort; 内置 Jetty服务的侦听端口号 (默认: 8080). {$ZOOKEEPER.SCHEME} - 请求协议. 支持: http (默认), https. |
通过对AdminServer发出请求,可从每个Zookeep节点采集指标(默认启用). 启用或配置 AdminServer 参见 ZooKeeper 文档. |