zabbix监控mysql
在被监控端,安装zabbix监控客户端
下载客户端
wget https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.15-1.el7.x86_64.rpm
安装客户端
rpm -ivh zabbix-agent-5.0.15-1.el7.x86_64.rpm
修改配置
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.31.158
ServerActive=192.168.1.31.158
Hostname=192-168-31-157
Include=/etc/zabbix/zabbix_agentd.d/*.conf
启动客户端
systemctl start zabbix-agent.service
创建zabbix的mysql账号
mysql> create user zabbix@'%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> grant usage,replication client,process,show databases,show view on *.* to zabbix@'%';
Query OK, 0 rows affected (0.00 sec)
在/etc/zabbix/目录下创建.my.cnf
文件,vim .my.cnf
[client]
host=localhost
user='root'
password='123456'
复制userparameter_mysql.conf文件到/etc/zabbix/zabbix_agentd.d
目录下
cp /usr/share/doc/zabbix-agent-5.0.15/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d/
编辑修改参数,增加.my.cnf的环境变量,指定mysqladmin等命令的位置vim userparameter_mysql.conf
#template_db_mysql.conf created by Zabbix for "Template DB MySQL" and Zabbix 4.2
#For OS Linux: You need create .my.cnf in zabbix-agent home directory (/var/lib/zabbix by default)
#For OS Windows: You need add PATH to mysql and mysqladmin and create my.cnf in %WINDIR%\my.cnf,C:\my.cnf,BASEDIR\my.cnf https://dev.mysql.com/doc/refman/5.7/en/option-files.html
#The file must have three strings:
#[client]
#user=zbx_monitor
#password=<password>
#
UserParameter=mysql.ping[*],HOME=/etc/zabbix /usr/local/mysql/bin/mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*],HOME=/etc/zabbix /usr/local/mysql/bin/mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*],HOME=/etc/zabbix /usr/local/mysql/bin/mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*],HOME=/etc/zabbix /usr/local/mysql/bin/mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*],HOME=/etc/zabbix /usr/local/mysql/bin/mysql -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*],HOME=/etc/zabbix /usr/local/mysql/bin/mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*],HOME=/etc/zabbix /usr/local/mysql/bin/mysql -h"$1" -P"$2" -sNX -e "show slave status"
在zabbix服务端页面增加配置模板