Prometheus监控之SNMP Exporter介绍和数据展现

这篇具有很好参考价值的文章主要介绍了Prometheus监控之SNMP Exporter介绍和数据展现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

由于技术能力有限,文章仅能进行简要分析和说明,如有不对的地方,请指正,谢谢🙂。

1 SNMP协议介绍

SNMP协议全称是:Simple Network Management Protocol,译为简单网络管理协议,是作为TCP/IP网络管理标准协议,为不同的设备提供统一接口,实现了网络设备之间的统一管理。

SNMP协议分为三个版本:

  1. SNMPv1是最初版本,基于团体名认证,安全性较差,返回报文的错误码较少。
  2. SNMPv2c也采用团体名认证,引入了GetBulk和Inform操作,支持更多的标准错误码信息和更多的数据类型。
  3. SNMPv3主要在安全性方面进行了增强,提供了基于USM(User Security Module)的认证加密和基于VACM(View-based Access Control Model)的访问控制。

不管哪个版本,SNMP协议由外部的网络管理系统NMS和运行在被管设备内部的SNMP Agent、被管对象和管理信息库MIB组成:

Prometheus监控之SNMP Exporter介绍和数据展现

MIB数据库中的OID树状存储结构:树的节点表示被管理对象,它可以用从根开始的一条路径唯一地识别,这条路径就称为OID,如system的OID为1.3.6.1.2.1.1,interfaces的OID为1.3.6.1.2.1.2

Prometheus监控之SNMP Exporter介绍和数据展现

可以从OID(如system的OID为1.3.6.1.2.1.1,interfaces的OID为1.3.6.1.2.1.2)中获取到被管理设备的当前运行状态。

2 SNMP Exporter介绍

SNMP Exporter是Prometheus的官方Exporter项目之一,可以容器运行或者二进制运行,项目地址:snmp_exporter。Exporter通过snmp.yml配置文件,将SNMP Agent的数据暴露在SNMP Exporter中,供Prometheus监控被管理设备的运行状态。

例如一个最简单的snmp.yml配置文件:

Linux:
  version: 2
  auth:
    community: snmpexport
  walk:
  - 1.3.6.1.4.1.2021.11
  get:
  - 1.3.6.1.2.1.1.3
  metrics:
  - name: sysUpTime
    oid: 1.3.6.1.2.1.1.3
    type: gauge
    help: The time (in hundredths of a second) since the network management portion
      of the system was last re-initialized. - 1.3.6.1.2.1.1.3
  - name: ssCpuUser
    oid: 1.3.6.1.4.1.2021.11.9
    type: gauge
    help: The percentage of CPU time spent processing user-level code, calculated
      over the last minute - 1.3.6.1.4.1.2021.11.9
  - name: ssCpuSystem
    oid: 1.3.6.1.4.1.2021.11.10
    type: gauge
    help: The percentage of CPU time spent processing system-level code, calculated
      over the last minute - 1.3.6.1.4.1.2021.11.10
  - name: ssCpuIdle
    oid: 1.3.6.1.4.1.2021.11.11
    type: gauge
    help: The percentage of processor time spent idle, calculated over the last minute
      - 1.3.6.1.4.1.2021.11.11

这个配置文件中有一个模块为Linux,SNMP版本为v2c,团体名称为snmpexporter,监控的OID有:1.3.6.1.4.1.2021.11和1.3.6.1.2.1.1.3,根据OID所在的树状级别,采用不同方式的查询操作(walk或get),被监控的对象有sysUpTime、ssCpuUser、ssCpuSystem、ssCpuIdle

  • walk:实际上是SNMP GETNEXT,从SNMP Agent中获取一个或多个参数的下一个参数值。
  • get:从SNMP Agent中获取一个或多个参数值。

实际上还有GetBulk操作(SNMPv1不支持),基于GETNEXT实现,相当于执行多次GetNext,但是SNMP Exporter中不具备该查询操作。

3 使用SNMP Exporter监控Linux操作系统

被监控设备操作系统版本:Oracle Linux 7.9,SELinux状态:Permissive

