玩Cacti久了以后,越来越觉得Cacti的报警功能比较弱。最近开始玩Zabbix,觉得各项功能都很强大,就是画出来的图实在是丑了点。。。。。。

    言归正传,安装好zabbix后各种得瑟,设置好模板后一下午就把以前cacti的监控对象全搞定了。可是吧,这个时候想起角落里有两台Windows2008还在跑业务,没办法啊,也得监控起来啊。(我本人一直讨厌用windows做服务器)当做到监控MySQL的时候,傻了。所有的items状态全部都是not support。google上找了半天也没什么头绪,最后还是在zabbix的论坛里,一个老外给出了一个解决办法。

    要想在Windows上取得MySQL的状态数据,可以用vbs脚本运行mysql命令,

    第一步,脚本下载:http://down.51cto.com/data/2190508下载好后,放到一个文件夹中,比如d:\Zabbix\Scripts

    第二步,修改windows上的zabbix_agentd.comf文件,设置key值。在UserParameter下面加两句;

UserParameter=mysql.status[*], cscript /nologo d:\Zabbix\Scripts\MySQL_Ext-Status_Script.vbs $1 
UserParameter=mysql.ping, cscript /nologo d:\Zabbix\Scripts\MySql_Ping.vbs

    第三步,重启zabbix_agentd。到zabbix_server上把mysql模板应用到主机上,查看items状态。

    然后我就看到这样:

Zabbix自带模板监控Windows上的MySQL数据库_第1张图片

    一个取状态的脚本没问题了,还有个mysql ping的居然没成功。试试单独运行下脚本

Zabbix自带模板监控Windows上的MySQL数据库_第2张图片

    可以得到结果啊。。。。。为毛zabbix上就不行呢?哪位好心的同学可以告诉我啊!!!

-----------------------------------------------------------------------------------

又检查了一遍配置,原来是我自己把vbs脚本名写到agent配置文件的时候写错了。。。。。细节决定成败啊!!!