如何实现zabbix监控mysql

发布网友 发布时间:2022-04-23 00:58

我来回答

2个回答

懂视网 时间:2022-04-08 03:38


以下乃使用zabbix自带的模板监控mysql步骤:

环境如下:CentOS release 6.5   zabbix-2.2.9   mysql-5.1.73

1.  在zabbix的web访问页面中为主机添加mysql监控模板(默认的MYSQL template name为:Template App MySQL)。

2.  在abbix的客户端配置文件(zabbix_agentd.cnf)中添加如下信息:(以下内容制定zabbix_agentd获取mysql数据)

1. UnsafeUserParameters=1                     #启用自定义KEY
2. UserParameter=mysql.size[*],echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=‘$1‘")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=‘$2‘");" | HOME=/usr/local/zabbix/etc mysql -N

3. UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc mysqladmin ping | grep -c alive
4. UserParameter=mysql.version,mysql -V
5. UserParameter=mysql.status[*],echo "show global status where Variable_name=‘$1‘;" | HOME=/usr/local/zabbix/etc  mysql -N | awk ‘{print $$2}‘

备注:以上代码中的HOME=/usr/local/zabbix/etc/为制定zabbix_agentd访问数据库的信息,不可出错

3.  配置mysql数据库创建一个用户来获取监控mysql的相关数据:

 GRANT USAGE ON *.* TO ‘mysql_data‘@‘localhost‘ IDENTIFIED BY ‘p@ssw0rd‘;
 Query OK, 0 rows affected (0.00 sec)
 flush privileges;
 Query OK, 0 rows affected (0.00 sec)

4.  添加完账户之后新建/usr/local/zabbix/etc/.my.cnf来提供zabbix agentd访问数据库,内容如下

# vim /usr/local/zabbix/etc/.my.cnf 
[mysql]
host     = localhost
user     = mysql_data
password = p@ssw0rd
socket   = /var/lib/mysql/mysql.sock
[mysqladmin]
host     = localhost
user     = mysql_data
password = p@ssw0rd
socket   = /var/lib/mysql/mysql.sock

5.  修改完如上信息后即重启zabbix_agentd即可。

6.  以上信息修改后,即可在监控页面查看的mysql的监控信息图形。

技术分享

技术分享

如何安装zabbix及添加模板链接下一篇内容。

本文出自 “Aestheticism” 博客,请务必保留此出处http://cctian.blog.51cto.com/10445650/1665070

zabbix使用自带模板监控mysql

标签:mysql   监控   数据库   zabbix   

热心网友 时间:2022-04-08 00:46

 一、从网上下载相应脚本与XML定义文件。
  extensive_mysql_monitoring_including_replication
1.   Template_MySQL_Server.xml
2.   Template_MySQL_Replication_Master.xml
3.   Template_MySQL_Replication_Slave.xml

  和执行脚本:mysql.php
  二、把mysql.php上传至配置文件目录/etc/zabbix/
1.   chmod 755 mysql.php

  三、修改mysql.php文件
  根据本机环境。
  第一行加入:#!/usr/bin/php
  在最后一行加入:?>
  关闭调试:define('DEBUG',true); 为 define('DEBUG',False);
  修改日志、数据文件路径:
1.   define('LOG',"/tmp/zabbix_".SYSTEM.".log");
2.   define('DAT',"/tmp/zabbix_".SYSTEM.".dat");
3.   define('UTIME',"/tmp/.zabbix_".SYSTEM.".utime");
4.   define('DTIME',"/tmp/.zabbix_".SYSTEM.".dtime");

  修改:define('SYSTEM','mysql'.(DEBUG ? "-debug" : ""));为:define('SYSTEM','mysql');
  打开系统日志功能
  > ".LOG); 为
  > ".LOG);
  在$cmd = "zabbix_sender -z $server -p 10051 -s $host -k ".SYSTEM.".$var -o $val";
  下面增加一行:exec($cmd);
  四、在zabbix_agentd.conf配置文件中加入
  UserParameter=mysql.daily,php /etc/zabbix/mysql.php daily 用户名密码
  UserParameter=mysql.live,php /etc/zabbix/mysql.php live 用户名 密码
  daily:每天执行一次。
  live:按指定时间执行一次。
  php :执行php文件
  /etc/zabbix/mysql.php:mysql.php文件所在的文件路径
  用户名 密码:登录mysql数据库的账户与密码
  重启zabbix_agentd
  五、在zabbix web管理界面导入xml文件
  配置-导入/导出-浏览
  六、在主机内增加指定模板
  配置-主机-具体主机名-Link with Template-新增-刚导入的模板。
  模板分为三种:
  template MYSQL_server:监控项最全
  template MYSQL_Replication_Master:只监控主要参数,监控功能相对最少
  template MYSQL_Replication_Slave:主要针对性能方面的监控。
  七、测试监控是否成功
  删除 定时文件
1.   rm /tmp/.zabbix_mysql-debug.dtime;

  取的每天的监控数据
1.   php /etc/zabbix/mysql.php daily root *****

  取即时数据
1.   php /etc/zabbix/mysql.php live root *****

  查看日志
1.   cat /tmp/zabbix_mysql.log
2.   Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.006261"
3.   sent: 1; skipped: 0; total: 1
4.   Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.004047"
5.   sent: 1; skipped: 0; total: 1
6.   Info from server: "Processed 0 Failed 106 Total 106 Seconds spent 0.045790"
7.   sent: 106; skipped: 0; total: 106

  看到上述为成功
  查看DAT的文件。上传的数据
1.   cat /tmp/zabbix_mysql.dat

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com