当前位置:   article > 正文

prometheus snmp采集网络设备数据_bpsnmputil

bpsnmputil


一、准备工作

1.1 安装或关闭以下服务

关闭防火墙等
linux时间校对

1.2 本次安装环境

配置信息说明
服务器IP地址192.168.1.10
交换机IP地址192.168.10.1
上网行为管理IP地址192.168.20.1
系统版本CentOS7.4
内核ml-3.10.0
go版本1.19.4

在本次安装前,先安装好prometheus+grafana。
prometheus+grafana安装文档

二、安装snmp_exporter

2.1 下载并解压

wget -c https://github.com/prometheus/snmp_exporter/releases/download/v0.18.0/snmp_exporter-0.18.0.linux-amd64.tar.gz
tar xf snmp_exporter-0.18.0.linux-amd64.tar.gz 
  • 1
  • 2

2.2配置

mv snmp_exporter-0.18.0.linux-amd64 /home/snmp_exporter   #修改文件名称
cd /home/snmp_exporter/         
 ./snmp_exporter    #启动snmp_exporter
  • 1
  • 2
  • 3

2.3配置service

 vim /usr/lib/systemd/system/snmp_exporter.service
 [Unit]
Description=snmp_exporter
After=network.target

[Service]
ExecStart=/home/snmp_exporter/snmp_exporter \
--config.file=/home/snmp_exporter/snmp.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

2.4其他及测试

systemctl daemon-reload       #重新加载服务配置文件
systemctl start snmp_exporter.service  #启动该服务
systemctl enable snmp_exporter.service #开机自启
systemctl  restart snmp_exporter    #重启该服务
  • 1
  • 2
  • 3
  • 4

访问测试http://192.168.1.10:9116/
在这里插入图片描述

三、go环境配置

由于Prometheus使用go语言开发,自己编译生成snmp_exporter文件需要go环境。

3.1下载并解压

cd /home/
wget https://dl.google.com/go/go1.19.4.linux-amd64.tar.gz
tar xf go1.19.4.linux-amd64.tar.gz 
  • 1
  • 2
  • 3

3.2配置

mkdir /usr/local/gocode         #创建文件
mv go /usr/local/     
vim /etc/profile       #添加文件最后
export GOROOT=/usr/local/go
export GOPATH=/usr/local/gocode
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

source /etc/profile   #保存配置
go version    #安装好后查看版本,判断是否安装成功
go version go1.19.4 linux/amd64
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

3.3安装依赖

yum  install gcc gcc-g++ make net-snmp net-snmp-utils net-snmp-libs net-snmp-devel -y
  • 1

3.4编译snmp.yml

git clone https://github.com/prometheus/snmp_exporter.git 
go env -w GO111MODULE=on    #GO111MODULE开启
go env -w GOPROXY=https://goproxy.cn,direct     #选择国内代理
cd /snmp_exporter/generator               
go build
make mibs       #生成mibs后,将交换机、防火墙、上网行为管理等设备MIB文件上传到该文件夹
vim generator.yml    #将所需要监控的项添加进去
modules:
  SW:              #需要和prometheus.yml的module一致,多个设备可调用同一个模块
    walk:
      - 1.3.6.1.2.1.2.2.1                     #接口当前接收和发送报文流量统计信息
      - 1.3.6.1.2.1.1.3                       #从系统网管部分启动以来运行的时间
      - 1.3.6.1.2.1.1.5                       #设备名称
      - 1.3.6.1.2.1.2.2.1.8                   #接口当前的状态
      - 1.3.6.1.4.1.2011.5.25.41.1.7.1.1.8    #入方向带宽占用率
      - 1.3.6.1.2.1.31.1.1.1.6                #接口上接收到的字节总数,包括成帧的字符
      - 1.3.6.1.2.1.31.1.1.1.10               #接口发送的字节总数,包括成帧字符
      - 1.3.6.1.2.1.31.1.1.1.1                #由本地设备分配的接口名
      - 1.3.6.1.2.1.31.1.1.1.18               #该节点是由网络管理员指定的接口别名
      - 1.3.6.1.4.1.2011.5.25.41.1.7.1.1.8    #入方向带宽占用率
      - 1.3.6.1.4.1.2011.5.25.41.1.7.1.1.10   #出方向带宽占用率
      - 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.11   #温度
      - 1.3.6.1.2.1.31.1.1.1.6              #接口上接收到的字节总数,包括成帧的字符
      - sysUpTime  

    version: 2
    auth:
      community: test     #snmp团体号

  sanfor:       #用于上网行为管理
    walk:
      - sysUpTime
      - sysName
      - ifMtu
      - interfaces
      - ifDescr
      - ifIndex
      - ifType
      - ifPhysAddress
      - ipNetToMediaType
      - ifOutUcastPkts
      - ifOutOctets
      - ifInOctets

    version: 2
    auth:
      community: test
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
export MIBDIRS=mibs      
./generator generate     #编译成功后,会自动生成snmp.yml文件
mv snmp.yml /home/snmp_exporter/snmp.yml  #将snmp.yml文件传到snmp_exporter安装目录下
systemctl  restart snmp_exporter   #重启该服务
  • 1
  • 2
  • 3
  • 4

3.5测试

snmpwalk -v 2c -c test 192.168.10.1 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5       #test是交换机snmp团体号,192.168.10.1是交换机地址 后续数字是oid
  • 1

3.6配置prometheus.yml

vim /usr/local/prometheus/prometheus.yml 
scrape_configs:
   - job_name: 'prometheus'
     static_configs:
       - targets: ["192.168.1.10:9100"]        #prometheus安装服务器

   - job_name: 'SW'
     scrape_interval: 30s
     static_configs:
       - targets: ["192.168.10.1"]       #被监控交换机
       - targets: ["192.168.10.2"]       #如果有其他交换机,且型号一致可以用一个模块
     metrics_path: /snmp
     params:
       module: [SW]         #需要和
     relabel_configs:
       - source_labels: [__address__]
         target_label: __param_target
       - source_labels: [__param_target]
         target_label: instance
       - target_label: __address__
         replacement: 192.168.1.10:9116      #snmp_exporter服务器地址
         
   - job_name: "ShangWxingXingWeiGL"
     scrape_interval: 30s
     static_configs:
       - targets: ["192.168.20.1"]
     metrics_path: /snmp
     params:
       module: [sanfor]
     relabel_configs:
       - source_labels: [__address__]
         target_label: __param_target
       - source_labels: [__param_target]
         target_label: instance
       - target_label: __address__
         replacement: 192.168.1.10:9116
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
systemctl  restart snmp_exporter #配置完毕后重启该服务,访问192.168.1.10:9090,选择status→targets查看
  • 1

在这里插入图片描述

PS:没有调通显示红色。

四、其他

4.1go报错

在本次安装时,go环境安装各种报错,部分忘记记录。

go build时报错
/usr/local/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/bin/ld: /tmp/go-link-3620805256/000005.o: unrecognized relocation (0x2a) in section `.text'
/usr/bin/ld: final link failed: 错误的值
collect2: 错误:ld 返回 1
以上报错,查看binutils版本是否过低,过低需要安装新版本,本次安装时,升级binutils解决该报错
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

4.2 ./generator generate编译报错

这一步报错,一般是generator.yml文件添加的oid参数和mibs里不一致导致。删除报错项后编译成功。

4.3工具推荐

MIB Browser查看设备mid
在这里插入图片描述

BPSNMPUtil 查看设备mib
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/156682
推荐阅读
相关标签
  

闽ICP备14008679号