常见监控网络链路和网络设备的方法

网络监控主要包括网络链路监控和网络设备监控,通常系统运维人员会比较关注。

一、网络链路监控

网络链路监控主要包含三个部分,网络连通性、网络质量、网络流量。

连通性和质量的监控手段非常简单,就是在链路一侧部署探针,去探测链路另一侧的目标,通过 ICMP、TCP、HTTP 等协议发送探测数据包,分析回包的结果。典型的指标有丢包率、延迟、回包是否匹配预期条件等。

网络流量监控,则关注流量大小以及流量内容。流量大小广泛应用于水位管理,比如机器网卡、交换机的接口、外网出口、专线带宽等,及时发现网络瓶颈。分析流量内容,则可以识别过度耗用带宽的用户和应用程序,验证网络 QoS 策略等。

1、ICMP探测

Categraf 的 ICMP 探测使用 Ping 插件,相关配置在 conf/input.ping/ping.toml,主要是配置要探测的目标地址。

[[instances]]
targets = [ "10.4.5.6", "10.4.5.7" ]
labels = { region="cloud", product="n9e" }[[instances]]
targets = [ "10.4.5.8" ]
labels = { region="cloud", product="zbx" }

Ping 插件可以采集到目标是否连通、延迟时间、丢包率等指标,可以据此做网络链路的监控。比如机房专线的探测,只需要在某个机房部署 Categraf,来探测另一个机房的设备。

2、TCP 探测

很多时候机器是禁 Ping 的,此时 TCP 探测就派上用场了。TCP 探测用的是 Categraf 的 net_response 插件,配置文件在 conf/input.net_response/net_response.toml。实际这个插件既可以探测 TCP 的响应,也可以探测 UDP 的响应。

[[instances]]
targets = ["10.2.3.4:22","localhost:6379",":9090"
]

原理也很简单,就是 Categraf 向目标地址发起网络连接。如果能连通,就认为是正常的,指标值上报为 0,如果失败就是非 0 的值。监控指标名字是 net_response_result_code。

如果是 UDP 的端口,是无法发起连接探测的。此时采用内容匹配探测,即通过 UDP 发个字符串给探测目标,理论上探测目标很快就会给出回复。我们来检查回复内容,如果回复内容包含特定字符串,就表示探测目标活着。

3、HTTP探测

HTTP 探测和 TCP 的探测逻辑几乎完全一致,只不过 HTTP 是七层协议,Categraf 可以解析到 Status code、Response body 这些更细粒度的信息。

[[instances]]
targets = ["http://localhost","https://www.baidu.com"
]

很多公司都会在所有的机器上部署 Agent,Agent 会开一个 HTTP 端口,这样就可以通过探测这些 HTTP 端口,知道 Agent 是否存活,进而反推机器的存活性。

HTTP 插件可以对返回的 Response 做规则匹配,比如判断 Response body 中是否包含特定的字符串,或者 Status code 是否是指定的值等。

二、网络设备监控

网络设备监控的典型手段有三个,一个是 Ping 监控,探测是否存活。另一个是通过 SNMP 获取指标,比如各个网口的状态、流量、包量等。最后一个是 SNMP Trap,一般网络设备有问题,都会发出 Trap 消息,这些 Trap 消息很有价值,分析这些 Trap 消息是常用且有效的监控手段。

1、SNMP 指标获取方式

要采集网络设备的监控指标,一定要了解 SNMP 协议。简单来讲,就是交换机上有个组件叫 SNMP agent(即 snmpd ),监听 UDP 161 端口,提供查询服务。SNMP manager,比如Categraf,可以向 SNMP agent 发起查询请求,传入的参数是 OID,SNMP agent 返回 OID 对应的监控数据。

Categraf 提供了 SNMP 插件,配置文件在 conf/input.snmp/snmp.toml,核心配置就是 SNMP agent 的连接地址以及要采集的 OID 列表。

2、SNMP Trap

与 SNMP 采集指标的方式不同,Trap 消息是由交换机里的 SNMP agent 发消息给 SNMP manager(也是走的 UDP 协议),与指标采集的数据流向相反。

 用 Trap 机制做事件监控是比较便捷的方式,交换机出现关键问题的时候,都会立刻发出 Trap 消息。我们只要在 Trap Receiver 中配置消息匹配规则,指定什么样的消息应该产生告警即可。但是,匹配规则肯定是需要用人类易读的方式,这就需要借助 MIB 库,把 Trap 中的 OID 翻译成人类易读的字符串。

 

此文章为8月Day5学习笔记,内容来源于极客时间《运维监控系统实战笔记》,推荐该课程。

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

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

相关文章

二、点亮LED灯

1. 原理 想要让一个LED灯亮,那么就要给其供电,使得有电流通过 与小时候玩的一节7号电池和普通小灯泡是一个道理 2. 查看ESP32开发板电路图 通过查看电路图,来确定开发板上的LED等的与MCU的引脚链接方式 查看上图我们知道,GPIO2这…

Mac应用程序无法打开或文件损坏的处理方法

1. 打开系统偏好设置界面,进入安全性与隐私,如下图所示: 2. 点按左下角的锁头图标,解锁更改权限 3. 将允许从以下位置下载的应用,更改为 “ 任何来源 ” ,然后再打开应用即可 有朋友就说了,我这…

Ubuntu 23.04 作为系统盘的体验和使用感受

