

snmp_exporter是一个用于收集SNMP(Simple Network Management Protocol)设备指标的开源软件,它是Prometheus生态系统中的一个组件。SNMP是一种用于网络设备监控和管理的协议,通过查询和获取设备的各种信息来提供实时的状态和性能数据。
snmp_exporter充当一个代理,运行在需要被监控的SNMP设备(如路由器、交换机、防火墙等)的旁边。它会定期向这些设备发送SNMP请求,获取特定的OID(Object Identifier)值,并将其转换为Prometheus可读的指标数据。
snmp_exporter可以提供各种与SNMP设备相关的指标,如接口流量、CPU利用率、内存使用情况、链路状态、错误计数等。这些指标可以帮助管理员了解设备的运行状况、网络流量情况和性能指标,并及时做出反应。
通过将snmp_exporter与Prometheus结合使用,管理员可以定期从snmp_exporter暴露的HTTP或HTTPS端点获取SNMP设备的指标数据,并将其存储、分析和可视化。使用Prometheus的查询语言,用户可以构建自定义的监控规则和警报条件,以便快速检测和响应设备问题。
vim /snmp_exporter.sh
- #!/bin/bash
- # -*- coding: utf-8 -*-
- # Author: make.han
- # Email: CIASM@CIASM
- # Date: 2024/01/17
-
- OPT_CATALOGUE=/opt
- SNMP_EXPORTER_PREFIX=/opt/snmp_exporter
- SNMP_EXPORTER_URL=https://github.com/prometheus/snmp_exporter/releases/download/v0.25.0/snmp_exporter-0.25.0.linux-amd64.tar.gz
- SNMP_EXPORTER_GZ=snmp_exporter-0.25.0.linux-amd64.tar.gz
- SNMP_EXPORTER_DIRECTORY=snmp_exporter-0.25.0.linux-amd64
- SNMP_EXPORTER_NEW=snmp_exporter
- SNMP_EXPORTER_PORT=9116
-
- install_snmp_exporter (){
- if [ ! -d ${SNMP_EXPORTER_PREFIX} ];then
-
- # selinux stop
- setenforce 0
- sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
-
- if [ $? -eq 0 ];then
-
- echo "download snmp_exporter"
- curl -o $OPT_CATALOGUE/$SNMP_EXPORTER_GZ $SNMP_EXPORTER_URL
-
- echo "decompression snmp_exporter"
- tar -zxf $OPT_CATALOGUE/$SNMP_EXPORTER_GZ -C $OPT_CATALOGUE
-
- echo "rechristen snmp_exporter"
- mv $OPT_CATALOGUE/$SNMP_EXPORTER_DIRECTORY $SNMP_EXPORTER_PREFIX
-
- echo "firewall snmp_exporter port"
- firewall-cmd --zone=public --add-port=$SNMP_EXPORTER_PORT/tcp --permanent && firewall-cmd --reload
-
- echo "services scenarios snmp_exporter"
- cat <<'EOF'>>/usr/lib/systemd/system/snmp_exporter.service
- [Unit]
- Description=snmp_exporter
- Documentation=https://github.com/prometheus/snmp_exporter
- After=network.target
-
- [Service]
- ExecStart=/opt/snmp_exporter/snmp_exporter \
- --config.file=/opt/snmp_exporter/snmp.yml \
- --web.listen-address=:9116
- Restart=on-failure
-
- [Install]
- WantedBy=multi-user.target
- EOF
-
- echo "start snmp_exporter"
- systemctl daemon-reload
- systemctl enable --now snmp_exporter
-
- echo "delete snmp_exporter"
- rm -rf $OPT_CATALOGUE/$SNMP_EXPORTER_GZ
-
- echo -e "\033[32mThe snmp_exporter Install Sussess...\033[0m"
- else
- echo -e "\033[33mThe snmp_exporter Install Failed...\033[0m"
- exit 1
- fi
- else
- echo -e "\033[31mThe snmp_exporter Install already...\033[0m"
- fi
- }
-
- main (){
- install_snmp_exporter
- }
-
- main
bash /snmp_exporter.sh
- auths:
- public_v1:
- community: 1234.com
- version: 1
- public_v2:
- community: 1234.com
- version: 2
systemctl restart snmp_exporter
curl 'http://YOU_snmp_exporter_IP:9116/snmp?module=if_mib&target=YOU_SW_IP'


- - job_name: 'snmp_exporter'
- scrape_interval: 30s
- scrape_timeout: 30s
- static_configs:
- - targets:
- - 192.168.14.2
- - 192.168.14.1
- 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: 192.168.11.98:9116



Import>20347>Prometheus 新版本图形显示比较完整,建议使用新版本
