您的位置:首页 > 数据库 > SQL

Zabbix监控Mysql优化

2015-03-03 00:00 260 查看
Zabbix监控Mysql优化
一、实现思路
由于之前监控mysql的模板分多套,主从和不同的端口都要有不同的模板,并且监控是通过zabbix agentd 方式获取数据。每调用一个监控项的key就要查询一次数据库,增加了数据库的压力,改进后的mysql监控,通过zabbix trapper方式获取数据,agnet端主动将监控mysql所需的数据发给server,不需server主动获取,减轻了server端的压力。并且sender方式可以发送一个文件给server端,通过脚本执行命令将所需查询的数据库的数据的命令简化合并,只需简单数条,就可获得所需监控数据并传给指定文件通过sender方式发送。最后通过定义一个监控项key定期执行一次脚本(脚本内容为收集数据,发送数据)。实现后监控mysql不同主从库只需一套模板,并通过前端页面传入参数,端口动态。
二、具体实现步骤
1. agent 端配置



上图为agent配置文件中关于mysql的自定义参数,将其替换为如图1内容。
图1



图1中定义脚本内容为:
图2



以上agent端配置完成。
2.server端页面配置
为了优化方案操作的简便,在将原来使用的模板导出后直接在模板上修改。
(1)原来的监控模板监控项如图3:
图3



(2)改进后的监控模板监控项(其中mysqltrapper为调用采集数据脚本的key,agent方式,其它为trapper方式)如图4:
图4



图5(其他端口的情况)



(3)触发条件:
图6



三、回退方案
如修改后并不能获取到数据,或其他原因导致监控不成功。做如下步骤恢复到为修改前的状态。
(1)图1内容替换回原来内容。
(2)图4修改回图3。
四、存在的问题
(1)修改过程中是否会引起mysql报警,在自己测试过程中,因为修改过程中server将收不到值,不会引起触发条件报警。
五、动态发现mysql端口测试
通过discovery功能,动态发现监听mysql的端口,动态传参。
发现端口脚本:
图7



执行结果:
图8



以下两图为配置discovery rule和监控项key:
图9



图10



本文由旺旺仔授权(果壳网)发表,文章著作权为原作者所有。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: