监控项的主要项和相关项
获取一堆内容,需要进行二次加工,获取精确的数据
用 监控项-相关项目 获取主要项中的内容
以系统提供的 nginx 模板进行学习:Template App Nginx by Zabbix agent
前提:在 nginx 开启了 /nginx_status,在模板的宏中修改好 status 的访问地址

查看此模板的监控项,发现监控项名称是由两个颜色组成的,在前面的是主要项,在后面的是相关项

可以在监控项列表找到主要项的信息,事实上,他就是 zabbix 客户端模式,

这里使用了一段较为特殊的键值,web.page.get 是 Zabbix 用于监控 Web 资源的键值,它通过 HTTP GET 请求从指定的 URL 获取页面内容,并可以根据页面内容执行匹配或正则表达式等操作,主要项就是通过这种方式来获取第一阶段的信息,变量在模板的宏中已经给出
zabbix_get -s <agent_ip> -k "web.page.get[<host>,<path>,<port>]"


这些值会给相关项进行使用,相关项使用正则获取需要的值
随便找一个相关项,例如:Nginx: Connections accepted per second

在主要项中,引用了刚刚介绍的主要项
键值是随便填的,可以填一段能字面理解的信息

查看此相关项的预处理
参数:
server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)
\1:获取到第一个捕获组的内容

相关项在处理少量数据时较为合适,在处理大量数据,如日志文件时,使用客户端脚本的方式更好
比如,统计 nginx 每个状态码的数量