Zabbix配置mysql监控

来源:互联网 发布:在淘宝怎么设置优惠券 编辑:程序博客网 时间:2024/06/10 03:10

环境:ubuntu16.04 ,zabbix3.2,mysql5.7

1.zabbix在s端的配置很多博主有写,不做赘述,web配置时提示missing哪个文件就apt-get install即可,例如missing mbstring,安装php7.0-mbstring即可,缺少database support,我记得不是很清楚了,应该是安装php7.0-mysql即可;

2.坑比较多的是c端mysql的监控,首先agent.conf需要开启listen port=10050,以及在server=127.0.0.1上添加zabbix服务器所在的ip,或者在serveractive后面添加。server参数是指c端被动,允许服务器来获取本地mysql信息。serveractive是主动向服务器发送监控到的数据。另外需要注意开启unsafeuserparamter=1,因为我们需要使用到命令脚本获取mysql status数据。

agent通过zabbix用户对数据库信息进行收集(利用脚本返回对应key值my.status[*]),server端item与key值对应,如果获取成功,web界面相应item值显示enabled。

首先,mysql数据库中要有用户zabbix,另外zabbix用户需要对所有的数据库都有usage权限,这样我们使用命令mysqladmin status/extended status可以访问状态数据,但是无法查看库的信息,保证安全。zabbix用户和mysqladmin命令会在我们获取信息的脚本中使用到。

其次,获取信息的脚本需要放在普通用户可以访问的目录下(确实对于agent端获取数据有点疑惑,网上有人说是让zabbix用户可以执行这个脚本?这一点我有疑问),在ubuntu14.04下,mysql5.5,zabbixVersion: 1:2.2.2+dfsg-1ubuntu1情况下我将脚本放在一个zabbix用户无法访问的目录下不会提示permission denied。但是为了不提示permission denied,建议将脚本放在/usr/bin/下,也方便我们使用这个脚本;

最后,我在网上找的脚本在mysqladmin时指定了用户zabbix进行访问,这点确实会很安全,可是在返回数据的时候由于mysql5.7会提示在命令行中写入passwd会insecure,这个反馈信息不是数字所以在server端通过该脚本检测的item都不能enabled,MySQL5.5不存在这个问题。所以我直接使用mysqladmin去查询,不指明用户和密码,就可enabled item。


有1点疑惑:

1.mysqladmin这个命令使用时的用户定义是谁?我目前的想法是zabbix用户,mysqladmin针对的是有usage权限的用户吗?如果是这样的话mysqladmin会非常安全,只能查询数据库status,无法查看,删除,创建数据库,完全可以在脚本中无需指定用户,直接使用mysqladmin即可.这样也可以解决提示“

Warning: Using a password on the command line interface can be insecure.”。

原创粉丝点击