NETGEAR为未管理加强型交换机提供的Prometheus Exporter
首先
NETGEAR的交换机有一种称为无管理加的类别,它在普通的无管理交换机上添加了一些功能,例如VLAN等等。
不幸的是,它没有添加SNMP,因此不能直接在Prometheus中进行监控。
但是,使用该公司生产的ProSAFE Plus实用程序,可以获取每个端口的发送和接收数据量等信息,因此我尝试实现了一个与相同协议对话的Prometheus Exporter。
顺便提一下,ProSAFE Plus的协议是参考了ProSafeLinux进行实施的。这个协议是基于Python开发的命令行工具,虽然已经停止了开发,但大部分功能似乎已经覆盖了。
用法
安全出口商
您可以从上述网站的发布页面下载二进制文件。导出器的设置只需等待端口设置,并且默认情况下不需要参数。
$ prosafe_exporter --web.listen-address=":9493"
在Prometheus服务器的配置中,连接的开关设置与SNMP导出器相同。
- job_name: 'prosafe'
static_configs:
- targets: ['switch1:eth0', '192.128.0.100:enp1s0'] # 対象スイッチ (形式は 'hostname:NIC名')
metrics_path: /probe
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9493 # prosafe_exporterのhostname:port
targets设置中的一个特别之处是其格式是“hostname:NIC名”。这是因为存在“ProSAFE Plus必须将其用于连接的NIC与交换机处于同一子网”的限制(推测)。因此,我们需要使用连接目标主机的主机名(或IP地址)和连接使用的NIC名的配对进行指定。
如果不知道交换机的IP地址,请使用ProSAFE Plus实用工具进行设置。
指标
目前已经实施以下的度量标准。
metricdescriptionlabelsprosafe_upThe last query is successful
prosafe_receive_bytes_totalIncoming transfer in bytesportprosafe_transmit_bytes_totalOutgoing transfer in bytesportprosafe_error_packets_totalTransfer error in packetsportprosafe_link_speedLink speed in Mbpsportprosafe_build_infoprosafe_exporter Build informationversion, revision, rustversion
prosafe_receive_bytes_totalIncoming transfer in bytesportprosafe_transmit_bytes_totalOutgoing transfer in bytesportprosafe_error_packets_totalTransfer error in packetsportprosafe_link_speedLink speed in Mbpsportprosafe_build_infoprosafe_exporter Build informationversion, revision, rustversion
验证行动
我正在使用以下的开关进行确认。
-
- XS708E
-
- GS108Ev3
- GS105Ev2
链路速度支持最高10Gbps,但由于没有2.5Gbps和5Gbps的实机,所以尚未实现(链路速度被视为0)。