美文网首页
Prometheus监控实战(四)Prometheus监控SNM

Prometheus监控实战(四)Prometheus监控SNM

作者: 工匠 | 来源:发表于2022-03-01 16:30 被阅读0次

    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
    

    相关文章

      网友评论

          本文标题:Prometheus监控实战(四)Prometheus监控SNM

          本文链接:https://www.haomeiwen.com/subject/pgzdrrtx.html