1.为啥主系统装了Ubuntu 由于公司发电脑了,我自己也有一台台式电脑,然后也想去折腾一下Ubuntu,就把自己的笔记本装成Ubuntu系统了, 我使用的是23.04的桌面版,带图形化界面的。我准备换回Windows 11了(因为…

06 Ubuntu22.04上的miniconda3安装、深度学习常用环境配置

下载脚本 我依然是在清华镜像当中寻找的脚本。这里找脚本真的十分方便,我十分推荐。 wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh 下载十分快速,10秒解决问题 运行miniconda3安装脚本 赋予执…

Java循环:探索迭代的世界

文章目录 1. for循环2. while循环3. do-while循环总结 循环是编程中的重要概念,它允许我们重复执行特定的代码块,帮助我们简化复杂的任务和提高代码的效率。在Java中,循环有多种形式,包括for循环、while循环和do-while循环。本篇博…

PHP-简单项目引起的大麻烦--【白嫖项目】

强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 文章目录 本系列校训本项目使用技术 首页小插曲小插曲完了么?必要的项目知识PHPThinkPHPThinkPHP的MVCThinkTemplateThinkPHP 6和ThinkPHP 5 phpStudy 设置导数据库展示页面数据库表结构项目目录如图…

Java on Azure Tooling 6月更新|标准消费和专用计划及本地存储账户(Azurite)支持

作者:Jialuo Gan - Program Manager, Developer Division at Microsoft 排版:Alan Wang 大家好,欢迎阅读 Java on Azure 工具的六月更新。在本次更新中,我们将介绍 Azure Spring Apps 标准消费和专用计划支持以及本地存储账户&…

后端进阶之路——万字总结Spring Security与数据库集成实践(五)

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★前端炫酷代码分享 ★ ★ uniapp-从构建到提升★ ★ 从0到英雄,vue成神之路★ ★ 解决算法,一个专栏就够了★ ★ 架…

【Excel】记录Match和Index函数的用法

最近一直用到的两个处理EXCEL表格数据的函数向大家介绍一下,写这篇博文的目的也是为了记录免得自己忘记了,嘻嘻。 先上百度的链接 Match函数的用法介绍:https://jingyan.baidu.com/article/2fb0ba40b4933941f3ec5f71.html 小结:…

Sql server 2005 卸载之后重新安装

Sql server 2005 卸载之后重新安装 Sql sercer 2005在重新安装之前先要进行卸载操作,由于Sql sercer 2005组件都是分散的,所以卸载时要找到对应的位置一个一个卸载,不卸载干净的情况下再次安装时会出现很多问题,导致安装失败。这…

【前瞻】视频技术的发展趋势讨论以及应用场景

视频技术的发展可以追溯到19世纪初期的早期实验。到20世纪初期,电视技术的发明和普及促进了视频技术的进一步发展。 1)数字化:数字化技术的发明和发展使得视频技术更加先进。数字电视信号具有更高的清晰度和更大的带宽,可以更快地…

Qt--动态链接库的创建和使用

写在前面 在Qt的实际开发中,免不了使用和创建动态链接库,因此熟悉Qt中动态链接库的创建和使用对后续的库开发或使用是非常用必要的。 在之前的文章https://blog.csdn.net/SNAKEpc12138/article/details/126189926?spm1001.2014.3001.5501中已经对导入…

【有趣的设计模式】23 种设计模式详解和场景分析

前言 七大设计原则 1、单一原则:一个类只负责一个职责 2、开闭原则:对修改关闭,对扩展开放 3、里氏替换原则:不要破坏继承关系 4、接口隔离原则:暴露最小接口,避免接口过于臃肿 5、依赖倒置原则&#xff1…

高级web前端开发工程师的职责说明(合集)

高级web前端开发工程师的职责说明1 职责: 1、根据需求文档,完成PC端、移动端页面及交互的开发,并保证兼容性和确保产品具有优质的用户体验; 2、熟练使用 HTML 、 CSS 、 JS 、 Ajax 等技术,能解决各种浏览器兼容性问题&#xff…

[回馈]ASP.NET Core MVC开发实战之商城系统(五)

经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,ba…

orangepi 4lts ubuntu安装RabbitMQ

4lts的emmc 系统安装选文件系统格式 ext4 需先安装erlang: sudo apt install erlang 安装RabbitMQ: sudo apt install rabbitmq-server - 添加用户以便远程访问: - 账号密码都是admin: sudo rabbitmqctl add_user admin admin -sudo rabbitmqct…

使用爬虫代理IP速度慢是什么原因?

你们有没有遇到过使用爬虫代理IP速度慢的问题呢?相信很多使用爬虫抓取的人都曾经陷入过这个烦恼,今天我们就来聊聊这个话题。 首先,我们得明白为什么爬虫代理IP速度会变得慢。其实,原因有很多,比如代理服务器过多的连接…

auto-changelog的简单使用

auto-changelog的简单使用 自动化生成Git提交记录,CHANGELOG.md文件 github:https://github.com/cookpete/auto-changelog 安装 npm install -g auto-changelog配置脚本 package.json文件下 "scripts": {"changelog": "aut…

【Jmeter】配置不同业务请求比例,应对综合场景压测

目录 前言 Jmeter5.0新特性 核心改进 其他变化 资料获取方法 前言 Jmeter 5.0这次的核心改进是在许多地方改进了对 Rest 的支持,此外还有调试功能、录制功能的增强、报告的改进等。 我也是因为迁移到了Mac,准备在Mac上安装Jmeter的时候发现它已经…

blender 毛发粒子

新建平面,点击右侧粒子系统,选择毛发,调整毛发长度,数量(Number),调整数量是为了避免电脑卡顿; 上面设置的每一根柱子都可以变成一个物体,点击渲染,渲染为选择…