我是怎么通过zabbix监控60台阿里云的RDS和redis数据库的由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“zabbix监控redis”。
我是怎么通过zabbix监控60台阿里云的RDS和redis数据
库的
前言:
最近一直在做监控方面的东东,一些基本的东西基本到处都有资料也就不多说了。但是,让监控阿里云的数据库真是把我难住了。研究了许久的阿里云api,虽然代码写出来了,但是遇到一个坑,所以转换了思路,分别用redis和mysqladmin连接数据库,获取连接数和请求数,但是却获取不到实例的CPU使用率。又只好回头研究阿里云的api。花了几天终于踩完所有坑,达到自己想要的效果,具体实现过程如下:
正文:
主要添加了以下三条自定义key,第一条通过redis_cli客户端连接redis获取统计数据,第二条通过mysqladmin连接mysql获取统计数据,第三条就是坑我好几天的,通过云监控获取实例信息的key。阿里云的RDS默认是5分钟获取一条监控数据,部分重要的数据库可以设置为1分钟获取一次。不过这个是要收费的。最开始以为都是60秒获取一次监控数据,所以从云监控获取数据时,时间间隔是60秒,就莫名奇妙的出现,有的服务器能获取数据,有的服务器不能获取数据。所以最后的解决思路是,把时间间隔调大,获取好几条数据,然后取最后一条数据就可以了。1234#zabbix_agentd.confUserParameter=redis.get[*],/usr/local/sbin/redis_get.sh $1 | grep-Po '$2:K[.d]+'UserParameter=rds.get[*],mysqladmin-h $1-P 3306-u db_username extended-status-p'paword' | grep-Po '$2[^d]+Kd+'UserParameter=rds.get_from_cms[*],/usr/local/sbin/database_api.py $1 $2 $3 | grep-Po 'Average":K[.d]+' |tail-1