基于Prometheus快速搭建网络质量监控平台

基于Prometheus快速搭建网络质量监控平台

前言

针对一些临时搭建的网络场景(例如:各种临时发布会,演唱会等),为了检验网络质量的以及确保管理员在网络出现异常情况时可以及时发现,需要部署一套监控软件用于网络设备的监控。然而,由于是临时搭建的网络,专门部署一整昂贵的监控软件显得不太现实,同时专业的监控软件无法在短时间内完成部署验收。对此,本方案主要通过Prometheus+grafana的方式,快速搭建一套临时可用的监控软件,从而实现对临时网络环境的实时监控。

在这里插入图片描述

原理介绍

本方案的实现原理主要通过Prometheus模组进行数据采集和告警(Prometheus的告警功能在之前的其他方案中章节已经详细讲过,这里不做赘述),通过grafana进行数据展示,从而实现整体的展示效果,具体如下:

在这里插入图片描述

如上图所述,prometheus主要通过对应的采集模组snmp-exporter实现对网络设备的适配采集工作,Prometheus通过向snmp-exporter发送采集指令触发snmp-exporter的采集动作,并将采集结果返回给prometheusPrometheus通过对结果进行解析并入库,同时将根据rules规则,将触发告警的事件推送到alertmanager应用实现告警功能;而grafana则是作为一个数据展示入口,通过将数据源设置为prometheusgrafana可以从prometheus中获取相关维度的监控数据,并通过自身进行可视化展示。

实施部署流程

前置条件

  1. 提供相关服务器及对应root用户访问权限
  2. 服务器到网络设备icmpsnmp可达
  3. 服务器上包含docker环境(若不包含,则需要手动搭建部署docker环境)

部署过程

  1. 上传镜像安装包到服务器的数据盘(例如: /opt)并解压,解压后可以得到grafananetwork_prometheussnmp_exporter三个目录应用,其中snmp-exporter是对应snmp采集器,network_prometheus作为业务组件和数据库,grafana作为数据可视化展示平台。

在这里插入图片描述

  1. 加载snmp_exporter镜像(文件名包含“image”关键字的文件)并启动应用
cd snmp_exporter
docker load -i snmp.image.tgz
docker-compose up -d

在这里插入图片描述

ps: 针对未适配oid的设备型号,可以通过snmp_exporter/snmp.yml配置文件添加对应型号和oid采集实现。
在这里插入图片描述

  1. 加载network_prometheus镜像并启动应用
cd network_prometheus
docker lod -i prom.images.tgz
docker-compose up -d 

在这里插入图片描述

  1. 配置监控对象,可以通过network_prometheus/prometheus.yml配置文件配置要监控的设备以及对应的监控指标
vim prometheus.yml

在这里插入图片描述

  1. 加载grafana镜像并启动应用
cd grafana
docker lod -i grafana.image.tgz
docker-compose up -d 

在这里插入图片描述

  1. 登录grafana并导入数据模板

    1. 登录grafana,默认用户名密码“admin/admin”

    在这里插入图片描述

    1. 首页点击进入【Home→dashboard】

    在这里插入图片描述

    1. 点击【NEW→Import】

    在这里插入图片描述

    1. 将“grafana导入模板.json”文件拖动到文件上传区域

在这里插入图片描述

在这里插入图片描述

至此,安装完成。

效果展示

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/194470.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣周赛372 模拟 思维 位运算 java

