prometheus 监控交换机流量

1. 默认已经安装 prometheus

2. 手动验证能否获取交换机数据

用prometheus 监控交换机流量首先需要确定安装prometheus 的机器已经被交换机允许获取他的数据。命令如下:
以交换机版本为v2c为例:

snmpwalk -v 2c  10.0.1.52   -c public ifDescr  获取网卡信息

其中-v是指版本(SNMP主要有SNMPv1、SNMPV2c、SNMPv3几种最常用的版本。),-c 是指密钥(Community:团体名,用于Agent与NMS之间的认证,由交换机提供)。
如果返回数据,则说明可以进行下一步通过prometheus获取数据了,数据如下:

3. 安装 snmp 插件

下载snmp_exporter 安装

wget https://github.com/prometheus/snmp_exporter/releases/download/v0.13.0/snmp_exporter-0.13.0.linux-amd64.tar.gz

解压并打开 snmp.yml 根据需要进行修改

tar -xzvf snmp_exporter-0.13.0.linux-amd64.tar.gz cd snmp_exporter-0.13.0.linux-amd64/vim snmp.yml

由于生产上的交换机,一般都有认证才能对交换机进行访问,所以需要交换机提供 Community以及版本号,这两个需要在snmp.yml进行配置。
修改如下:

找到if_mib模块,如下图:

找到if_mib模块最下面,加入 version(以版本为v2c为例子),以及认证community,如下图:

根据我的经验,可能会遇到这样一个问题,你要监控的所有交换机的认证 community可能不一样,而我们不能在配置文件里在community后面加好几个认证码,那么解决办法是:

将 if_mib 模块的所有配置再复制一遍,改一下模块的名字,如改成 if_mib2,相应的改一下version和community即可。

启动 snmp_exporter

./snmp_exporter --config.file=snmp.yml

验证snmp监控数据

curl 'http://安装snmp_exporter的机器的IP:9116/snmp?target=安装snmp_exporter的机器的IP'

4. 配置prometheus的配置文件

添加关于 snmp的配置,如下:

其中红线化掉的是安装snmp_exporter的机器的ip,而9116,是snmp_exporter的端口。如果出现多个community的情况(如上面所说),只需要再加一个job即可,如下:

到目前为止,prometheus通过 snmp_exporter 抓取交换机流量数据已完成。

5. 关于交换机的各项指标介绍

snmp指标

针对普通网络设备的端口,MIB的相关定义是Interface组,主要管理如下信息: ifIndex 端口索引号 ifDescr 端口描述 ifType 端口类型 ifMtu 最大传输包字节数 ifSpeed 端口速度 ifPhysAddress 物理地址 ifOperStatus 操作状态 ifLastChange 上次状态更新时间 ifInOctets 输入字节数 *ifInUcastPkts 输入非广播包数 *ifInNUcastPkts 输入广播包数 *ifInDiscards 输入包丢弃数 *ifInErrors 输入包错误数 *ifInUnknownProtos 输入未知协议包数 *ifOutOctets 输出字节数 *ifOutUcastPkts 输出非广播包数 *ifOutNUcastPkts 输出广播包数 *ifOutDiscards 输出包丢弃数 *ifOutErrors 输出包错误数 ifOutQLen 输出队长 其中,号标识的是与网络流量有关的信息。 1、获取CISCO2900端口1的上行总流量 snmpwalk -v 1 -c public 192.168.1.254 IF-MIB::ifInOctets.1 返回结果 IF-MIB::ifInOctets.1 = Counter32: 4861881 2、五秒后再获取一次 snmpwalk -v 1 -c public 192.168.1.254 IF-MIB::ifInOctets.1 返回结果 IF-MIB::ifInOctets.1 = Counter32: 4870486 3、计算结果 (后值48704863-前值4861881)/ 5=1721b/s (应该是BYTE)

6. 根据需要查找指标

由于我们要监控交换机流量,所以对我们有用的指标主要是ifHCOutOctets和ifHCInOctets,为什么是ifHCOutOctets而不是上面所说的ifOutOctets,因为在流量监控中发现了一个问题:监控交换机的网络流量,经常发现少数据的情况,prometheus绘的图断断续续的,snmp协议返回的ifInOctets和ifOutOctets都是流量的总量,如果我们需要获取一段时间的流量,我们需要取两段时间的差值,而ifOutOctets对应的counter32的数据类型计数的最大值是2的32次方减1,当超过4G的时候,计数器就会清零。当我们取数据如果正巧处于4G左右,当他清零重新计数,那我们获取的流量是不准确的。解决办法是:
查询数据换成 ifHCOutOctets和ifHCInOctets来代替ifOutOctets和ifInOctets。因为ifHCOutOctets对应的计数counter64,64位计数器足够大,可以解决这个问题。

