统一观测丨使用 Prometheus 监控 SNMP,我们该关注哪些指标?

这篇具有很好参考价值的文章主要介绍了统一观测丨使用 Prometheus 监控 SNMP,我们该关注哪些指标?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简单网络管理协议SNMP(Simple Network Management Protocol)用于网络设备的管理。网络设备种类多种多样、不同厂商提供的管理接口(如命令行接口)又不相同,这使得网络管理变得愈发复杂。为解决这一问题,SNMP应运而生。SNMP作为广泛应用于TCP/IP网络的标准网络管理协议,提供了统一的接口,从而实现了不同种类和厂商的网络设备之间的统一管理。通过SNMP数据的监测数据,用户可以及时关注到网络设备的状态和异常变化。

SNMP 简介

随着网络技术飞速发展,网络设备数量成几何级数增加,使得网络管理员对设备的管理变得越来越困难;同时,网络作为复杂的分布式系统,其覆盖地域不断扩大,也使得对这些设备进行实时监控和故障排查变得极为困难。网络设备种类多种多样,不同设备厂商提供的管理接口(如命令行接口)各不相同,这使得网络管理变得愈发复杂。

为了应对这一场景,SNMP应用而生。作为广泛应用于TCP/IP网络的网络管理标准协议,SNMP支持网络管理系统,以监测连接到网络上的设备是否有需要运维关注的情况。同时,SNMP采用轮询机制,提供最基本的功能集,适合小型、快速、低价格的环境使用,而且SNMP以用户数据报协议(UDP)报文为承载,因而受到绝大多数设备的支持,同时保证管理信息在任意两点传送,便于管理员在网络上的任何节点检索信息,进行故障排查。

随着技术演进,SNMP协议相继衍生出三个版本:SNMPv1、SNMPv2c和SNMPv3。

  • SNMPv1

作为SNMP协议的最初版本,提供最小限度的网络管理功能。SNMPv1基于团体名认证,安全性较差,且返回报文的错误码也较少。

  • SNMPv2c

采用团体名(community)认证,在SNMPv1版本的基础上引入了GetBulk和Inform操作,支持更多的标准错误码信息,支持更多的数据类型(Counter64、Counter32)。

  • SNMPv3

在安全性方面进行增强,提供了基于USM(User Security Module)的认证加密和基于VACM(View-based Access Control Model)的访问控制。SNMPv3版本支持的操作和SNMPv2c版本支持的操作一样。

目前,v1版本使用较少,一般使用v2c版本,如果对安全认证有需求,可以使用v3版本。

SNMP系统组成

SNMP基本组件包括网络管理系统NMS(Network Management System)、代理进程(Agent)、被管对象(Managed Object)和管理信息库MIB(Management Information Base)。如图所示他们共同构成SNMP的管理模型,在SNMP的体系结构中都起着至关重要的作用。

linux snmp 监控 指标,云栖号技术分享,prometheus,网络,运维,阿里云,云计算

  • NMS

Network Management System,网络管理系统,一般是各种网管软件,可以向agent查询/修改各种信息,也可以接受agent的主动推送,在我们的场景中,就是snmp exporter,仅对agent做信息查询。

  • Agent

被管理设备上的一个代理进程,收集被管理设备的信息并汇报给NMS。

  • MIB

Management Information Base,是一个数据库,列出了被管理设备可以提供的各项数据,每项数据都对应一个唯一的OID。

  • Device

设备,实际的网络设备,包括交换机、路由器、防火墙、UPS、AP、软路由等等,只要支持SNMP,都可以视为一个网络设备。

  • Managed Object

被管理对象,一个设备包含至少一个被管理对象,可能是设备本身,也可能是某个硬件(一个网口),也可能是一些参数合集。

  • OID

Object ID,对象标识符,用于定位一个数据项。OID是一串数字,比如1.3.6.1.2.1.1表示system,数字是树形结构,左侧为根,右侧为叶,前面一截是由IANA分配的厂商标识符,后面就是各个厂商自定的,所以不同厂商设备的OID树差别很大。OID树结构参见下图。

  • MODULE

因为SNMP可以监控的设备和厂商多种多样,所以SNMP exporter中划分了很多module,比如网络设备的if_mib,软路由的ddwrt,paloalto_fw防火墙等等,一共有十几种,最常用的就是if_mib。

linux snmp 监控 指标,云栖号技术分享,prometheus,网络,运维,阿里云,云计算

SNMP Exporter

SNMP协议中用不同的OID区分不同的状态数据,所以OID非常类似于Prometheus中的指标的概念,SNMP Exporter通过从Agent查询指定的OID数据,同时将数据映射到可读的指标上,实现SNMP数据到Prometheus指标的转换。SNMP Exporter就默认提供了非常丰富的转换配置,大部分场景下用户无需额外配置即可将OID转换为可读的指标数据。

