场景模拟:
某企业的运维人员想用zabbix监控以前购买的一批网络设备的光口的状态利用率,电压等信息,他们发现这台网络设备是支持snmp协议的,于是他们想通过snmp协议进行监控。但是由于这台设备的维保期已过,客服无法给他们提供oid文件。让该企业的运维人员无从监控。这时候他们发现zabbix有一种ssh的监控方式。于是他们打算使用该方式通过ssh获取数据。

需求分析:

  1. 光模块应该是多个,如果要监控多个光口的状态,电压,应该做成自动发现

  2. 通过ssh监控,执行语句后,返回的光口信息为字符串,需要额外处理。

需求实现:

创建一个监控项,类型为ssh客户端。

名称:自定义

类型为ssh客户端

键值ssh.run[自定义(以执行的命令命名比较好),设备IP,,]

认证方法:密码(用账号和密码登录)

用户名:ssh的用户名(一般用宏比较好,有可能是多台)

密码:ssh的密码 (一般用宏比较好,有可能是多台)

已执行脚本 : 需要执行的命令
Zabbix通过ssh监控方式获取网络设备的数据_第1张图片
Zabbix通过ssh监控方式获取网络设备的数据_第2张图片
这时候自动发现的监控项就会提示报错,说这不是json格式。所以要对该数据处理。在zabbix4.X版本后,可以用javascript对监控项的值做处理。
Zabbix通过ssh监控方式获取网络设备的数据_第3张图片

把自动发现的结果用javascript处理后,变成了正确的json格式后,再创建监控项原型。
Zabbix通过ssh监控方式获取网络设备的数据

最后等待数据出来
Zabbix通过ssh监控方式获取网络设备的数据_第4张图片

监控成功

技术交流欢迎加入Q群:177428068