7. 参考

https://owelinux.github.io/owelinux.github.io/2018/07/25/article8-linux-prometheus/

prometheus 监控交换机流量相关推荐

  1. zabbix监控交换机流量详细方法

    zabbix监控交换机流量详细方法 首先需要了解交换机端口速率的计算方法: 端口入方向的实际流量速率(bps)=8×[ifHCInOctets(T2时刻的值)-ifHCInOctets(T1时刻的值) ...

  2. Prometheus监控系统:监控交换机流量、状态等(snmp_exporter)

    默认已安装Prometheus服务 Prometheus服务地址:192.168.0.254:9090 交换机ip地址:192.168.0.67 文章目录 一.准备 1.1 下载相应交换机厂家提供的交 ...

  3. WGCLOUD介绍 - 监控交换机流量、cpu、内存等指标

    WGCLOUD除了监控服务器主机外,也可以监控交换机和路由器,防火墙 WGCLOUD也是通过SNMP协议来采集信息,所以我们要先在交换机.路由器.防火墙开启snmp服务 添加snmp服务后,就可以添加 ...

  4. java snmp流量监控_zabbix snmp监控交换机流量

    zabbix监控交换机是非常的简单,只需知道交换机snmp的密码,然后连结下自带的snmp模板,就可以完成监控了,还有什么比这配置更简单的? 1.配置交换机的snmpsnmp-server commu ...

  5. zabbix5使用SNMP 监控交换机流量

    安装snmp和snmpwalk yum -y install net-snmp-libs net-snmp net-snmp-utils 加防火墙端口 firewall-cmd --zone=publ ...

  6. 配置MRTG监控网络流量简单方法

    MRTG (Multi Router Traffic Grapher)是一款监控网络流量负载的免费软件,目前利用MRTG已经开发出了各式各样的统计系统: 1.系统资源负载统计,例如:磁盘空间.CPU负 ...

  7. Prometheus监控告警

    监控告警-Prometheus 第一章:概述 本章将介绍监控告警的一些基本概念. 1.1 什么是监控告警? 监控是什么? 说白了就是用一种形式去盯着.观察服务器,把服务器的各种行为表现都显示出来,用以 ...

  8. Prometheus 监控详解

    文章目录 一.常用监控系统介绍 1. Cacti 2. Nagios 3. Zabbix 4. Prometheus 5. Open-falcon 二.运维监控平台设计思路 三.Prometheus ...

  9. Prometheus监控神器-Alertmanager篇(1)

    本章节主要涵盖了Alertmanager的工作机制与配置文件的比较详细的知识内容,由浅入深的给大家讲解. 警报一直是整个监控系统中的重要组成部分,Prometheus监控系统中,采集与警报是分离的.警 ...

最新文章

  1. Utilize Sql Tuning Advisor from Script
  2. [翻译]震荡波蠕虫技术分析(振荡波蠕虫技术分析)
  3. Revit二次开发之“取得所选元素的族名称”
  4. P1993 小 K 的农场
  5. 批处理写入以及动态与参数化SQL,数据库的性能如何?
  6. python 导入自己写的类_python中自己的类不能被导入
  7. 2.2基本算法之递归和自调用函数_用栈算法递归解决汉诺塔问题
  8. Mac上http/POST/PUT/GET/DELETE请求工具-ApiPost Client for Mac 2.0.2.dmg
  9. SpringBoot 利用过滤器Filter修改请求url地址
  10. libevent源码深度剖析-张亮
  11. 德标螺纹规格对照表_德标与国标对照表
  12. 算法分析与设计:众数问题(C++,分治法)
  13. 国庆在家写了个简易版的在线简历网站
  14. fash 3D 游戏
  15. GBase 8c 技术白皮书 六
  16. Delphi导出word
  17. 抓包工具Charles —— 破解、抓包入门
  18. 报志愿时计算机一大类分数,高考出分在即 测一测你的分数可以上哪些大学?...
  19. 每周分享第 21 期
  20. Linux 压缩/解压工具

热门文章

  1. 【实战技能】软件工程师与AI工程师的区别是什么?
  2. C++与OpenCV同时批量处理图像数据
  3. 在macOS上用supervisor构建稳定的SSH转发
  4. Xposed 之旅 -- 让微信低版本也可以登录
  5. 30系列显卡安装tensorflow1.15
  6. Cesium测量工具,距离测量、面积测量、高度测量
  7. apollo星火计划课堂笔记---(综述、V2X、Routing、Map、Planning)
  8. 浮点数除0和余0、定义
  9. css做八边形图片有边框
  10. 实用的 Python 自动化办公技巧