Zabbix 支持通过 SSH 采集方式对交换机等网络设备进行数据采集。以下是实现这一功能的步骤和注意事项:
1. 配置 Zabbix Server 支持 SSH
确保 Zabbix Server 安装了必要的库来支持 SSH 连接。如果从源代码编译 Zabbix,需要确保在编译时链接了 libssh2 库。
2. 创建 SSH 监控项
在 Zabbix Web 界面中,可以创建 SSH 类型的监控项来执行特定的命令并获取输出。以下是创建 SSH 监控项的步骤:
-
导航到“配置” > “主机” :选择需要监控的主机。
-
添加监控项:点击“监控项”选项卡,然后点击“创建监控项”。
-
设置监控项类型为“SSH 客户端” :
- 名称:自定义监控项名称。
- 键值:
ssh.run[命令,设备IP,端口],其中命令是你希望在设备上执行的命令。 - 认证方法:可以选择“密码”或“密钥文件”。
- 用户名:SSH 用户名。
- 密码:SSH 密码(如果使用密码认证)。
- 私钥文件:SSH 私钥文件路径(如果使用密钥认证)。
- 公钥文件:SSH 公钥文件路径(如果使用密钥认证)。
- 已执行脚本:需要在设备上执行的命令。
3. 处理返回数据
通过 SSH 执行命令后,返回的数据通常是字符串。如果需要将这些数据转换为 Zabbix 可以处理的格式(如 JSON),可能需要使用 JavaScript 对监控项的值进行处理。
4. 自动发现
如果需要监控多个接口或模块,可以使用 Zabbix 的自动发现功能。自动发现可以帮助你动态地发现并监控设备上的多个接口。
5. 示例
假设你需要监控交换机的某个接口的电压信息,可以通过以下命令获取:
display interface gigabitethernet 0/0/1 | include Voltage
在 Zabbix 中,创建一个 SSH 监控项,键值为:
ssh.run[display interface gigabitethernet 0/0/1 | include Voltage,设备IP]
注意事项
- 命令输出:某些命令的输出可能需要进一步处理才能被 Zabbix 正确解析。
- 安全性:使用密钥认证比密码认证更安全,因此应优先使用密钥认证。
通过以上步骤,就可以使用 Zabbix 通过 SSH 采集方式对交换机的相关数据进行采集。