zabbix监控mysql数据库(自带模板)
1,agent端
1)授权
mysql> grant usage,process,replication client,replication slave on *.* to 'zabbix1'@'localhost' identified by '123456';
mysql> flush privileges;
2)编辑配置文件
zabbix安装路径为:/usr/local/zabbix
配置mysql配置文件
[root@VM_0_2_centos ~]# vim /etc/my.cnf
[client]
user=zabbix1
password=123456
[mysqladmin]
host=localhost
user=zabbix1
password=123456
查看mysql的sock文件路径
[root@VM_0_2_centos zabbix]# ls /var/lib/mysql/mysql.sock
/var/lib/mysql/mysql.sock
[root@VM_0_2_centos zabbix]# vim /usr/local/zabbix/etc/.my.cnf
#zabbix agent
[mysql]
host=localhost
user=zabbix1
password=123456
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
host=localhost
user=zabbix1
password=123456
socket=/var/lib/mysql/mysql.sock
3)拷贝配置文件(安装包自带的)
[root@VM_0_2_centos zabbix-4.2.1]# cp conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@VM_0_2_centos zabbix-4.2.1]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
#把HOME=/var/lib/zabbix 全部改成HOME=/usr/local/zabbix/etc/.my.cnf(刚才新建的文件绝对路径)
.....
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/usr/local/zabbix/etc/.my.cnf mysql -N | awk '{print $$2}'
....
UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/usr/local/zabbix/etc/.my.cnf mysql -N'
......
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc/.my.cnf mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
2,server端
1)在服务器的web端添加mysql模板
2)查看监控到的数据图
以查看mysql uptime为例,如下图
总结
忙了一下子,最后发现监控的数据太少了,下一节采用第三方插件监控mysql健康状态。
看官福利:
结束语:
更多精彩内容持续更新中,关注我,有你更精彩。