说明
本SOP用于说明在Zabbix中如何添加性能计数器,对应key为perf_counter。
为避免歧义,相关操作及网页均以英文版本为主。如需一一对应,请修改Zabbix用户设置语言为英文。
准备
- 在Zabbix中,右上角
Profile/Language修改为English(en_US),点击Update更新。 - 准备一台和目标监控机器相同配置的主机,用于进行测试,我们称作测试主机。
- 读者需要有Zabbix操作的基本知识。
流程
添加性能计数器需要以下步骤:
- 明确需要添加的计数器:WIndows中有数以千计的计数器,我们需要提前知道计数器在哪个类目下,解决这个问题的办法就是Google。网上的计数器位置不一定准确,仅供进行计数器位置的参考。
- 确定计数器地址:在Windows中定位具体的计数器;
- 测试计数器:即确认Zabbix可以采集到该计数器数据;
- 添加计数器项目:在Zabbix模板中添加该计数器;
- 验证测试:数据正常展示,表示添加成功。
因Zabbix中,添加计数器的目的为检测某一类对象状态,因此,只建议添加到模板中,不建议添加到主机中。
明确需要添加的计数器
- 明确我们具体监控什么对象,比如IIS、比如SQL等;
- 明确需要解决什么问题,比如性能问题、比如访问问题等;
- 结合上述问题的答案,我们结合搜索引擎,搜索
答案 性能计数器(中文或者英文,推荐后者),如iis连接数 性能计数器或iis connections perfmon; - 根据结果网页内容(推荐stack exchange相关网站结果)综合分析,确定具体要添加的计数器信息。
确定计数器地址
- 登录测试主机,打开
开始菜单/管理工具/性能监视器; - 点击左侧树状栏目中的
性能/监视工具/性能监视器,此时可以看到正在检测的计数器数据; - 在右侧图表上点击鼠标右键,选择
添加计数器(D); - 在弹出的
添加计数器窗口中,设置从计算机选择计数器为本地计算机; - 根据前一步骤明确的计数器大体位置,在下面的窗口中寻找,首先根据二级结构找到计数器,然后在
选定对象的实例中选择含有Total字样的对象; - 点击
添加按钮进行添加; - 一般建议,将所有需要添加的计数器都找到后,再点击
确定按钮; - 在图表上方的工具栏中,找到
复制属性按钮,复制属性并粘贴到文本工具中; - 搜索
Path关键字,提取其中的Value即可,比如我这里找到的第11个是<PARAM NAME="Counter00012.Path" VALUE="\Web Service Cache\Kernel: URI Cache Hits %"/>,其中的VALUE就是"\Web Service Cache\Kernel: URI Cache Hits %",这就是我们要找的内容; - 按照这种方式,提取所有计数器地址待用。
测试计数器
cd /usr/local/zabbixagent/bin
./zabbix_get -s x.x.x.x -k perf_counter["\Web Service Cache\Kernel: URI Cache Hits %"]
17.751073
# 这里表示采集正常。
./zabbix_get -s x.x.x.x -k perf_counter["\Web Service Cache\Kernel: URI Cache Hits %1"]
ZBX_NOTSUPPORTED
# 这里通常是没有该计数器,确认下计数器路径。
./zabbix_get -s x.x.x.x -k perf_counter[\Web Service Cache\Kernel: URI Cache Hits %]
-bash: syntax error near unexpected token `('
# 这里是没有加引号的原因,-k参数最好用单引号包起来,如下所示:
./zabbix_get -s x.x.x.x -k 'perf_counter[\Web Service Cache\Kernel: URI Cache Hits %]'
./zabbix_get -s x.x.x.x -k 'perf_counter["\Web Service(_Total)\Total Method Requests/sec"]'
添加计数器项目
- 建立模板,或者找到具体某个模板,我这里新建了
IIS模板并保存; - 点击模板
IIS中的Items链接,进入项目配置的界面; - 点击右上角的
Create Item按钮,创建新的项目; - 在项目界面中,设置
Name为Web Service Cache\Kernel: URI Cache Hits %(这里复制下Name的名称),选择Type为Zabbix agent(通常是默认选项),Key设置为perf_counter[],其中[]中填入我们在前一步找到的计数器地址"\Web Service Cache\Kernel: URI Cache Hits %",修改Applications为IIS,其他的可以保持默认,也可以根据自己的需求进行调整。 - 点击
Add按钮添加项目。 - 添加计数器项目后,会跳转至模板项目列表,检查添加成功即可。
验证
- 将该
IIS模板应用到某一台主机A:点击模板IIS的链接,进入基本信息界面,在Hosts / templates中加入该主机A; - 在右上角
Search中输入主机A的IP地址,并进行搜索; - 在搜索结果界面中,点击
Latest data,查看最新数据; - 在主机项目界面中,点击搜索栏中的
Name,粘贴计数器项目的名称,勾选Show items without data,随后点击Filter按钮进行过滤; - 通常Zabbix Server分发模板更新需要一段时间,我们稍等片刻就应该可以看到计数器项目的数据了。
- 具体数据采集成功,则表示验证通过。
注意
- 如果项目失效,建议先检查下步骤是否有误。如果无误则请开启Zabbix Agent的Debug模式查看具体通讯情况。









网友评论