一、 操作环境
我使用的linux系统是centos6.5,数据库是MysqL5.6,apache2.4,PHP5,6
安装目录:
/usr/local/apache
/usr/local/PHP
/usr/local/MysqL
/usr/local/zabbix
Zabbix服务器插件安装
Zabbix3.2.6自带监控MysqL模板监控项不全面,所以重新下载导入到zabbix里面
下载网址:、
https://www.percona.com/downloads/percona-monitoring-plugins/LATEST/
选择最新的percona插件选择我是用的操作环境,单独下载包zabbix模板,下面有用户手册可以下载参考。
官方安装文件下载地址:
https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html
可以参考官网的安装文档
安装
使用rpm安装插件
[root@www ~]# rpm -ivhpercona-zabbix-templates-1.1.7-2.noarch.rpm
warning:percona-zabbix-templates-1.1.7-2.noarch.rpm: Header V4 DSA/SHA1 Signature,keyID cd2
efd2a: NOKEYPreparing...########################################### [100%]
1:percona-zabbix-template###########################################[100%]
Scripts are installed to/var/lib/zabbix/percona/scripts脚本安装位置
Templates are installed to/var/lib/zabbix/percona/templates 模板安装位置
给percona模块文件加权限
chown -R zabbix. /var/lib/zabbix
复制zabbix代理配置
注:我是用的zabbix服务器端进行配置所以配置文件在/usr/local/zabbix/etc/目录下
Zabbix客户端的配置文件在/etc/zabbix/zabbix_agentd.d
cp/var/lib/zabbix/percona/templates/userparameter_percona_MysqL.conf/usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_percona_MysqL.conf
更改客户端配置文件加入一句
vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_percona_MysqL.conf
重启zabbix客户端
/etc/init.d/zabbix_agentd restart
在代理上配置MysqL连接,安全起见新创建一个用户只有读的权限,本地用户localhost
GRANT SELECT ON *.* TO 'zabbixuser'@'localhost'IDENTIFIED BY 'zab1P8a2s';
Flush privileges;
vim /var/lib/zabbix/percona/scripts/ss_get_MysqL_stats.PHP
$MysqL_user = 'zabbixuser’
$MysqL_pass = ' zab1P8a2s';
$MysqL_port = 3306;
改脚本许测试俩部分
测试MysqL实例本身的状态变量
/var/lib/zabbix/percona/scripts/get_MysqL_stats_wrapper.shgg
报错:
把下面哪一行更改成PHP的运行脚本,环境变量
vim/var/lib/zabbix/percona/scripts/get_MysqL_stats_wrapper.sh
CMD="/usr/local/PHP/bin/PHP -q$DIR/ss_get_MysqL_stats.PHP --host $HOST --items gg"
[root@www ~]# /var/lib/zabbix/percona/scripts/get_MysqL_stats_wrapper.shgg
764 返回值正确
测试PHP,又返回值正确
/usr/local/PHP/bin/PHP -q/var/lib/zabbix/percona/scripts/ss_get_m
ysql_stats.PHP --host localhost --items gg
[root@www ~]# sudo -u zabbix -H/var/lib/zabbix/percona/scripts/get_MysqL_stats_wrapper.sh running-slave
0 返回值0或1正确
【报错处理】
vim get_MysqL_stats_wrapper.sh
RES=`HOME=~zabbix MysqL -h localhost -uzabbixuser-pzab1P8a2s -e'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_sql_Running):' | awk -F: '{print$2}' | tr'\n'','`
# 如果脚本运行时出现提示“Warning: Using a password on the commandlineinterface can be insecure.”,解决方法
'SHOW SLAVE STATUS\G'2>&1 | egrep 所有调试完成后,重启zabbix_agentd
/etc/init.d/zabbix_agentd restart
调试zabbixweb
调试zabbix的web端
配置―>模板-->导入-->
选择模板然后点击导入,会显示导入成功
这个模板就是新导入的MysqL模板
因为我实在zabbix服务器上面做的所以选择配置―>主机―>zabbix server(刚刚设置完的主机)
模板-->选择
登网页刷新5分钟然后查看图像
Zabbix客户端插件安装
客户端做法类似只是目录不一样
rpm -ivhpercona-zabbix-templates-1.1.7-2.noarch.rpm
/var/lib/zabbix/percona/scripts 脚本路径
/var/lib/zabbix/percona/templates 模板路径
Zabbix配置文件路径:
/etc/zabbix
复制zabbix代理配置
cp /var/lib/zabbix/percona/templates/userparameter_percona_MysqL.conf /etc/zabbix/zabbix_agentd.conf.d/userparameter_percona_MysqL.conf
Include=/etc/zabbix/zabbix_agentd.d/userparameter_percona_MysqL.conf
重启zabbix客户端
GRANT all privileges ON *.* TO 'zabbixuser'@'localhost'IDENTIFIED BY 'zab1P8a2s';
vim/var/lib/zabbix/percona/scripts/ss_get_MysqL_stats.PHP
$MysqL_user = 'zabbixuser’
$MysqL_pass = 'zab1P8a2s';
$MysqL_socket ='/usr/local/MysqL/MysqL.sock';
$timezone = 'PRC';
测试MysqL实例本身的状态变量
/var/lib/zabbix/percona/scripts/get_MysqL_stats_wrapper.shgg
把下面哪一行更改成PHP的运行脚本,环境变量
vim/var/lib/zabbix/percona/scripts/get_MysqL_stats_wrapper.sh
CMD="/usr/local/PHP/bin/PHP -q$DIR/ss_get_MysqL_stats.PHP --host $HOST --items gg"
[root@www ~]# /var/lib/zabbix/percona/scripts/get_MysqL_stats_wrapper.shgg
764 返回值正确
测试PHP,又返回值正确
/usr/local/PHP/bin/PHP -q/var/lib/zabbix/percona/scripts/ss_get_MysqL_stats.PHP --host localhost --itemsgg
[root@www ~]# sudo -u zabbix -H/var/lib/zabbix/percona/scripts/get_MysqL_stats_wrapper.sh running-slave
0 返回值0或1Zabbix服务器添加监控项,因为MysqL数据库数据很多,zabbix获取数据的时候等待时间大概5到10分钟左右