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

验证行动

我正在使用以下的开关进行确认。

    • XS708E

 

    • GS108Ev3

 

    GS105Ev2

链路速度支持最高10Gbps,但由于没有2.5Gbps和5Gbps的实机,所以尚未实现(链路速度被视为0)。

广告
将在 10 秒后关闭
bannerAds