利用Zabbix内置 Maps模块展示主机数据指标以及如何关联触发器构建业务地图让异常指标更加直观呈现。将从网络设备、服务器和IP主机去解析Zabbix Maps 数据可视化的实现方式,实际业务不限于以下指标,通俗讲只要可以采集的数据指标都可以在zabbix Maps 中呈现。
Zabbix Maps展示的前提是目标设备已经通过zabbix-agent 、snmp 等方式正常数据采集 。Zabbix Maps 其核心是通过调用监控项键值Item key进行数据实时更新展示。
Zabbix6.0 LTS 标签格式对于之前的版本有所变化,具体如下:
Linux服务器Label示例
代码语言:javascript复制{HOST.NAME}
{HOST.CONN}
Incoming network:{?last(//net.if.in["ens160"])}
Outgoing network:{?last(//net.if.out["ens160"])}
CPU:{?last(//system.cpu.util)}
Memory:{?last(//vm.memory.utilization)}
Free memory:{?last(//vm.memory.size[available])}
Used Disk /:{?last(//vfs.fs.size[/,pused])}
Local Time:{?last(//system.localtime)}
链路延迟Label示例
代码语言:javascript复制{HOST.NAME}
{HOST.CONN}
链路延迟:{?last(//icmppingsec)}
链路状态:{?last(//icmpping)}
链路丢包率:{?last(//icmppingloss)}
交换机Label示例
不同品牌和同一品牌不同型号的网络设备通过LLD自动发现的键值key会存在差异以Zabbix生成的键值key为准
代码语言:javascript复制{HOST.NAME}
{HOST.CONN}
CPU:{?last(//system.cpu.util[hh3cEntityExtCpuUsage.212])}
Memory:{?last(//vm.memory.util[hh3cEntityExtMemUsage.212])}
Temperature:{?last(//sensor.temp.value[hh3cEntityExtTemperature.212])}
服务器链路Label示例
代码语言:javascript复制IN:{?last(/Zabbix server M/net.if.in["ens160"])}
OUT:{?last(/Zabbix server M/net.if.out["ens160"])}
网络设备链路Label示例
代码语言:javascript复制IN:{?last(/192.168.99.254/net.if.in[ifHCInOctets.637])}
OUT:{?last(/192.168.99.254/net.if.out[ifHCOutOctets.637])}
ZABBIX Maps 配置
创建拓扑图
参数配置
编辑拓扑图添加图标
以服务器为例点击图标后选择类型为主机并输入相应的Label和选择对应的主机
其他种类的主机配置方法步骤相同
主机标签格式:自定义名称:{?last(//itemkey)}
链路标签
链路标签格式:自定义名称:{?last(/主机名/itemkey)}
注意:是主机名称而不是可见的名称
触发器链路关联
编辑链接
配置链接的触发器
ZABBIX Maps 可视化展示