Prometheus SNMP Exporter
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Prometheus SNMP Exporter相关的知识,希望对你有一定的参考价值。
参考技术A Prometheus SNMP Exporter 项目地址SNMP Exporter 从 SNMP 服务中采集信息提供给 Promethers 监控系统使用。
有两个部分,执行提供数据的 exporter,以使用的 generator
(取决于netsnmp)生成配置为 exporter 提供配置。
默认情况下,snmp exporter 从 snmp.yml 文件中读取配置。此文件不是手动编写的,而是使用 generator 为您生成它。
默认配置的 snmp.yml 配置文件中包含各种公共硬件,对于这些硬件,mib对常见设备通用,使用 snmp v2 GETBULK 可以遍历它们。
除了最简单的设置外,您还需要使用生成器。需要定制哪些对象是遍历的,使用非公开 MIB 或指定认证参数。
SNMP Exporter 需要将地址作为参数传递,这可以通过重新标记来完成。
示例:
这种配置允许 Prometheus 提供调度和服务自动发现,这与不能在我们要从其获取指标的机器上运行 Exporter 的所有其他 Exporter 有所不同。
为 Counter64 较大的值提供准确的计数器,exporter 将为每 2^53 值自动包装,以避免 64 位浮点舍入。
要禁用此功能,请使用命令行参数 --no-snmp.wrap-large-counters 。
Prometheus 采集snmp监控数据
download snmp_exporter
- snmp_exporter采集数据
snmp_exporter 一键监控安装脚本
vim /snmp_exporter.sh
#!/bin/sh
# -*- coding: utf-8 -*-
# Date: 2022/11/18
echo "download snmp_exporter"
sleep 2
wget -N -P /root/ https://github.com/prometheus/snmp_exporter/releases/download/v0.20.0/snmp_exporter-0.20.0.linux-amd64.tar.gz
echo "decompression snmp_exporter"
sleep 2
tar -zxf /root/snmp_exporter-0.20.0.linux-amd64.tar.gz -C /usr/local/
echo "services scenarios snmp_exporter"
sleep 2
cat >>/usr/lib/systemd/system/snmp_exporter.service<<EOF
[Unit]
Description=snmp_exporter
Documentation=https://github.com/prometheus/snmp_exporter
After=network.target
[Service]
ExecStart=/usr/local/snmp_exporter-0.20.0.linux-amd64/snmp_exporter \\
--config.file=/usr/local/snmp_exporter-0.20.0.linux-amd64/snmp.yml \\
--web.listen-address=:9116
--snmp.wrap-large-counters \\
--log.level=info
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
echo "firewall snmp_exporter port"
sleep 2
firewall-cmd —zone=public —add-port=9116/tcp —permanent && firewall-cmd —reload
echo "start snmp_exporter"
sleep 2
systemctl daemon-reload && systemctl enable --now snmp_exporter
执行安装
sh /snmp_exporter.sh
配置snmp.yml
vim /usr/local/snmp_exporter-0.20.0.linux-amd64/snmp.yml
- 增加以下内容到6088行
version: 2 # SNMP版本,交换机配置多少就是多少,如果配置all ,那就随意选择
auth:
community: 1234.com # SNMP 认证密钥
重启服务
systemctl restart snmp_exporter
查看采集情况
curl 'http://YOU_snmp_exporter_IP:9116/snmp?module=if_mib&target=YOU_SW_IP'
查看是否可以看到数据
- http://YOU_snmp_exporter_ip:9116
- Target #是交换机IP
- Module #是你的snmp.yml 配置文件内部定义的名称
Prometheus 配置文件配置
- prometheus.yml
- replacement 是snmp_exporter地址和端口
- job_name: 'snmp_exporter'
scrape_interval: 30s
scrape_timeout: 30s
static_configs:
- targets:
- 192.168.14.3
- 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: YOU_snmp_exporter_IP:9116
以上是关于Prometheus SNMP Exporter的主要内容,如果未能解决你的问题,请参考以下文章
Prometheus:帮助编辑/配置 Cisco MIB 的 snmp_exporter 的 generator.yml 文件