SNMP-Exporter监控SNMP设备
docker环境下,安装一个snmp.yml文件编译环境。采用docker方式,便于后期环境移植。
1、下载centos镜像docker
docker pull centos:7.6.1810
2、新建一个基于centos镜像的构建容器
#第一次
docker run -dit --network=host -v snmp-generator:/root/go --name=snmp-generator centos:7.6.1810
#后续
docker run -dit --network=host -v snmp-generator:/root/go --name=snmp-generator snmp-generator:0.20
3、进入容器,4-9操作均在容器内进行。
docker exec -it snmp-generator bash
4、在容器中安装编译环境
#安装go,将go的安装包上传至/home下,并解压至指定目录
tar -C /usr/local/ -xvf go1.17.7.linux-amd64.tar.gz
#配置环境变量
vim ~/.bashrc
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
source ~/.bashrc
#验证
go version
#设置GO PROXY
go env -w GOPROXY=https://goproxy.cn,direct
#安装git
yum -y install git
#安装snmp编译依赖
yum -y install gcc gcc-g++ make net-snmp net-snmp-utils net-snmp-libs net-snmp-devel
5、下载snmp-exporter
go get github.com/prometheus/snmp_exporter/generator
6、进入文件夹,执行命令,生成generator
cd /root/go/pkg/mod/github.com/prometheus/snmp_exporter@v0.20.0/generator
#生成generator
go build
7、上传mib库文件至/root/go/pkg/mod/github.com/prometheus/snmp_exporter@v0.20.0/generator
8、修改generator.yml
modules:
# Default IF-MIB interfaces table with ifIndex.
huawei_mib:
walk:
- sysUpTime
- interfaces
- ifXTable
- sysDescr
- sysName
- 1.3.6.1.2.1.31.1.1.1.1
- 1.3.6.1.4.1.2011.5.25.38
- 1.3.6.1.2.1.80
- 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.2 #实体操作状态
- 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5 #实体CPU使用率
- 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7 #实体内存使用率
- 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.10 #实体启动时间
- 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11 #实体温度
- 1.3.6.1.2.1.80.1.2.1.4 #测试的目的地址
version:
auth:
community: public0001
lookups:
- source_indexes: [ifIndex]
lookup: ifAlias
- source_indexes: [ifIndex]
# Uis OID to avoid conflict with PaloAlto PAN-COMMON-MIB.
lookup: 1.3.6.1.2.1.2.2.1.2 # ifDescr
- source_indexes: [ifIndex]
# Use OID to avoid conflict with Netscaler NS-ROOT-MIB.
lookup: 1.3.6.1.2.1.31.1.1.1.1 # ifName
overrides:
ifAlias:
ignore: true # Lookup metric
ifDescr:
ignore: true # Lookup metric
ifName:
ignore: true # Lookup metric
ifType:
type: EnumAsInfo
9、编译执行,生成snmp.yml
export MIBDIRS=mibs
./generator generate
10、启动snmp_exporter
#将上一步生成的snmp.yml拷贝到snmp_exporter目录下替换原来的snmp.yml文件,并启动。可以采用docker或二进制形式
./snmp_exporter
网友评论