zabbix添加mysql监控

使用zabbix监控mysql的三种方式
1.只是安装agent
2.启用模板监控
3.启用自定义脚本的模板监控

zabbix中默认有mysql的监控模板。默认已经在zabbix2.2及以上的版本中。模板名称:Template App MySQL。
 
#mysql配置-在zabbix agent上操作
##添加帐户登录信息等,
执行mysql mysqladmin脚本命令时不需要帐户密码,也不再提示警告
$ cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
validate_password = off
innodb_file_per_table = 1
character_set_server=utf8
init_connect='SET NAMES utf8'
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 
[mysql] #添加以下内容
user = mysqlcheck
password = mysqlchechk
[client]
user = mysqlcheck
password = mysqlchechk
[mysqladmin]
user = mysqlcheck
password = mysqlchechk
 
##添加帐户密码
mysql> GRANT USAGE ON *.* TO 'mysqlcheck'@'localhost' IDENTIFIED BY 'mysqlcheck';
mysql> FLUSH PRIVILEGES;
 
##添加用来关联mysql的配置文件.my.cnf,
执行mysql mysqladmin脚本命令时不需要帐户密码,也不再提示警告
 
$ cat /etc/zabbix/.my.cnf
[mysql]
user = mysqlcheck
password = mysqlcheck
[mysqladmin]
user = mysqlcheck
password = mysqlchechk
 
##修改zabbix模板配置文件中的mysql路径
这个文件用于制定Zabbix Agent如何获取MySQL数据
我们需要将所有的/var/lib/zabbix修改为当前.my.cnf文件的路径/etc/zabbix。
$ sed -i 's@/var/lib/zabbix@/etc/zabbix@g' /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
 
$ cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf |grep -v ^#|grep -v ^$
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/etc/zabbix 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=/etc/zabbix mysql -N'
UserParameter=mysql.ping,HOME=/etc/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
##设置完 成之后保存并重启Zabbix Agent
$ systemctl restart zabbix-agent.service
 
#zabbix页面配置-在zabbix server上操作
##创建主机
Configuration—Hosts—创建主机
主机名称,群组选择,agent的IP地址和端口,然后点更新
##使用模板
Configuration—Hosts—主机名称—Tempaltes,搜索MySQL,添加弹出的模板Template App MySQL,然后点更新
注意:选完模板后,要点下添加按钮才行。
##查看监控效果
Monitoring—Graphs,选择组,然后选择host及展示的图形
这时候图形里会多出mysql bandwidth和mysql operations,而且有输出信息
 

#总结说明
说明一下,安装zabbix_agent后,已经可以监控mysql服务器的性能参数,
不过如果还需要进一步监控做些简单的监控,这时候就要用zabbix自带的模板;
然而如果只需要对mysql数据库做简单的监控,zabbix自带的模板完全能够满足要求;如果有更高的需求那需要自己写脚本,或者使用fromdual插件等。
参考:http://www.fromdual.com/mpm-installation-guide
 
 
zabbix在模板中预定义了一些key,但通常情况,并不能满足我们的需求。
幸运的是zabbix提供了自定义key的方法,因此我们可以灵活的监控各种我们想要监控的数据。
##启用
$ vi /etc/zabbix/zabbix_agentd.conf
UnsafeUserParameters=1

$ cat /etc/zabbix/zabbix_agentd.conf |grep -v ^# |grep -v ^$
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.16.160.161 #指向zabbix服务器
ListenPort=10050
ListenIP=0.0.0.0
ServerActive=172.16.160.161 #指向zabbix服务器
Hostname=mysql2 #zabbix服务器上配置主机的时候要用的名称
Include=/etc/zabbix/zabbix_agentd.d/*.conf #这一行是指向模板文件的
UnsafeUserParameters=1
 
参考文档:
https://blog.csdn.net/mchdba/article/details/51288767
https://blog.csdn.net/mchdba/article/details/51447750
https://www.cnblogs.com/amoyzhu/p/7069938.html
 
 
 
posted @ 2018-10-31 16:22  liulj0713  阅读(670)  评论(0编辑  收藏  举报