Prometheus监控系统:监控交换机流量、状态等(snmp 您所在的位置:网站首页 ip流量监控工具有哪些 Prometheus监控系统:监控交换机流量、状态等(snmp

Prometheus监控系统:监控交换机流量、状态等(snmp

2023-07-22 12:04| 来源: 网络整理| 查看: 265

默认已安装Prometheus服务 Prometheus服务地址:192.168.0.254:9090 交换机ip地址:192.168.0.67

文章目录 一、准备1.1 下载相应交换机厂家提供的交换机mib文件1.2 环境安装 二、配置snmp_exporter2.1 测试SNMP2.2 git snmp_exporter2.3 go国内代理2.4 build generator2.5 编译generator.yml生成snmp.yml2.6 启动snmp_exporter服务2.7 测试snmp_exporter是否能够采集到数据(成功采集)2.8 设置snmp_exporter启动 三、修改prometheus.yml配置文件3.1 重新加载prometheus.yml配置文件3.2 浏览器访问http://192.168.0.254:9090/targets 查看snmp监控信息 四、配置Grafana可视化

一、准备 1.1 下载相应交换机厂家提供的交换机mib文件

如我的交换机是华为S5700交换机,我需要到华为官网上找到S5700型号的mib文件并下载。 在这里插入图片描述

1.2 环境安装

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

yum install go -y

安装依赖模块

yum install -y epel-release yum install git -y yum group install -y "Development Tools" yum install -y wget net-snmp net-snmp-utils net-snmp-libs net-snmp-devel golang p7zip* 二、配置snmp_exporter 2.1 测试SNMP

(pubilc0001是团体名,.1表示查看所有信息)

snmpwalk -v 2c -c public0001 192.168.0.67 .1

在这里插入图片描述

2.2 git snmp_exporter cd / git clone https://github.com/prometheus/snmp_exporter.git 2.3 go国内代理 export GO111MODULE=on export GOPROXY=https://goproxy.cn,direct 2.4 build generator go get github.com/prometheus/snmp_exporter/generator cd snmp_exporter/generator/ go build

无须执行make mibs,只需要将1.1步下载的交换机mib文件上传到generator目录下就好

2.5 编译generator.yml生成snmp.yml

snmp_exporter的配置文件snmp.yml需要自己通过SNMP Exporter Config Generator 项目编译生成 参考方法:https://github.com/prometheus/snmp_exporter/tree/master/generator#file-format

我这里没有使用下载的generator.yml文件,我是按照自己的需要写的,需要注意的两个点: (1)walk下面写的是你需要查询的信息对应的oid,这个像华为交换机都是可以在原厂文档上查的到的; (2)还有一点就是community这个要写自己设置的团体名的,如果不知道可以自己手动设置一个,我这里设置的是public0001。 其他的地方基本不需要修改,huawei_mib这个也可以改,后面使用snmp查的时候、写prometheus配置文件的时候对应也写自己刚刚修改的mib名称就好。

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

执行编译generator.yml生成snmp.yml文件

export MIBDIRS=mibs ./generator generate

如果mib库文件、自己写的generator.yml文件也没问题正常,会生成一个snmp.yml文件

2.6 启动snmp_exporter服务

参考方法:https://github.com/prometheus/snmp_exporter/#prometheus-snmp-exporter

将2.4生成的snmp.yml拷贝到snmp_exporter目录下替换原来的snmp.yml文件。 启动snmp_exporter服务

cd /root/snmp_exporter ./snmp_exporter 2.7 测试snmp_exporter是否能够采集到数据(成功采集)

Target填写交换机ip地址 Module是写的自己在2.5步设置的mib名称 在这里插入图片描述 采集结果(部分展示) 在这里插入图片描述

2.8 设置snmp_exporter启动

snmp_exporter遇到一个比较烦的问题就是如果会话断开的话,相应的snmp_exporter服务也将停止。这时,我们可以使用Screen命令来解决这个问题:https://blog.csdn.net/YI_XNH/article/details/111215789

三、修改prometheus.yml配置文件

在prometheus.yml文件中添加job监控交换机

- job_name: 'snmp' # 采集超时:10s scrape_interval: 10s static_configs: - targets: - 192.168.0.67 #交换机ip metrics_path: /snmp params: module: [huawei_mib] #修改成2.4步自己设置的mib名称 relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 192.168.0.254:9116 # 安装snmp_exporter主机的ip和端口号 3.1 重新加载prometheus.yml配置文件

查看prometheus的pid(9090端口)

ss -naltp

重载prometheus.yml配置

kill -HUP pid (9090端口的) 3.2 浏览器访问http://192.168.0.254:9090/targets 查看snmp监控信息

在这里插入图片描述

四、配置Grafana可视化

grafana的话就是根据2.7步查询到的HELP后查到的参数信息,进行图形化显示。大家可以根据自己的需要去查相应的参数信息,如果想查更多的信息,基本上的流程就是:将需要查询的交换机信息oid加入到generator.yml文件----重新编译generator.yml文件生成snmp.yml文件—替换原来的snmp.yml文件—重启snmp_exporter。 如果你是使用的Dashboards模板,有的模板参数可能你没有查到,所以会显示No data,我这里也把自己写的一个模板给到大家:https://download.csdn.net/download/YI_XNH/13704860。 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有