snmp-exporter的搭建

1、创建/data/apps目录,并且下载snmp_exporter压缩包

mkdir -p /data/apps
​
cd /data/apps
​
wget https://mirror.ghproxy.com/https://github.com/prometheus/snmp_exporter/releases/download/v0.25.0/snmp_exporter-0.25.0.linux-amd64.tar.gz
或者
wget https://github.com/prometheus/snmp_exporter/releases/download/v0.25.0/snmp_exporter-0.25.0.linux-amd64.tar.gz

2、解压压缩包到/usr/local,并且重创建软链接

tar -zxvf snmp_exporter-0.25.0.linux-amd64.tar.gz -C /usr/local
​
cd /usr/local
​
ln -s snmp_exporter-0.25.0.linux-amd64 snmp_exporter

3、使用systemctl管理snmp_exporter

vi /usr/lib/systemd/system/snmp_exporter.service
​
[Unit]
Description=snmp_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
ExecStart=/app/module/snmp_exporter/snmp_exporter --web.listen-address=:9116 --config.file=/app/module/snmp_exporter/snmp.yml
ExecReload=/bin/kill -HUP $MAINPID
TimeoutStopSec=20s
Restart=always
[Install]
WantedBy=multi-user.target

4、设置开机自启并且开启snmp_exporter服务,最后查看服务状态

systemctl enable snmp_exporter && systemctl start snmp_exporter && systemctl status snmp_exporter
​
iptables -I INPUT -p tcp --dport 9116 -j ACCEPT 

iptables-save 

5、在prometheus服务器追加snmp-exporter节点监控的配置

vi /usr/local/prometheus/prometheus.yml

- job_name: 'snmp_exporter'
    scrape_interval: 60s
    scrape_timeout: 30s
    metrics_path: /snmp
    params:
    auth: [public_v2]
    module: [if_mib]
    static_configs:
    - targets: ["SNMP设备IP地址","tcp://SNMP设备IP地址:1161"] # SNMP device and SNMP device using TCP transport and custom port.
    relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: snmp-exporter节点地址:9116  # The SNMP exporter's real hostname:port.
​

6、检查prometheus.yml格式

cd /usr/local/prometheus/

./promtool check config prometheus.yml

7、热加载prometheus配置

curl  -X POST http://127.0.0.1:9090/-/reload
​

8、交换机设备命令

system-view
​
vlan 10 //创建snmp的vlan

interface vlan 10 //配置snmp_vlan的ip地址
 desc snmp_vlan
 ip add X.X.X.X 24 

interface g0/0/1 //划分vlan到接口上
 desc snmp
 port link access
 port default vlan 10
​
//snmp配置命令

snmp-agent
snmp-agent community read  public
snmp-agent sys-info version v2c v3
snmp-agent target-host trap address udp-domain X.X.X(snmp-exporter的IP地址) params securityname public v2c
snmp-agent trap source Vlanif10 
snmp-agent trap enable
​
quit

save
### 使用 Prometheus 监控网络交换机 #### 安装 SNMP Exporter 为了实现对网络设备如交换机的监控,通常会采用SNMP协议来收集数据。Prometheus本身并不直接支持SNMP,而是通过外部工具`snmp_exporter`作为桥梁来获取这些信息[^3]。 下载适合操作系统的版本并解压到指定目录下: ```bash wget https://github.com/prometheus/snmp_exporter/releases/download/v0.19.0/snmp_exporter-0.19.0.linux-amd64.tar.gz tar zxvf snmp_exporter-0.19.0.linux-amd64.tar.gz cd snmp_exporter-0.19.0.linux-amd64/ ``` 启动SNMP导出器服务: ```bash ./snmp_exporter --config.file=snmp.yml & ``` #### 创建 `snmp.yml` 文件 此文件定义了哪些OIDs应该被查询以及它们代表什么指标。对于特定型号的硬件(比如华为交换机),可能需要自定义这个配置文件以匹配厂商提供的MIB库。可以利用官方提供的Generator生成器来自动生成大部分所需设置。 访问[SNMP Exporter Generator](http://exporters.github.io/snmp/trap-to-metric/)页面,在线创建适用于目标设备类型的YAML格式配置文档,并保存为本地路径下的`snmp.yml`。 #### 更新 Prometheus 配置 编辑Prometheus的主要配置文件`prometheus.yml`,加入新的job条目指向之前部署好的SNMP exporter实例地址: ```yaml scrape_configs: - job_name: 'network_devices' static_configs: - targets: ['<ip_of_switch>:9116'] labels: alias: '<friendly_device_name>' ``` 这里假设SNMP exporter监听于端口9116上运行;替换其中的占位符为实际IP地址和友好名称以便识别不同节点的数据源[^2]。 完成上述更改之后,记得重启或重载Prometheus使新设定生效: ```bash systemctl reload prometheus ``` 此时应当可以在Prometheus Web界面中看到新增加的目标及其采集回来的各项性能统计图表了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值