运维的那点事

zabbix监控mysql数据库(自带模板)

2019-06-04  本文已影响51人  无字天书

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健康状态。


看官福利:


结束语:

更多精彩内容持续更新中,关注我,有你更精彩。

上一篇下一篇

猜你喜欢

热点阅读