SNMP Metric 监控参考模型

SNMP Metrics采集

SNMP 可以帮助运维人员以极为简单而有效的方式管理网络。首先,SNMP 帮助运维人员收集网络上不同设备带宽使用量的信息。在进行故障排除的同时,更加快速找出网络性能趋势或问题。SNMP采集到的数据都是来自设备提供,不同厂商的设备可以提供的数据不尽一致,SNMP Exporter尽可能多的提供兼容,默认配置中已经包含了常见的各个厂商的OID映射,涵盖了市面上主要的厂家及其网络产品,能够满足绝大多数场景需求,详见Prometheus开源社区的相关文档。在当前版本中,我们支持if_mibmodule的指标数据采集,更多module支持将根据需求情况陆续开放。

文档链接: https://github.com/prometheus/snmp_exporter/blob/main/snmp.ym

这里我们常见的以思科16口交换机为例,主要指标包括:

linux snmp 监控 指标,云栖号技术分享,prometheus,网络,运维,阿里云,云计算

SNMP监控大盘

我们默认提供了SNMP Status和SNMP Interface Detail两个大盘,主要针对if_mib场景,监控网络流量等信息。

SNMP Status

主要展示设备的总体状态,包括设备运行时长,当前的流入/流出流量、出入流量总计、各个端口的的实时流量信息、流量变化趋势等。

linux snmp 监控 指标,云栖号技术分享,prometheus,网络,运维,阿里云,云计算

SNMP Interface Detail

展示各个端口工作详情。包括端口状态、端口是否连接、端口速率、MTU配置等,以及各种流量(单播/组播/多播等)的速率/包数量变化情况。

需要注意的是,SNMP Interface Detail大盘使用前,需要在Variable 中配置需要查看的DataSource。

linux snmp 监控 指标,云栖号技术分享,prometheus,网络,运维,阿里云,云计算

SNMP告警规则

参考前面对各项主要指标的介绍,针对SNMP可以配置一下告警项:

  • Interface Throughput 达到 speed 的 80%
  • 出/入方向的丢包/Error数大于阈值
  • 出方向的Queue长度大于阈值
  • interface 数量变化

使用阿里云 Prometheus 监控 SNMP

安装SNMP监控在Prometheus for 容器服务实例中,SNMP已经默认在集成中心中展示,用户可以在arms控制台 -- 实例详情页 -- 集成中心中找到入口。

点击SNMP图标,可以看到常见的指标列表和大盘缩略图,需要说明的是,由于OID/MIB的复杂性,列出的只是一部分常见的指标信息。

点击+安装可以接入SNMP监控,您只需要填写exporter 名称和设备IP地址,即可快速拉起一个SNMP exporter。其中的采集路径和采集间隔,一般无需修改,保持默认值即可。配置如下图:

linux snmp 监控 指标,云栖号技术分享,prometheus,网络,运维,阿里云,云计算

点击确定后,会在您的ack集群中,arms-prom namespace下,新增一个名为snmp-exporter-snmp-test-1的deployment,并自动完成采集job的配置。此时您可以在arms控制台 -- 实例详情页 -- 服务发现 -- Target中看到新配置的采集job。同时也可以点击集成中心 -- SNMP图标 快速浏览相关的Target/指标/大盘/告警/服务发现/Exporter等信息。

查看大盘

如果您需要查看SNMP相关大盘,可以从arms控制台 -- 实例详情页 -- 大盘列表中点选snmp_exporter快速列出相关大盘,或者从集成中心中,点击SNMP图标,点击大盘标签页,也可以找到对应的dashboard。

配置告警

当您在集成中心安装SNMP监控时,已经默认增加了snmp_exporter告警分组的相关规则,但未启用,您只需要简单修改参数并确认启用即可。

可以从arms控制台 -- 实例详情页 -- 告警规则 -- 创建告警规则中进入规则新增页面,在其中告警分组选择snmp_exporter告警值班并选择您需要启用的告警规则,确认参数阈值并保存,即可完成告警规则的创建。

SNMP指标未采集的排查方法

SNMP Exporter本身的主要工作是指标映射,一般都能稳定运行,但SNMP指标一般都会涉及到网络设备,出现网络问题的概率较高。如果出现指标采集不到的问题,可以参考如下的排查思路。

1.检查Prometheus Target状态,如果Target显示为Unhealthy状态,请排查snmp-exporterpod运行状态;如果Target状态正常,继续下一步。

linux snmp 监控 指标,云栖号技术分享,prometheus,网络,运维,阿里云,云计算

