Prometheus监控系统:监控交换机流量、状态等(snmp | 您所在的位置:网站首页 › ip流量监控工具有哪些 › Prometheus监控系统:监控交换机流量、状态等(snmp |
默认已安装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文件并下载。 由于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无须执行make mibs,只需要将1.1步下载的交换机mib文件上传到generator目录下就好 2.5 编译generator.yml生成snmp.ymlsnmp_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名称 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的话就是根据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 实验室设备网 版权所有 |