3.1 监控设备安装和配置SNMP

  1. 安装net-snmp
    yum install -y net-snmp
  2. 配置SNMP团体名称
    echo 'rocommunity snmpexport 192.168.1.200'>/etc/snmp/snmpd.conf
  3. 重启snmpd服务
    systemctl restart snmpd
  4. 检查snmpd服务
    systemctl status snmpd|grep -E "Active"
    输出结果参考:
    Active: active (running) since Fri 2022-05-06 10:23:56 CST; 2min 4s ago
  5. 防火墙放通snmp服务
    firewall-cmd --permanent --add-service=snmp

    firewall-cmd --add-port=161/udp --permanent

3.2 docker部署SNMP Exporter

  1. docker中下载snmp exporter镜像
    docker pull prom/snmp-exporter
  2. 创建snmp.yml配置文件目录
    mkdir /home/samroot/exporter/snmp
  3. 手动创建snmp.yml配置文件,参考《2 SNMP Exporter介绍》章节中的snmp.yml示例文件
  4. 根据snmp exporter镜像创建容器
    docker create --name snmp_to_117 -v /home/samroot/exporter/snmp/:/etc/snmp_exporter/ -p 9116:9116 prom/snmp-exporter
  5. 启动容器
    docker container start snmp_to_117
  6. 检查容器运行情况
    docker container ps|grep snmp
    输出结果参考
    f06810ffa6d6 prom/snmp-exporter "/bin/snmp_exporter …" 8 days ago Up 3 days 0.0.0.0:9116->9116/tcp snmp_to_117
  7. 防火墙放通9116端口
    firewall-cmd --permanent --add-port=9116/tcp

3.3 http访问snmp exporter,查看暴露出来的监控数据

  1. 浏览器访问snmp exporter的http端口,输入被监控设备的IP地址和模块名称,点击Submit

Prometheus监控之SNMP Exporter介绍和数据展现

  1. SNMP Exporter已经从被监控设备的SNMP Agent中获取到一些设备的运行状态

Prometheus监控之SNMP Exporter介绍和数据展现

4 将收集到的数据存到Prometheus中

在Prometheus的配置文件中添加SNMP Exporter的地址,即可将收集到的数据存到Prometheus中。

  1. 修改prometheus配置文件prometheus.yml
   # Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090"]
   #采集snmp exporter监控数据
  - job_name: 'snmp'
    static_configs:
      - targets:
        - 192.168.1.117
    metrics_path: /snmp
    params:
      module: [Linux]
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 192.168.1.200:9116
  1. 使配置文件生效
    curl -XPOST http://localhost:9090/-/reload
  2. 确认Prometheus能够正常采集到snmp exporter的数据

Prometheus监控之SNMP Exporter介绍和数据展现

5 配合Grafana实现可视化

  1. 配置dashboard的的名称和host变量:

    Prometheus监控之SNMP Exporter介绍和数据展现

    Prometheus监控之SNMP Exporter介绍和数据展现

  2. 新建plane,配置CPU使用率监控

    Prometheus监控之SNMP Exporter介绍和数据展现

  3. 保存退出 

6 参考文章

什么是SNMP:https://support.huawei.com/enterprise/zh/doc/EDOC1100087025

SNMP_Exporter:https://github.com/prometheus/snmp_exporter

 文章来源地址https://www.toymoban.com/news/detail-425721.html