2.查看snmp-exporterPOD 日志,确认日志中是否有报错信息,如果是网络问题都会在日志中有明确体现,可以根据报错指导排查。

linux snmp 监控 指标,云栖号技术分享,prometheus,网络,运维,阿里云,云计算

3.如果日志中没有异常,同时只是某个SNMP指标缺失,其他SNMP指标能正常收集到,较大概率是因为设备确实没有这个指标,我们可以使用snmpwalk工具协助排查确认。

    1. SNMP Exporter能采集到的数据,都可以通过snmpwalk获取到,很多Linux发行版默认不包含snmpwalk,需要先安装net-snmp-utils这个包。
    2. 在能连接到SNMP设备的机器上,使用snmpwalk获取设备原始数据。

linux snmp 监控 指标,云栖号技术分享,prometheus,网络,运维,阿里云,云计算

    1. 如果snmpwalk依然未能获取到数据,需要向设备厂商确认是否提供此数据。

自建 Prometheus 与阿里云 Prometheus 监控的优劣对比

Prometheus作为目前最主流的可观测开源项目之一,已经被众多企业所广泛应用。但在实际生产过程中,还是遇到各种各样问题,其中包括:

  • 由于安全、组织管理等因素,用户业务通常部署在多个相互隔离的 VPC,需要在多个 VPC 内都重复、独立部署 Prometheus,导致部署和运维成本高。
  • 每套完整的自建观测系统都需要安装并配置 Prometheus、Grafana、AlertManager 等组件,部署过程复杂、实施周期长,并且每次升级都需要对每个组件进行维护。
  • 随着监控规模不断扩大,资源消耗呈非线性快速增加,系统可用性无法得到保障。
  • 对于相关组件,自建 Prometheus 无法实现一站式、全局视角的监控建设。
  • 开源分享的相关大盘不够专业,却少开箱即用的丰富指标,不能帮助用户更迅速的的了解网关的整体运行状况。

针对以上问题,阿里云Proemtheus监控进行了以下几个方面的优化:

一、性能强化&降低资源消耗,压降IT运维成本

为了进一步进行性能优化,阿里云Prometheus监控将Agent 部署在用户侧,保留原生采集能力同时, 尽量使用最少资源;通过采集存储分离架构,提高整体性能;采集组件优化,提升单副本采集能力,降低资源消耗;通过多副本横向扩展均衡分解采集任务,实现动态扩缩,解决开源水平扩展问题。采集/数据处理/存储组件支持多副版本,保证核心数据链路高可用;基于集群规模可直接进行弹性扩容;支持数据重传,彻底解决丢弃逻辑弊病,确保数据完整性与准确性。

同时,为了应对大规模数据、长时间区间的查询场景,通过DAG执行优化、算子下推,提升大规模数据查询性能并支持长时间区间秒级查询;通过Global DataSource和Global View实现对多集群统一监控与跨集群聚合查询。在提供企业级能力强化同时,全方位降低企业使用Prometheus的IT运维成本。通过包年包月、按量付费等多种计费方式让费用支出与规划更加清晰与灵活,相较于开源版本节省37%以上。

linux snmp 监控 指标,云栖号技术分享,prometheus,网络,运维,阿里云,云计算

二、与阿里云主流云服务深度集成

云产品在各自控制台都提供自身产品的可观测性,但这些云产品的指标及看板散落在各控制台,且无法进行精细化的指标数据应用。Prometheus服务提供云产品监控功能,将这些数据进行统一展现、查询、告警,为运维团队提供更加便捷的日常运维监控界面。

linux snmp 监控 指标,云栖号技术分享,prometheus,网络,运维,阿里云,云计算

三、Grafana看板增强,让云服务监控更简单

想要更好、更快速的呈现相关指标图表,阿里云Prometheus监控预置Grafana组件,预置常见云服务、应用等看板模板,如应用实时监控服务ARMS、云监控CMS、日志服务SLS、阿里云Elasticsearch等云服务,提供各种云服务的数据源配置及预置大盘,实现各种可观测数据的统一展示。如容器、消息队列Kafka等,进一步提供GrafanaPro大盘,帮助运维进行更加精细化的指标观测。在预置看板之外,可以通过Grafana官方自由增加新插件,添加新的可视化模板以及数据源,进一步满足个性化运维监控需求。

linux snmp 监控 指标,云栖号技术分享,prometheus,网络,运维,阿里云,云计算

结语

阿里云Prometheus与阿里云容器服务无缝集成,提供了SNMP设备的指标采集、用户大盘、告警规则等项目的一键集成,用户免运维,开箱即用,目前SNMP指标采集功能仍在不断演进中,欢迎大家试用和提出改进意见。

原文链接

本文为阿里云原创内容,未经允许不得转载。文章来源地址https://www.toymoban.com/news/detail-820648.html

