zabbix拓扑图
Zabbix网络拓扑图:
概述
如果有一个网络环境,作为运维人员,想要了解其基础架构的整体状况。为此,可以在Zabbix中创建网络拓扑图。
所有用户都可以创建网络拓扑图。这个拓扑图可以是公开的(对所有用户可用)或私人的(对选定的用户可用)。
1、 配置网络拓扑图
概述:
在Zabbix中配置拓扑图,首先需要创建拓扑图,并定义关于拓扑图的常规参数,然后就可以使用图像等元素填充实际拓扑图。 你可以使用主机、主机组、触发器、图像或其他拓扑图元素填充拓扑图。 图标用来表示拓扑图元素。你可以定义与图标一起显示的信息,并设置以特殊方式显示最近的问题。与此同时,你可以链接图标并定义在此链接上显示的信息。 你可以通过点击图标来添加可访问的自定义URLs。因此,你可以将主机图标链接到主机属性,或将拓扑图图标链接到其他拓扑图。 通过 Monitoring → Maps对拓扑图进行管理,可以对其进行配置、管理和浏览。在监控视图中,你可以点击图标,并利用一些脚本和URLs的链接。 拓扑图从zabbix3.4开始,基于矢量图。
1.1、公开的和私有的拓扑图
在Zabbix中,所有的用户(包括非管理员用户)可以创建网络拓扑图。拓扑图拥有其所有者,该所有者表示是谁创建了这个拓扑图。拓扑图可以分为公开的和私有的。
公开的拓扑图对所有用户是可见的,然而,用户必须具有读取所有拓扑图元素的权限才能查看拓扑图。要向拓扑图添加元素的话,用户还必须至少具有对拓扑图的可读权限。
私有的拓扑图只有所有者和所有者共享拓扑图的用户/用户组才能看到私有拓扑图。 常规(非超级管理员)用户只能与他们所属的组和用户共享。 管理员级别用户可以查看私有拓扑图,无论是所有者还是属于共享用户列表。 私有拓扑图可以由拓扑图的所有者编辑,并且如果用户/用户组具有此拓扑图的读写权限,并且至少对相应拓扑图的所有元素(包括链接中的触发器)具有读取权限。
用户没有读取权限的拓扑图元素将显示为带有灰色图标,并且隐藏了该元素的所有文本信息。然而,即使用户没有触发器的权限,触发器标签也是可见的。 要向拓扑图添加元素,用户还必须至少具有读取权限。
1.2、创建一个拓扑图
通过以下步骤创建一个拓扑:
1.在Zabbix前端页面打开Monitoring → Maps;
2.点击所有拓扑图来查看;
3.在右上角点击创建拓扑图。
你还可以在现有拓扑图的配置页面的使用Clone 和 Full clone按钮, 创建一个新的拓扑图。点击Clone按钮将保留原拓扑图的常规布局属性,但是没有元素。而Full clone不仅保留原拓扑图的常规布局属性,并且会保留原拓扑图的所有元素。 在 拓扑图 标签页面包含一些常规的拓扑图属性:
参数 | 描述 |
---|---|
所有者 | 该拓扑图所有者的名称。 |
名称 | 唯一的拓扑图名称. |
宽 | 扑图的宽度,以像素为单位。 |
高 | 扑图的高度,以像素为单位。 |
背景图片 | 没有图片 :没有背景图片 (默认为白色的背景)。 图片 : 选择一张图片来作为背景图片。不执行图片缩放。你可以使用地图或其他图片来优化拓扑图。 |
图标自动映射 你可以设置 | 使用图标自动映射,在Administration → General → Icon mapping进行配置,图标映射允许某些图标与某些主机的库存字段进行映射。 |
图标高亮: 如果你选中此框,那么图标将会高亮显示 | 具有活动触发器的元素将于严重等级的触发器一同显示为相同颜色的圆形背景。此外,如果所有的问题被确认,那么会在圆形周围显示一条加粗的绿色线条。状态为“禁用”和“在维护中”的元素将会分别获得灰色的正方形背景和橙色的正方形背景。 |
触发器状态变更的标记元素 | 触发器状态(最近的问题、解决方案)的最近变更状况将会在元素图标的三边,且三边没有标签的标记(向内测的红色三角形)上高亮显示。标记将显示30分钟。 |
展开问题详情 | 如果拓扑图的元素(主机、主机组或其他拓扑图)存在一个问题,则此选项将会控制问题(触发器)显示为具体名称还是问题计数。如果选中此选项,那么将使用问题名称。 |
高级标签 | 如果选此框,你将能够定义为单独的元素类型定义单独的标签类型。 |
图标标签类型 | 图标可使用标签类型为:标签:图标标签 IP地址: IP 地址 元素名称:元素名称 (例如主机名称) 只有状态:只有状态 (正常OK 和 问题PROBLEM) 无: 没有标签可显示。 |
图标标签位置 | 与图标相关标签位置:底部:在图标的下面 左边:在左边 右边:在右边 顶部:做图标的上面 |
问题显示 | 问题显示为:所有的:将显示完整的问题数 分开的:未确认的问题数将显示为分开的若干个总问题数。unacknowledged problem count will be displayed separated as a number of the total problem count 仅未确认的:仅显示未确认的问题数 |
最小的触发器严重程度级别 | 低于最小的触发器严重程度级别的问题将不会被显示在拓扑图中。例如,如果选择严重级别,那么“信息”和“未分类”触发器严重程度级别的变更将不会在拓扑图中体现。这个参数从Zabbix2.2后开始支持。 |
URLs | 可以定义每个元素的URLs(带有标签)。 当用户在拓扑图的查看模式下点击元素时,它们将会显示为链接。这些[宏]可以在拓扑图URLs中使用: {MAP.ID}、 {HOSTGROUP.ID}、{HOST.ID}、 {TRIGGER.ID} |
1.3、分享
在分享标签页包含拓扑图类型以及权限为私人的拓扑图的共享选项(用户组、用户):
image.png
Tables | Are |
---|---|
参数 | 描述 |
类型 | 选则拓扑图的类型: |
私人的 | 拓扑图只对选定的用户组和用户可见。 |
公开的 | 拓扑图对所有人可见。 |
共享用户组的列表 | 选择拓扑图允许访问的用户组。你可以允许给予只读还是读写权限。 |
共享用户的列表 | 选择拓扑图允许访问的用户。你可以给予只读还是读写权限。 |
注意:当你点击添加以保存这个拓扑图时,你已经创建了一个其名称、尺寸和某些选择参数都为空的拓扑图。现在你需要添加一些元素。为此,在拓扑图列表中点击构造函数来打开编辑区域。
2、添加元素
添加元素,点击图标旁边的添加链接。新的元素将出现在拓扑图的左上角,将其拖到任何你想要的地方。 值得注意的是,“网格”选项为“开”的话,元素将始终与网格对齐(你可以从下拉菜单选择各种不同的网格尺寸,也可以隐藏/显示网格)。如果你想要将元素放到任何地方而不需要对齐,可以将此选项设置为“关”。(随机的元素可以稍后通过对齐图标按钮达到与网格对齐) 现在你已经添加了一些元素,你可能需要通过给每个元素定义名称来区分它们,这时候,可以点击元素图标,之后出现一个表单,你可以在表单上设置元素的类型、设置元素的名称、选择不同的图标等。
image.png
拓扑图元素属性:
参数 | 描述 |
---|---|
类型 | 元素的类型:主机:图标表示的是所选主机的所有触发器的状态;拓扑图:图标表示的是拓扑图所有元素的状态;触发器 : 图标表示的是单个触发器的状态;主机组:图标表示的是所选主机组里的所有主机触发器的状态;图像:一个图标,不会链接到任何资源。 |
标签 | 图元的标签,可以为任何字段。标签中可以使用宏和多行字符串。 |
标签位置 与图标 | 关联的标签位置:默认:拓扑图的默认标签位置; 底部:在图标之下;左边:在左边;右边:在右边;顶部:在图标之上 |
主机 | 如元素类型为“主机”的话,请输入主机。该字段是自动完成的,所以在开始键入主机名称的时候,将在下拉菜单提供与之匹配的主机。向下滚动选择主机。与此可以通过点击“x”来删除所选主机。 |
拓扑图 | 选择拓扑图,如果选择的元素类型为“拓扑图”的话。 |
触发器 | 选择触发器,如果选择的元素类型为“触发器”的话。 |
主机组 | 如果选择的元素类型为“主机组”的话,请输入主机组。该字段是自动完成的,所以在开始键入主机组的时候,将在下拉菜单提供与之匹配的主机组。向下滚动选择主机组。与此可以通过点击“x”来删除所选的主机组。 |
应用集 | 你可以选择一个应用集,允许仅显示属于应用集的触发器的问题。该字段在主机和主机组的元素类型上是可用的。该参数从Zabbix 2.4.0后开始支持。 |
图标自动选择 | 在这种情况,将使用图标映射来确定要使用的图标。 |
图标 | 在这种情况下:默认、问题、维护、禁用,你可以为元素选择显示不同的图标。 |
X轴坐标 | 拓扑图元素的X轴坐标。 |
Y轴左边 | 拓扑图元素的Y轴坐标。 |
URLs | 可以为元素设置元素特定的URLs。当用户在拓扑图查看模式下点击元素时,这些将显示为链接。如果元素具有自己的链接,并且定义了类型为拓扑图级别的URLs,那么它们会被合并到同一菜单中。可以在拓扑图元素URLs中使用的宏为: {MAP.ID}、{HOSTGROUP.ID}、 {HOST.ID}、{TRIGGER.ID} |
3、链路
3.1、链接元素
概述:一旦你在拓扑图上放置了一些元素,那么是时候开始链接它们。要链接两个元素,你必须首先选中它们,当元素被选中时,点击“链接”旁边的“添加”进行链接。
链接属性:
参数 | 描述 |
---|---|
标签 | 将链接顶部呈现的标签。在这个字段支持这个宏 {host:key.func(param)} , 但只能使用“avg”、“last”、“min”和“max”这些触发器函数,这些函数以秒为单位。 |
连接到 | 链接到的元素。 |
类型(OK) | 默认链接的样式:线:单条线;粗线:粗线;点:点;虚线:虚线 |
颜色(OK) | 默认的链接的颜色 |
链接指示器 | 与链接相接的触发器列表。在这种情况下,触发器的状态状态为“问题”,则其样式将应用于该链接。 |
3.2、链接指示器:
3.2.1、概述:
你可以为网络拓扑图中的元素之间的link分配一些触发器。当这些触发器状况为“问题”状态时,可以在链接上体现出来。 当你配置一个链接,你设置为默认的链接类型和颜色。当你分配触发器到一个链接时,你可以为这些触发器分配不同的链接类型和颜色。 如果这些触发器中任何一个进入“问题”状态,它们的链接样式和颜色将显示在链接上。也许你的默认链接为绿线。现在,在“问题”状态的触发器中,你的链接可能会变成粗体红色(如果你已经定义了它)。
3.2.2、配置:
要将触发器分配到链接指示器,需要执行以下步骤:
选择一个拓扑图元素;
在“批量更新元素”的链接属性的相应链接里,点击编辑;
在链接指示器旁边点击添加,选择一个或多个触发器。
image.png
3.2.3、显示:
在Monitoring → Maps中,如果触发器进入“问题”状态,那么在链接上就会显示相应的颜色。
image.png
3.3、宏函数:
3.3.1概述:
有时宏可能会解析为一个不一定易于使用的值。它可能很长,或包含你想提取的一个特殊感兴趣的子字符串。这在宏函数中是可以使用的。
宏函数的语法为:
{<macro>.<func>(<params>)}
<macro> - 这个参数为要定义的宏 (例如 {ITEM.VALUE});
<func> - 要应用的函数;
<params> - 以逗号分隔的函数参数列表。如果他们以'' '' (空格), " 或者包含 ), ,这些符号开始,则参数必须要引用。
3.3.2 常用宏函数:
1、链路流量函数:
{File_Linux_Server:net.if.in["ens"].last()}
参数解释:
上行速率【文字描述根据爱好配置即可】
File_Linux_Server【采样的主机名称】
net.if.in["ens192"]【主机的监控项键值,键值在哪里详见下图】
last()【代表前面键值的单位,保持默认即可】
2、显示主机信息函数:
{HOST.NAME}
{HOST.IP}
4、功能演示:
4.1、Zabbix绘制流量拓扑图
4.1.1、新建拓扑图
image.png4.1.2、在拓扑图中添加主机:点击“地图元素-添加” 增加设备
image.pngimage.png
4.1.3、增加线路
1、Ctrl选中要增加线路的两台设备,然后点击“链接-增加”
2、配置链接
image.png
3、键值查找:
image.png
image.png
image.png
4、将上面的参数信息填到标签中保存,填写完成后点击更新,即可完成拓扑保存。
4.2、子母拓扑图:
4.2.1、创建业务拓扑图(图元)
image.png4.2.2、创建总拓扑图(图元)
image.pngimage.png
4.2.3、展示:
image.pngimage.png
5、聚合监控项算法:
5.1、概述
你可以基于其它监控项创建计算监控项。
因此,计算监控项是创建虚拟数据源的一种方式。这些值将根据算术表达式定期计算。所有计算都由Zabbix服务器完成,与Zabbix代理或代理服务器执行的计算无关。
生成的数据将存储在Zabbix数据库中,与其它任何监控项一样,这意味着存储历史和趋势值,以便快速生成图表。 计算的监控项可用于触发器表达式,由宏或其它实体引用,与任何其它监控项类型相同。
配置方式:
要使用计算监控项,请选择监控项类型"可计算( Calculated)"。
image.png
5.2、 可配置字段
key是唯一的监控项标识符(每个主机)。你可以使用支持的符号创建任何Key名称。
计算定义应在公式(Formula)字段中输入。公式和密钥之间几乎没有连接。Key参数不能以任何方式用于公式中。
一个简单公式的正确语法是:
func(<key>|<hostname:key>,<parameter1>,<parameter2>,...)
参数 | 描述 |
---|---|
func | 触发器表达式支持的functions:last、min、max、avg、count等 |
key | 其数据要使用的另一个监控项的密钥。它可以被定义为key或hostname:key。注意: 将整个Key放在双引号(“...”)中,强烈建议避免由于Key内的空格或逗号而导致错误的解析。如果Key中也有引用的参数,则必须使用反斜杠(\)来转义这些双引号。 参考下面的 示例5 |
parameter(s) | 功能参数(如果需要)。 |
在几种情况下,计算监控项可能不受支持:
1、参考监控项(源数据)被禁用或不受支持;
2、没有数据来计算一个函数;
3、使用不正确的计算语法。
5.3、 常用算法:
5.3.1、使用last功能(+,-,*,/),公式:
100*last("vfs.fs.size[/,free]")/last("vfs.fs.size[/,total]")
5.3.2、使用avg功能,公式:
avg("Zabbix Server:zabbix[wcache,values]",600)
5.3.3、两个功能总和,计算eth0上的总带宽:
last(hostname:net.if.in["eth0"])+last(hostname:net.if.out["eth0"])
5.3.4、计算入站流量的百分比:
100*last(net.if.in[“eth0”])/(last(net.if.in[“eth0”])+last(net.if.out[“eth0”]))
5.3.5、在计算监控项中正确使用聚合。记下双引号在引号键内如何转义:
last("grpsum["video","net.if.out[eth0,bytes]","last"]") / last("grpsum["video","nginx_stat.sh[active]","last"]")
5.4、 举例,怎么实现eth0的带宽值?如何在链路中进行应用?:
5.4.1、怎么实现eth0的总带宽?
image.pngimage.png
image.png
1648609212(1).png
5.4.2、如何在链路中进行应用?
image.pngimage.png
image.png
6、自定义图元:
6.1、概述
Zabbix支持个性化图元创建,满足不同业务需求。
6.2、创建图元步骤:
6.2.1、百度或者别的方式找到我们想要的图片:
image.png6.2.2、把原图加载到Excel中,进行尺寸修正,然后保存图片:
image.png6.2.3、添加进Zabbix中:
image.pngimage.png
image.png
image.png
7、最终拓扑图参考:
image.pngimage.png
image.png