前提:安装zabbix-agent
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.10-1.el7.x86_64.rpm
vim /etc/zabbix/zabbix_agentd.conf
zabbix_agent配置文件
[root@host-192-168-1-14 templates]# find / -name zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.conf
[root@host-192-168-1-14 templates]# cat /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.17.2.110
ServerActive=172.17.2.110
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agentd.d/*.conf
systemctl start zabbix-agent.service&&systemctl enable zabbix-agent.service
创建zabbix用户和组
# groupadd zabbix
# useradd -g zabbix zabbix
创建数据库用户
MySQL
GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY '密码';
FLUSH PRIVILEGES;
percona的监控插件是php编写的。通过php连接mysql来获取相关的数据,所以需要你在本地安装zabbix agent的同时,部署php和php-mysql
1、安装php php-mysql
[root@zabbix ~]# yum install php php-mysql -y
2、下载安装percona-zabbix-templates
[root@db01 templates]# rpm -ivh https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
安装完成会提示脚本和模板的位置
Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates
使用rpm安装时,无法安装或无法连接的情况下
①安装percona的yum源
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
②安装percona-zabbix-templates
yum -y install percona-zabbix-templates
脚本目录下存放的脚本用于获取数据库的信息的
[root@db01 scripts]# pwd
/var/lib/zabbix/percona/scripts
[root@db01 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
3、修改get_mysql_stats_wrapper.sh
[root@db01 scripts]# vim get_mysql_stats_wrapper.sh
19 RES=`HOME=~zabbix mysql -uroot -p123456 -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave _SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
#在19行中加入数据库用户名和密码
4、修改ss_get_mysql_stats.php
[root@db01 scripts]# vim ss_get_mysql_stats.php
30 $mysql_user = 'root'; #将第30和31行修改为数据库的用户名和密码
31 $mysql_pass = '123456';
33 $mysql_socket = '/tmp/mysql.sock'; #将第30和31行修改为数据库配置文件中的socket
5、拷贝自定义监控项的配置文件到/etc/zabbix/zabbix_agentd.d/目录
[root@db01 scripts]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@db01 scripts]# ls /etc/zabbix/zabbix_agentd.d/ userparameter_mysql.conf userparameter_percona_mysql.conf
配置文件中自定义了很多key
6、重启zabbix agent
[root@db01 scripts]# systemctl restart zabbix-agent.service
[root@db01 scripts]# pkill -9 zabbix_agentd
[root@host-192-168-1-14 templates]# find / -name zabbix_agentd /usr/sbin/zabbix_agentd
[root@host-192-168-1-14 templates]# /usr/sbin/zabbix_agentd #启动
7、测试
在zabbix server上命令行测试获取某个key的值
[root@zabbix ~]# zabbix_get -s 192.168.1.51 -k MySQL.Sort-scan 23
[root@host-192-168-1-14 templates]# zabbix_agentd -t MySQL.Sort-scan MySQL.Sort-scan [t|75374]
[root@db01 ~]# ls /tmp/ #取值成功后会在/tmp/目录下生成一个日志文件
localhost-mysql_cacti_stats.txt
注:需要修改权限,否则前端界面获取不到数据
[root@db01 ~]# cd /tmp/
[root@db01 ~]# chown zabbix:zabbix localhost-mysql_cacti_stats.txt
8、web界面操作
8.1 导入模板
percona-zabbix-templates-1.1.8-1.noarch.rpm包里带的模板有点问题,从网上下载
zbx_percona_mysql_template.xml
8.2 主机链接模板
8.3 修改监控项的采集时间间隔
模板中的监控项采集时间间隔为5分钟,要想快速获取数据就需要批量修改监控项的采集时间间隔
全选点击批量更新
9、查看最新数据
至此,通过percona插件监控mysql成功