zabbix配置自带MySQL监控模板

简述

zabbix版本: 4.0.1
MySQL版本:10.2.14-MariaDB
系统版本: CentOS Linux release 7.2.1511 (Core)

zabbix自带MySQL的监控模板,利用sql查询语句,提供一些简单的MySQL状态监控,如下图:


MySQL模板监控项

需要另外的监控功能可以在模板基础上进行修改。

准备工作

  • 新建zabbix的监控用户
    新建监控用户,并赋予部分权限
    grant usage, process, replication client on *.* to 'zabbix'@'localhost' identified by '******';
    flush privileges;
    
  • 新建.my.cnf文件
    找一个目录存放.my.cnf文件,我是放在/etc/zabbix
    mysql的sock位置,从MySQL的配置文件中找:
     [root@localhost ~]# cat /etc/my.cnf|grep sock
     socket=/var/lib/mysql/mysql.sock
    
     # Zabbix Agent
     [mysql]
     host=localhost
     user=zabbix
     password='******'
     socket=/var/lib/mysql/mysql.sock   
     [mysqladmin]
     host=localhost
     user=zabbix
     password='******'
     socket=/var/lib/mysql/mysql.sock
    
  • 修改zabbix_agent的配置文件
    安装zabbix4有个默认的MySQL模板文件位于/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
    将其中的HOME=后面的目录改为前面存放.my.cnf的目录
    修改内容

    替换命令
    sed -i 's#HOME=/var/lib/zabbix#HOME=/etc/zabbix#g'  /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
    
    [root@localhost zabbix]# cat 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
    
    运行其中的命令,看是否能正确运行
    [root@localhost zabbix]# HOME=/etc/zabbix mysqladmin ping | grep -c alive
    1
    
    然后这里有个坑,默认的zabbix_agentd.conf是没有把/etc/zabbix/zabbix_agentd.d包含进来的。
    包含的配置目录

    需要在下方加上包含目录,否则会在服务端提示不支持的key
    添加包含目录

重启并检验

重启zabbix客户端

[root@localhost zabbix]#  systemctl restart zabbix-agent

在服务端用zabbix_get从客户端获取信息

[root@localhost zabbix]#  zabbix_get -s 10.22.22.22 -p 10050 -k mysql.ping
1

在web端,监测-最新数据查看最新数据

web端

参考信息

使用Zabbix自带MySQL模板监控MySQL

你可能感兴趣的:(zabbix配置自带MySQL监控模板)