到了这里,关于统一观测丨使用 Prometheus 监控 SNMP,我们该关注哪些指标?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Prometheus+Grafana实现监控

    我们用 actuator 暴露应用本身的线程、bean 等信息,但是这些信息还是独立于 Prometheus 之外的。下面我们 将介绍如何将 SpringBoot Actuator 与 Prometheus 结合起来。 我们同样从 Spring Initializr 创建一个名为 spring-web-prometheus-demo 的项目,选取的依赖包括: Spring Web Spring Boot Actuator Prome

    2024年02月12日
    浏览(45)
  • SNMP协议详细介绍及SNMP监控LXD端口流量

    1.1 SNMP原理 网络设备越来越多,网络规模越来越大,管理这些设备也越来越重要。远程管理网络的需求日益迫切, SNMP 应运而生。 SNMP 即\\\"简单网络管理协议\\\",用于网络管理的协议,用于网络设备的管理。 SNMP 被设计为工作在 TCP/IP 协议族上, SNMP 基于 TCP/IP 协议工作,对网络

    2024年01月19日
    浏览(48)
  • SNMP监控方式简介与实战

    更多文章请移步:www.yanjun.pro  --------------- 最后编辑时间:2022年7月19日 --------------- SNMP(简单网络管理协议)一般在对网络设备的监控中使用相对较多。简单网络管理包含两部分:管理进程和被管理设备,管理进程和被管理端得通信方式有以下三种: 被管理端向管理端发送

    2024年02月04日
    浏览(28)
  • 云原生系列之使用prometheus监控nginx

    大家好,又见面了,我是沐风晓月,本文主要讲解云原生系列之使用prometheus监控nginx 文章收录到 csdn 我是沐风晓月的博客 【prometheus监控系列】专栏 ,此专栏是 沐风晓月 对云原生prometheus的的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。 如果文章有什么

    2024年02月02日
    浏览(49)
  • 云原生系列之使用prometheus监控redis集群实战

    本次实战使用prometheus监控redis集群,如果你只想监控redis的某一个单机服务,可以参考: 超级实用,解密云原生监控技术,使用prometheus轻松搞定redis监控 本文中的是prometheus已经安装好,如果你还未安装,可以参考上一篇文章:prometheus安装及使用入门 若你想监控其他服务可以

    2023年04月14日
    浏览(43)
  • actuator/prometheus使用pushgateway上传jvm监控数据

             prometheus已经部署pushgateway服务,访问{pushgateway.server:9091}可以看到面板 基于springboot引入支持组件,版本可以 开启配置          在pushgateway面板中会显示新增的服务,在prometheus中也可能看到采集的数据

    2024年02月12日
    浏览(38)
  • OpenShift 4 - 用 Prometheus 和 Grafana 监视用户应用定制的观测指标(视频)

    《OpenShift / RHEL / DevSecOps 汇总目录》 说明:本文已经在 OpenShift 4.13 的环境中验证 构成 OpenShift 监控功能的附件分为两部分:“平台监控组件” 和 “用户项目监控组件”。 在平台监控组件中包括:Prometheus、Thanos Querier 和 Alertmanager 三部分重要组成,这些组件是由 Cluster Monit

    2024年02月11日
    浏览(43)
  • 使用 Grafana 统一监控展示-对接 Zabbix

    在某些情况下,Metrics 监控的 2 大顶流: Zabbix: 用于非容器的虚拟机环境 Prometheus: 用于容器的云原生环境 是共存的。但是在这种情况下,统一监控展示就不太方便,本文介绍利用 Grafana 对接 Zabbix, 来作为统一监控展示端。Let\\\'s go! 在这里,主要是用到了 alexanderzobnin/grafana-zab

    2023年04月19日
    浏览(39)
  • 实录分享 | 使用Prometheus和Grafana监控Alluxio运行状况

    欢迎来到【微直播间】,2min纵览大咖观点 本次分享主要包括三个方面: PrometheusGrafana简介 环境搭建 手动调优 一、 PrometheusGrafana简介 关于Prometheus: Prometheus 是一个开源的完整监控解决方案,其对传统监控系统的测试和告警模型进行了彻底的颠覆,形成了基于中央化的规则计

    2024年02月13日
    浏览(42)
  • 使用prometheus+grafana+cadvisor架构监控docker容器实战

    本次实验包括两个内容: 1.使用docker原生命令和Linux shell脚本结合的传统方式,对容器进行监控; 2.采用云原生监控利器prometheus对docker容器进行监控; 文章收录到 csdn 我是沐风晓月的博客 【prometheus监控系列】专栏 ,此专栏是 沐风晓月 对云原生prometheus的的总结,希望能够加

    2023年04月12日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包