@Prometheus监控网络设备-SNMP Exporter

1. 目的

本文档旨在提供使用Prometheus监控网络设备(如交换机、路由器、防火墙等)的标准操作流程(SOP),确保网络设备的状态、性能及可用性得到有效监控。

2. 适用范围

适用于使用Prometheus监控基于SNMP/API/SSH等协议的网络设备,包括但不限于:

  • 交换机(Cisco、Huawei、HPE等)
  • 路由器(Juniper、MikroTik等)
  • 防火墙(FortiGate、Palo Alto等)

3. 前提条件

  • Prometheus Server 已部署并运行
  • Grafana(可选,用于可视化)
  • 网络设备支持SNMP/API/SSH(确保SNMP community/API密钥/SSH凭据可用)
  • Exporter(如snmp_exporterblackbox_exporter等)已部署

4. 详细操作步骤

4.1 配置网络设备SNMP(以Cisco为例)

enable
configure terminal
snmp-server community public RO  # 设置SNMP只读Community(建议替换为强密码)
snmp-server host <Prometheus_IP> version 2c public  # 允许Prometheus访问SNMP
exit
write memory  # 保存配置

4.2 部署SNMP Exporter

4.2.1 下载并安装snmp_exporter
wget https://github.com/prometheus/snmp_exporter/releases/download/v0.21.0/snmp_exporter-0.21.0.linux-amd64.tar.gz
tar -xvf snmp_exporter-0.21.0.linux-amd64.tar.gz
cd snmp_exporter-0.21.0.linux-amd64
./snmp_exporter --config.file=snmp.yml &
4.2.2 配置snmp.yml

修改snmp.yml(默认支持Cisco、Juniper等设备):

modules:
  if_mib:
    walk:
      - 1.3.6.1.2.1.2  # 接口信息
      - 1.3.6.1.2.1.31.1.1 # 接口扩展信息
    version: 2
    auth:
      community: public  # 替换为设备的SNMP Community

4.3 配置Prometheus采集SNMP数据

修改prometheus.yml,添加snmp_exporter job:

scrape_configs:
  - job_name: 'snmp'
    static_configs:
      - targets:
        - 192.168.1.1  # 交换机IP
        - 192.168.1.2  # 路由器IP
    metrics_path: /snmp
    params:
      module: [if_mib]
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: <SNMP_EXPORTER_IP>:9116  # snmp_exporter地址

重启Prometheus:

systemctl restart prometheus

4.4 验证数据采集

访问 http://<Prometheus_IP>:9090/targets,确认SNMP target状态为 UP

4.5 (可选)配置Grafana仪表盘

  1. 添加Prometheus数据源
  2. 导入SNMP仪表盘(如ID: 10567,Cisco设备监控模板)

5. 监控指标说明

指标名称说明
ifOperStatus接口状态(1=UP, 2=DOWN)
ifInOctets接口接收字节数
ifOutOctets接口发送字节数
sysUpTime设备运行时间
icmp_ping网络延迟(需结合blackbox_exporter

6. 告警规则配置(示例)

在Prometheus alert.rules 中添加:

groups:
- name: network_alerts
  rules:
  - alert: InterfaceDown
    expr: ifOperStatus == 2
    for: 5m
    labels:
      severity: critical
    annotations:
      summary: "Interface down on {{ $labels.instance }}"
      description: "Interface {{ $labels.ifDescr }} is DOWN"

7. 故障排查

问题解决方案
SNMP超时检查设备SNMP配置、防火墙规则
无数据验证Prometheus target状态,检查snmp_exporter日志
指标不全检查snmp.yml是否包含对应OID

8. 维护与优化

  • 定期检查:确保SNMP Exporter和Prometheus运行正常
  • 更新MIB库:根据设备型号调整snmp.yml
  • 优化查询:避免高频采集影响设备性能

9. 参考文档


此SOP提供了完整的Prometheus监控网络设备的流程,涵盖配置、采集、告警和可视化,适用于企业级运维场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值