第九章 数据可视化
Zabbix是一个非常灵活、强大的监控系统,它不仅能够监控大量不同类型的数据指标,并为这些数据及数据之间的关联提供了多种可视化工具,通过图形、展示屏、网络拓扑图等将数据直观的展现出来,实时的浏览和查看监控设备的状态。
近日完成《深入浅出 zabbix 4.0》视频教程的录制并正式发布,该教程基于 zabbix 4.2 ,对Zabbix进行全面讲解。欢迎大家围观。课程链接:https://edu.csdn.net/course/detail/24870
9.1 图形
Zabbix 3.0中支持三种graphs(图形),即simple graphs(简单图形)、ad-hocgraphs(自组图形)和customgraphs(自定义图形)。
9.1.1 简单图形
简单图形是Zabbix系统内置的一种方法,为监控项数据提供单一数据的图形展示,不需要额外做任何配置就可以在Zabbix中浏览、查看。
在Monitoring --> Latest data页面中,通过Filter筛选出你需要查看的监控项。如下图9-1所示。
图 9-1
在上图9-1中可以看到每个监控项的最右侧分别有Graph和History链接,从这里可以看到只有数值类型的监控项能自动生成简单图形,其他类型的数值只有一个History的链接。
点击History链接显示监控项的历史数据,通过右上角下拉框可以选择显示当前值或最近500个值。如下图9-2所示。
图 9-2
点击Graph链接显示监控项的简单图形,在简单图形中只显示一个监控项的监控数据,不需要做任何的配置。如下图9-3所示。
图 9-3
在图形的上方是时间选择过滤器,通过对它的操作我们可以查看不同时间段的数据。当你选择很小的时间段如5分钟,会看到一条显示最近5分钟数据的线,如果选择的时间段比较长时,如果数据是从历史表中读取的,那你会看到一条线,如果数据是从趋势表中读取的,你会看到3条线,暗绿色是平均值,粉红色是最大值,浅绿色是最小值,在高点和低点之间的×××背景的空间是这段时间内值的变化范围。如下图9-4所示。
图 9-4
在上图9-4中我们看到图形中有两种不同的背景,灰色代表非工作时间,白色代表工作时间。在简单图形中工作时间会自动显示,但查看超过3个月的数据时不再显示工作时间。
时间选择过滤器如下图9-5所示。
图 9-5
从上图9-5可以看到,中间有个滚动条可以左右拖动,也可以改变它的宽度。图中右下方即滚动条下面的1h是当前滚动条的宽度,也可以理解为图形中X轴的宽度。左右拖动滚动条查看其它时间段的数据,拖动时你会发现右上角的日历和时间会自动变化,需要更准确的查看跨年、夸月的数据时我们可以点击日历和时间链接,选择起始和终止时间会更方便。
为了操作更方便,在左上角预先定义了一些标签,在Zoom后面分别有5m、15m、30m、1h、2h、3h、6h、12h、1d、3d、7d、14d、1m、All,分别代表X轴不同的宽度。在左下角也定义的一些标签 1m 7d 1d 12h 1h 5m | 5m 1h 12h 1d 7d 1m ,你可能注意到这组标签的中间有个竖杠(|),在 | 两边是对称的数字,点击 | 左边的1h时滚动条会向左移动1小时,点击右边的1h时滚动条会向右移动1小时,你可以连续点击同一个值如1h,滚动条会以1h的时间段不断的向左或向右移动。
在右下角你会看到fixed链接,点击后会变为dynamic。fixed的意思是使用左下角预先定义的标签移动滚动条时X轴的宽度不会发生变化。也可以点击滚动条两端的按钮移动滚动条,但是要注意fixed和dynamic的区别。
如果你想快速查看当前图形中某个时间段的数据,可以在图形中按住鼠标左键拖动相应的时间段即可显示你选中的时间段中的数据。
需要查看监控项的原始数据时,可以在简单图形的右上角下拉框中选择Values或500 latestvalues查看,如下图9-6所示。
图 9-6
9.1.2 自组图形
有时候我们需要在图形中查看多个监控项,特别是那些不是经常需要,临时分析查看一些监控项的数据时,Zabbix在3.0中提供了Ad-hoc graphs(自组图形)的方法,可以简单快速的实现。
在Configuration --> Latest data页面中,可以通过filter筛选需要显示的监控项,然后勾选想要在图形中显示的监控项。如下图9-7所示。
图 9-7
选中多个监控项后,点击左下角的Display stacked graph或者Display graph按钮,在图形中我们会看到选择的多个监控项。如下图9-8所示。
图 9-8
自组图形中显示的曲线是每个监控项的平均值(最大值和最小值不显示)。触发器及其相关信息也不会显示。我们可以使用图形上方的时间选择过滤器查看不同时间段的数据,也可以通过Graph type选择Normal或Stacked方式显示图形。
如果你想在自组图形中查看每个监控项的触发器相关信息及最大值和最小值,我们通过简单的修改链接中的参数就能实现。当点击Display graph按钮生成自组图形时,在浏览器地址栏中生成的URL看上去是这样的:
http://192.168.10.102/zabbix/history.php?sid=8dcbbb99456ed4d6&form_refresh=1&action=batchgraph&itemids%5B23299%5D=23299&itemids%5B23300%5D=23300&itemids%5B23301%5D=23301&itemids%5B23302%5D=23302&itemids%5B23303%5D=23303&itemids%5B23304%5D=23304&itemids%5B23305%5D=23305&itemids%5B23306%5D=23306&itemids%5B23299%5D=23299&itemids%5B23300%5D=23300&itemids%5B23301%5D=23301&itemids%5B23302%5D=23302&itemids%5B23303%5D=23303&itemids%5B23304%5D=23304&itemids%5B23305%5D=23305&itemids%5B23306%5D=23306&graphtype=0
在这个链接中我们通过把batchgraph替换成showgraph,然后刷新页面,你会看到触发器和每个监控项的最大值、最小值。如下图9-9所示。
图 9-9
我们也可以修改链接中的history.php为chart.php,刷新页面,你会发现在页面中只有一个图片,你可以点击鼠标右键将图片另存,或者收藏起来。
9.1.3 自定义图形
Zabbix中提供了自定义图形的功能,顾名思义就是自己动手定制图形的属性,添加需要的监控项。实际上,在系统的模板中如Template OS Linux等已经包括了一些预先定义的自定义图形。
自定义图形能够在主机、模板或者在low-level discovery rule上创建,主机会继承模板或low-level discovery rule中创建的自定义图形。建议在模板中创建图形会更好些。
如果你喜欢用饼图来展现数据,那你需要使用自定义图形来创建,因为目前只有这种方法支持创建饼图。
在自定义图形中你可以展示来自相同主机的监控项,也可以展示来自不同主机的相同监控项。你可以把来自不同来源的不同监控项关联到一个图形中展示,尤其在排除故障和容量规划时非常有用。
点击Configuration --> Templates(或hosts),在模板列表页面中点击需要创建图形的模板名称右侧的Graphs链接,在Graphs页面中点击右上角的Create graph按钮进入配置页面。
下面我们通过定义一个名称为CPU Utilization图形的例子来看看,如下图9-10所示。
图 9-10
上图9-10中各参数的含义如下:
-
Name:唯一的图形名称。在名称中我们可以通过简单的宏变量引用监控项的值,宏变量的格式为{host:key.func(param)},但其中的func只支持avg、last、max和min,并支持param参数。在宏变量中可以使用{HOST.HOST<1 - 9>},用来引用图形中的第一个主机、第二个主机等,例如{ {HOST.HOST1}:key.func(param)}。
-
Width:图形的宽度,单位是pixels(像素)。
-
Height:图形的高度,单位是pixels。
-
Graph type:图形的类型,主要有以下几种:
-
Normal:标准图形,使用线条显示值。
-
Stacked:叠加图形,填充显示区域。
-
Pie:饼图。
-
Exploded:裂开式饼图。
-
Show legend:选中后会在图形中显示监控项名称及数据。
-
Show working time:选中后图形中非工作时间用灰色背景显示,不能用于饼图。
-
Show triggers:选择后图形中触发器将会简单的显示为一条红线。不能用于饼图。
-
Percentile line (left):左边的Y轴用来显示百分比,例如设置为95%,会在95%处显示一条亮红线,仅适用于标准图形。
-
Percentile line (right):右边的Y轴用来显示百分比,例如设置为95%,会在95%处显示一条亮红线,仅适用于Normal图形。
-
Y axis MIN valueÿ