监控MySQL实战

标签(linux): zabbix & mysql

笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流

percona为MySQL制作了专用插件,监控项,模版,图形。
zabbix server端版本为3.0.7,之前已经介绍过安装步骤,这里不再做说明,请参考 http://www.cnblogs.com/Csir/p/6753412.html

主机

#agent端
[root@db02 ~]# hostname ;hostname -I
db02
10.0.0.52 172.16.1.52 
#server端
[root@zabbix ~]# hostname;hostname -I 
zabbix
10.0.0.120 172.16.1.120

环境

[root@db02 ~]# cat /etc/redhat-release 
CentOS release 6.8 (Final)
[root@db02 ~]# /etc/init.d/iptables status
iptables: Firewall is not running.
[root@db02 ~]# getenforce 
Disabled

zabbix-agent

1.安装zabbix-agent以及percona相关包

yum install zabbix-agent php php-mysql -y
rpm -ivh https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.7/binary/redhat/6/x86_64/percona-zabbix-templates-1.1.7-2.noarch.rpm


#CentOS7
rpm -ivh https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.7/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.7-2.noarch.rpm

percona相关文件如下

[root@db02 percona]# pwd
/var/lib/zabbix/percona
[root@db02 percona]# tree
.
├── scripts
│   ├── get_mysql_stats_wrapper.sh
│   └── ss_get_mysql_stats.php
└── templates
    ├── userparameter_percona_mysql.conf
    └── zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml

2.复制配置文件

chown -R zabbix.zabbix /var/lib/zabbix/percona/
mkdir -p /var/lib/mysql
ln -s /application/mysql/data/mysql.sock /var/lib/mysql/mysql.sock
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
/etc/init.d/zabbix-agent restart

3.在Agent节点上配置和验证与127.0.0.1的MySQL连接

sed -i 's#HOST=localhost#HOST=127.0.0.1#g' /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
#注意:这里填写的用户和密码必须有localhost登录权限,否则获取不到key值,如果是用的中间件,如atlas,那么在atlas配置文件中要填写相对应的用户

4.测试脚本

#返回任何数字则表式连接成功
[root@db02 scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
40

#错误可能如下
[root@db02 scripts]# /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg
ERROR: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)[root@db02 scripts]#

#这样可以手动运行命令来查看错误所在
/usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host 127.0.0.1 --items gg

# 成功后修改文件权限
chmod 600 /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf

#同时也需要注意/tmp/下zabbix创建的文件权限

zabbix-server

1.导入模版

xml文件我这里帮大家提供了。链接:http://pan.baidu.com/s/1i5zGPhj 密码:s5vw


2.添加主机

# 执行这个可以在服务端重新获取数据
zabbix_server -R config_cache_reload


[root@zabbix ~]# zabbix_server -R config_cache_reload
zabbix_server [4031]: command sent successfully

OK,搞定收工!

未完待续...

zabbix之自动化监控-部署篇(一):http://www.cnblogs.com/Csir/p/6753412.html
zabbix之自动化监控-自定义监控与报警(二) http://www.cnblogs.com/Csir/p/6759747.html