天天看点

zabbix 使用percona监控mysql数据库

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 -&gt; Templates-&gt; 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