snmp_exporter采坑记录
前言
默认已安装prometheus服务
prometheus: 1.1.1.1:9090
snmp_exporter: 2.2.2.2:9116
一、如何生成snmp.yml
yum -y install git
yum -y install gcc gcc-g++ make net-snmp net-snmp-utils net-snmp-libs net-snmp-devel
go get github.com/prometheus/snmp_exporter/generator
cd ${GOPATH-$HOME/go}/src/github.com/prometheus/snmp_exporter/generator
go build
make mibs
执行完上述步骤后,在当前目录下会出现mibs文件夹,里面是下载好的一些mib文件。如果有些oid树是厂家自定义的,则要求厂家提供mib库文件(注意mib文件中,name不能为中文)并放到mibs目录下(原因后面讲)。
vim generator.yml
modules:if_mib:walk:- 1.3.6.1.4.1.41475version: 2auth:community: public
如图,因为我要采集的oid是厂家自定义的,所以写了一个最最简单的generator.yml文件
export MIBDIRS=mibs
./generator generate
export MIBDIRS=mibs就是为了GO程序能够找到你的mib文件,即指向了之前放入自己mib库文件的mibs目录。


将snmp.yml放入下载好的snmp_exporter中
下载地址:链接: https://github.com/prometheus/snmp_exporter/releases
后台启动snmp_exporter服务(根据启动参数修改端口和配置文件)
nohup ./snmp_exporter --config.file=snmp.yml --web.listen-address=:9116 > default.log 2>&1 &
打开2.2.2.2:9116,输入设备所在ip和模块名

prometheus端配置snmp_exporter的抓取和常规方法一样,就不复述了。另外采集到的值都存储在标签中,而value值都为1,具体原因参考如下:
链接: https://www.robustperception.io/why-info-style-metrics-have-a-value-of-1
最后
第一次写博客,有不对的地方忘各位不吝指教。
欢迎各位一起评论区探讨!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