到了这里,关于Prometheus监控之SNMP Exporter介绍和数据展现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【监控系统】Prometheus监控组件Node-Exporter配置实战

    这一节,我们来配置一下Node-Exporter,那么我们先来了解一下什么是Prometheus的Exporter? 任何向Prometheus提供监控样本数据的程序都可以被称为一个Exporter,它是一种用于将不同数据源的指标提供给Prometheus进行收集和监控的工具。运行在应用程序、计算机、网络设备或者其他系统

    2024年02月15日
    浏览(51)
  • 【监控系统】Prometheus监控组件Mysql-Exporter配置实战

    Mysql-Exporter主要监控Mysql数据库的稳定性、吞吐量、连接情况、缓冲池使用情况、查询性能等各项指标,是我们压测时常常需要监控的一些指标。 目前,Exporter 支持高于5.6版本的 MySQL 和高于10.1版本的 MariaDB。在 MySQL/MariaDB 低于5.6版本时,部分监控指标可能无法被采集。 OK,下

    2024年02月16日
    浏览(44)
  • 统一观测丨使用 Prometheus 监控 SNMP,我们该关注哪些指标?

    简单网络管理协议SNMP(Simple Network Management Protocol)用于网络设备的管理。网络设备种类多种多样、不同厂商提供的管理接口(如命令行接口)又不相同,这使得网络管理变得愈发复杂。为解决这一问题,SNMP应运而生。SNMP作为广泛应用于TCP/IP网络的标准网络管理协议,提供了

    2024年01月24日
    浏览(36)
  • Prometheus监控实战之node_exporter详解

    目录 1 概述 2 功能 2.1 不同操作系统采集端 2.2 linux操作系统采集端 2.3 监控指标 2.4 参数定义 2.4.1 默认启用的参数  2.4.2 默认不启用的参数 2.5 启动参数 3 安装部署 3.1 下载 3.2 安装配置 3.3 测试验证 3.4 prometheus配置 3.5 在 grafana 中添加图表   Exporter是Prometheus的指标数据收

    2024年02月03日
    浏览(49)
  • Prometheus监控Kafka(三种方法JMX Kafka_exporter KMINION监控Kafka)_kafka exporter

    公司需要监控kafka消息队列的消费情况,强调需查看当前Topic中的message的数量。 一句话说明解决: 像Kafka这样的Java进程可以先通过JMX Agent或者第三方Agent(kafka_exporterKMINION等)获取监控数据,再通过Prometheus采集数据、通过Grafana模板展示数据即可。另外具体的message数量需要通

    2024年04月25日
    浏览(45)
  • Kibana+Prometheus+node_exporter 监控告警部署

    下载好三个软件包 一、prometheus安装部署 1、解压  2、修改配置文件的IP地址 3、运行Prometheus 4、打开浏览器根据配置文件的地址和端口访问,如果状态栏看到的跟下图不一样,记得在标签栏中的Status状态选择Targets  二、node_exporter 安装部署 1、解压,运行  2、打开浏览器输入

    2024年02月15日
    浏览(59)
  • 二进制部署Prometheus + Grafana监控集群,及各exporter安装

    Prometheus三大组件: Server 主要负责数据采集和存储,提供PromQL查询语言的支持。 Alertmanager 警告管理器,用来进行报警。 Push Gateway 支持临时性Job主动推送指标的中间网关。 Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google B

    2024年02月13日
    浏览(46)
  • prometheus通过blackbox-exporter监控web站点证书

    线上站点普遍是https,因此监控https web站点的证书的过期时间,是一个基础性需求。例如,证书过期会导致tls握手失败,进而导致用户无法正常访问web站点。 blackbox-expoter是一个web服务,它暴露了一个接口,访问这个接口能使得它去访问目标站点,并向客户端响应相关的web站点

    2024年01月20日
    浏览(48)
  • Linux 集群监控部署:prometheus + node-exporter + Grafana

    之前我们有用到top、free、iostat等等命令,去监控服务器的性能,但是这些命令,我们只针对单台服务器进行监控,通常我们线上都是一个集群的项目,难道我们需要每一台服务器都去敲命令监控吗?这样显然不是符合逻辑的,Linux中就提供了一个集群监控工具 – prometheus。

    2024年02月04日
    浏览(44)
  • 云监控系统搭建【prometheus+grafana+windows_exporter】

    1、prometheus功能的介绍 prometheus是一个开源监控解决方案,用于收集 和聚合指标作为时间序列数据。 2、prometheus的下载 网址:https://prometheus.io/download/ 1、grafana功能的介绍 Grafana 是一个仪表盘,其主要目的是对各种数据提供可视化。 2、grafana的下载  网址:https://grafana.com/gra

    2024年02月16日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包