100131. 使三个字符串相等 ⭐ AC code class Solution {public int findMinimumOperations(String s1, String s2, String s3) {int len1 s1.length();int len2 s2.length();int len3 s3.length();int n Math.min(len1,len2);n Math.min(n,len3);int i 0;while(i < n…

在Java代码中指定用JAXB的XmlElement注解的元素的顺序

例如&#xff0c;下面的类RegisterResponse 使用了XmlRootElement注解&#xff0c;同时也使用XmlType注解&#xff0c;并用XmlType注解的propOrder属性&#xff0c;指定了两个用XmlElement注解的元素出现的顺序&#xff0c;先出现flag&#xff0c;后出现enterpriseId&#xff0…

C语言基础篇4:变量、存储、库函数

1 局部变量和全局变量 在介绍局部变量和全局变量前&#xff0c;先了解一些关于作用域方面的内容。作用域的作用就是决定程序中的哪些语句是可用的&#xff0c;换句话说&#xff0c;就是程序中的可见性。作用域有局部作用域和全局作用域&#xff0c;那么局部变量就具有局部作用域…

相机内参及其内参影响因素的几点思考

目录 理论推导之从相机坐标系到像素坐标系 机械参数对相机内参的影响 Resize与Crop对相机内参的影响 参考文献 理论推导之从相机坐标系到像素坐标系 相机内参的意义即从相机坐标系到像素坐标系的表达&#xff0c;其中共涉及到三个坐标系&#xff1a;相机坐标系、成像坐标系…

2018年计网408

第33题 下列 TCP/P应用层协议中, 可以使用传输层无连接服务的是()A. FTPB. DNSC. SMTPD. HTTP 本题考察TCP/IP体系结构中&#xff0c;应用层常用协议所使用的运输层服务。 如图所示。这是TCP/IP体系结构中常见应用层协议各自所使用的运输层端口,。在这些应用层协议中&#x…

IIC 通信协议之stm32 驱动OLED

前言 使用stm32 驱动4 Pin 的OLED&#xff0c; 现在网上开源的资料多的是&#xff0c;但是为了锻炼自己使用第一手资料的能力&#xff0c;今天我还是从数据手册开始&#xff0c;从头造一波轮子&#xff0c;同时也是为了加深自己对 IIC 协议的理解 &#xff0c;本系列内容我会从…

Transformer ZOO

Natural Language Processing Transformer:Attention is all you need URL(46589)2017.6 提出Attention机制可以替代卷积框架。引入Position Encoding&#xff0c;用来为序列添加前后文关系。注意力机制中包含了全局信息自注意力机制在建模序列数据中的长期依赖关系方面表现出…

Linux调试器:gdb的使用

我们知道在Visual Studio2022中&#xff0c;我们可以对编好的代码进行调试来分析dug的位置&#xff0c;那Linux环境下如何进行程序的调试呢&#xff1f;那就是使用Linux调试器&#xff1a;gdb。 目录 1.背景 2. 开始使用 1.背景 程序的发布方式有两种&#xff0c;debug模式…

Java Web 实战 20 - HTTP PK HTTPS ? HTTPS 大获全胜 ?

HTTP VS HTTPS 一 . HTTPS1.1 臭名昭著的运营商劫持1.2 加密是什么 ?1.3 HTTPS 的加密过程对称加密非对称加密引入 "证书" 机制 1.4 HTTP VS HTTPS Hello , 大家好 , 好久没有更新 JavaWeb 模块的内容了 . 博主这篇文章主要给大家讲解一下 HTTPS 以及与 HTTP 的区别…

Spring IOC/DI和MVC及若依对应介绍

文章目录 一、Spring IOC、DI注解1.介绍2.使用 二、Spring MVC注解1.介绍2.使用 一、Spring IOC、DI注解 1.介绍 什么是Spring IOC/DI&#xff1f; IOC(Inversion of Control&#xff1a;控制反转)是面向对象编程中的一种设计原则。其中最常见的方式叫做依赖注入&#xff08;…

Backtrader绘图cerebro.plot报错问题的处理

Backtrader绘图cerebro.plot报错问题的处理 1.问题描述 在jupyter 中使用BackTrader &#xff0c;使用绘图功能时&#xff1a; cerebro.plot() 提示错误&#xff1a;ValueError: Axis limits cannot be NaN or Inf 由于backtrader 要求有7列数据&#xff0c;最后一列openint…

(数据结构)算法的时间复杂度

注意语句频度和时间复杂度的区别&#xff0c;语句频度是指语句执行的次数&#xff0c;不可以像时间复杂度一样近似次数和省略常数项