1.如何实施zabbix对mysql全面监控
一、从网上下载相应脚本与XML定义文件。
extensive_mysql_monitoring_including_replication1. Template_MySQL_Server.xml2. Template_MySQL_Replication_Master.xml3. 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.log2. Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.006261"3. sent: 1; skipped: 0; total: 14. Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.004047"5. sent: 1; skipped: 0; total: 16. 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。
2.如何实施zabbix对mysql全面监控
一、从网上下载相应脚本与XML定义文件。
下载地址:/wiki/doku.php?id=extensive_mysql_monitoring_including_replication1. Template_MySQL_Server.xml2. Template_MySQL_Replication_Master.xml3. 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.log2. Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.006261"3. sent: 1; skipped: 0; total: 14. Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.004047"5. sent: 1; skipped: 0; total: 16. Info from server: "Processed 0 Failed 106 Total 106 Seconds spent 0.045790"7. sent: 106; skipped: 0; total: 106 看到上述为成功。
3.如何从Zabbix数据库中获取监控数据
做过Zabbix的同学都知道,Zabbix通过专用的Agent或者SNMP收集相关的监控数据,然后存储到数据库里面实时在前台展示。Zabbix监控数据主要分为以下两类:
历史数据:history相关表,从history_uint表里面可以查询到设备监控项目的最大,最小和平均值,即存储监控数据的原始数据。
趋势数据:trends相关表,趋势数据是经过Zabbix计算的数据,数据是从history_uint里面汇总的,从trends_uint可以查看到监控数据每小时最大,最小和平均值,即存储监控数据的汇总数据。
Zabbix可以通过两种方式获取历史数据:
1.通过Zabbix前台获取历史数据
通过Zabbix前台查看历史数据非常简单,可以通过Monitoring->Lastest data的方式查看。也可以点击右上角的As plain test按钮保存成文本文件。
2.通过前台获取的数据进行处理和二次查询有很多限制,因此可以通过SQL语句直接从后台DB查询数据。
首先大家应该熟悉SQL语句Select 常用用法:
SELECT [ALL | DISTINCT] Select_List [INTO [New_Table_name]
FROM { Table_name | View_name} [ [,{table2_name | view2_name}
[,…] ]
[ WHERE Serch_conditions ]
[ GROUP BY Group_by_list ]
[ HAVING Serch_conditions ]
[ ORDER BY Order_list [ASC| DEsC] ]
说明:
1)SELECT子句指定要查询的特定表中的列,它可以是*,表达式,列表等。
2)INTO子句指定要生成新的表。
3)FROM子句指定要查询的表或者视图。
4)WHERE子句用来限定查询的范围和条件。
5)GROUP BY子句指定分组查询子句。
6)HAVING子句用于指定分组子句的条件。
7)ORDER BY可以根据一个或者多个列来排序查询结果,在该子句中,既可以使用列名,也可以使用相对列号,ASC表示升序,DESC表示降序。
8)mysql聚合函数:sum(),count(),avg(),max(),avg()等都是聚合函数,当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算。运算完后就要用到Having子句进行判断了,例如聚合函数的值是否大于某一个值等等。
4.如何通过Zabbix获取监控数据
做过Zabbix的同学都知道,Zabbix通过专用的Agent或者SNMP收集相关的监控数据,然后存储到数据库里面实时在前台展示。Zabbix监控数据主要分为以下两类:
历史数据:history相关表,从history_uint表里面可以查询到设备监控项目的最大,最小和平均值,即存储监控数据的原始数据。
趋势数据:trends相关表,趋势数据是经过Zabbix计算的数据,数据是从history_uint里面汇总的,从trends_uint可以查看到监控数据每小时最大,最小和平均值,即存储监控数据的汇总数据。
Zabbix可以通过两种方式获取历史数据:
1.通过Zabbix前台获取历史数据
通过Zabbix前台查看历史数据非常简单,可以通过Monitoring->Lastest data的方式查看。也可以点击右上角的As plain test按钮保存成文本文件。
2.通过前台获取的数据进行处理和二次查询有很多限制,因此可以通过SQL语句直接从后台DB查询数据。
转载请注明出处众文网 » zabbix监控毕业论文(如何实施zabbix对mysql全面监控)