如何从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}[,…]][WHERESerch_conditions][GROUPBYGroup_by_list][HAVINGSerch_conditions][ORDERBYOrder_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子句进行判断了,例如聚合函数的值是否大于某一个值等等。

从Zabbix数据库中查询监控项目方法,这里已查询主机的网卡流量为例子:

1)通过hosts表查找host的ID。

mysql>selecthost,hostidfromhostswherehost=”WWW05″;+——-+——–+|host|hostid|+——-+——–+|WWW05|10534|+——-+——–+1rowinset(0.00sec)

2)通过items表查找主的监控项和key以及itemid。

mysql>selectitemid,name,key_fromitemswherehostid=10534andkey_=”net.if.out[eth0]”;+——–+—————–+——————+|itemid|name|key_|+——–+—————–+——————+|58860|发送流量:|net.if.out[eth0]|+——–+—————–+——————+1rowinset(0.00sec)

3)通过itemid查询主机的监控项目(history_uint或者trends_uint),单位为M。

主机流入流量:

mysql>selectfrom_unixtime(clock)asDateTime,round(value/1024/1024,2)asTraffic_infromhistory_uintwhereitemid=”58855″andfrom_unixtime(clock)>=’2014-09-20’andfrom_unixtime(clock)<‘2014-09-21’limit20;+———————+————+|DateTime|Traffic_in|+———————+————+|2014-09-2000:00:55|0.10||2014-09-2000:01:55|0.09||2014-09-2000:02:55|0.07||2014-09-2000:03:55|0.05||2014-09-2000:04:55|0.03||2014-09-2000:05:55|0.06||2014-09-2000:06:55|0.12||2014-09-2000:07:55|0.05||2014-09-2000:08:55|0.10||2014-09-2000:09:55|0.10||2014-09-2000:10:55|0.12||2014-09-2000:11:55|0.12||2014-09-2000:12:55|0.13||2014-09-2000:13:55|3.16||2014-09-2000:14:55|0.23||2014-09-2000:15:55|0.24||2014-09-2000:16:55|0.26||2014-09-2000:17:55|0.23||2014-09-2000:18:55|0.14||2014-09-2000:19:55|0.16|+———————+————+20rowsinset(0.82sec)

我想一个人旅行,背上简单的行囊,踏上行程,

如何从Zabbix数据库中获取监控数据

相关文章:

你感兴趣的文章:

标签云: