Zabbix模板自带一个MySQL监控模板,但监控的项目比较少,生产环境推荐使用percona的监控插件。
<code>https:</code><code>//www</code><code>.percona.com</code><code>/doc/percona-monitoring-plugins/1</code><code>.1</code><code>/zabbix/index</code><code>.html</code>
1.安装percona插件(agent端):
<code>rpm -ivh http:</code><code>//www</code><code>.percona.com</code><code>/downloads/percona-release/redhat/0</code><code>.1-3</code><code>/percona-release-0</code><code>.1-3.noarch.rpm</code>
2.percona是php写的,所以agent连接MySQL必须安装php和php-mysql
<code>yum </code><code>install</code> <code>php php-mysql -y</code>
<code>yum </code><code>install</code> <code>percona-zabbix-templates -y </code>
<code> </code>
<code>#编辑zabbix_agent配置文件,这步一般默认配置都完成了:</code>
<code>#vi /etc/zabbix/zabbix_agentd.conf</code>
<code>#include=/etc/zabbix_agentd.conf.d/</code>
查看安装的percona:
<code>rpm -ql percona-zabbix-templates</code>
<code>/var/lib/zabbix/percona</code>
<code>/var/lib/zabbix/percona/scripts</code>
<code>/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper</code><code>.sh</code>
<code>/var/lib/zabbix/percona/scripts/ss_get_mysql_stats</code><code>.php</code>
<code>/var/lib/zabbix/percona/templates</code>
<code>/var/lib/zabbix/percona/templates/userparameter_percona_mysql</code><code>.conf</code>
<code>/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2</code><code>.0.9-sver1.1.7.xml</code>
3.复制模板到该目录下:
<code>cp</code> <code>/var/lib/zabbix/percona/templates/userparameter_percona_mysql</code><code>.conf </code><code>/etc/zabbix/zabbix_agentd</code><code>.d/</code>
4.让php可以连接到mysql上:
<code>#在mysql上授权一个账号</code>
<code>grant </code><code>select</code><code>,process,replicationclient on *.* to jiankong@localhost identified by </code><code>"jiankong"</code><code>;</code>
<code>flush priveleges;</code>
<code>#process这个权限可以执行show processlist和kill这个命令。</code>
<code>#relicationclient权限可以查看master和slave的状态。</code>
<code>#编辑percona的配置文件</code>
<code>vi</code> <code>/var/lib/zabbix/percona/scripts/ss_get_mysql_stats</code><code>.php</code>
<code>$mysql_user = </code><code>'root'</code><code>;</code>
<code>$mysql_pass = </code><code>'password'</code><code>;</code>
<code>$mysql_port = 3306;</code>
5.测试并修改监控脚本:
<code>/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper</code><code>.sh gg</code>
6.修改监控脚本,默认监控MySQL主从的,测试是否能用,如果是从库返回值应该为1,如果出错的话此处需要手工修改:
<code>/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper</code><code>.sh running-slave</code>
7.导入zabbix模板:
<code>cd</code> <code>/var/lib/zabbix/percona/templates/</code>
<code>sz zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml</code>
8.下载到本地,然后在zabbix上导入
<code>Configuration -> Templates-> Import</code>
注意:导入模板的时候会出错:
解决:下载个3.0的模板导入即可解决。
<a href="https://www.ttlsa.com/wp-content/uploads/2016/07/Percona-MySQL-Server-Template.zip" target="_blank">https://www.ttlsa.com/wp-content/uploads/2016/07/Percona-MySQL-Server-Template.zip</a>
附件中我已上传,可以直接下载导入。
在生产环境中如果监控到主出现故障,则需要切换到从,则需要清除从库的信息。
<code>stop slave;</code>
<code>reset slave all; </code><code>#清除从库的连接信息和二进制文件名位置,show slave status不再有效。</code>
<a href="http://down.51cto.com/data/2366611" target="_blank">附件:http://down.51cto.com/data/2366611</a>
本文转自 王家东哥 51CTO博客,原文链接:http://blog.51cto.com/xiaodongge/1919521