如何自己做Zabbix数据导出功能(上)

Zabbix是一款开源的监控工具,使用广泛。然而,它竟然不支持将监控数据导出。为此,本文尝试分析一下,应该如何去做Zabbix的数据导出功能。 


1. 不支持导出

Zabbix是并不支持历史数据导出功能的。笔者手头的版本是3.0,估计在3.2甚至3.4中也没有。为什么这么说呢?因为除了实践,笔者还专门查看了ZabbixNext. 有诸多ZabbixNext提到了希望有这一项功能,但都不是“完成”状态。而这些ZabbixNext也都比较混乱,经常互相duplicate. 笔者稍作整理,将没有duplicate的ZabbixNext列举如下,这其中还有2篇论坛上的讨论。读者可自行验证:

https://support.zabbix.com/browse/ZBXNEXT-247

https://support.zabbix.com/browse/ZBXNEXT-922

https://support.zabbix.com/browse/ZBXNEXT-1723

https://support.zabbix.com/browse/ZBXNEXT-2347

https://support.zabbix.com/browse/ZBXNEXT-2873

https://www.zabbix.com/forum/showthread.php?t=50776&highlight=export

https://www.zabbix.com/forum/showthread.php?t=26687&highlight=export


2. 其实也支持一点点

但是实际上,Zabbix也算是支持一半的导出功能了。为何这样说呢?主要是因为它其实是提供了一个打印在干净网页上的功能。请看下面的操作:

1> 在“Monitoring”的“Latest Data”这一块,会有一个Filter供用户提交;
     在Filter中输入Host的name,并在“Application”中输入需要导出项,比如“CPU”,然后点击Filter按钮,就会发现,关于CPU的有十几项之多,见下图

如何自己做Zabbix数据导出功能(上)_第1张图片

在上图中,第一列黑色字体的,比如“Process Load (15 min average per coe)”,是item的描述,而绿色部分,比如“system.cpu.load[percpu,avg15]”,是item的“key_”. 至于什么是item,key_有何用,将在下文介绍。

2> 点击右侧的“Graph”后,会出现如下的图片:

如何自己做Zabbix数据导出功能(上)_第2张图片

注意,在这个图片的右上角,其实是有一个下拉框,可以选择看Graph,还是values的。而上图的下面一个红圈中的滚动条,可以拖拉它而实现查看时间范围的。

3> 点击上图右上下拉框,然后选择Values. 可以看见下图:

如何自己做Zabbix数据导出功能(上)_第3张图片

此时,可以看见上图右上有一个"As plain text"按钮。点击这个按钮就会看见一个满载数据的干净网页了。如下:

如何自己做Zabbix数据导出功能(上)_第4张图片

以上就是Zabbix自带的数据显示功能了。

在下篇中将介绍Zabbix的MySQL数据库、Zabbix API和一些第三方的库。

(未完待续)

你可能感兴趣的:(运维)