云原生NPM数据采集和指标计算方法

基于eBPF技术的云原生可观测实践 我们知道操作系统分为用户空间和内核空间,内核是操作系统的核心,它独立于常规的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证内核的安全,现在的操作系统一般都强制用户进程不能直接操作内核。而应用程序通常是在用户空间中运行,每当这些应用程序想要以任何方式与硬件交互时,都必须向内核发出请求来获得访问权限,同时,内核还负责调度各个应用程序,以确保多个进程同时运行。 阅读详情

在之前的一篇文章《云原生NPM与传统NPM的差异》中,我们了解到,传统NPM通过对物理设备的网络流量进行镜像,可以统计出网络层面的各种指标,也可以分析出网络延迟、带宽、重传等性能相关的指标。但是在实际工作中发现,网络层面的异常信息只是第一步,定位到产生异常的服务和原因,才能真正解决问题。本篇我们将讲述如何在云原生NPM中获取网络数据及相关网络指标的计算方法,以及如何将网络与具体应用进程进行关联,从而有助于快速地定位到可疑点。

1、设计数据结构

该结构描述了一条TCP网络连接(本篇只关注TCP连接的应用)的主要信息,以该数据结构为基础,可以得到以应用/进程为视角的网络状态。除此之外,还可以增加其它字段,如错误报文数、重传报文数、乱序报文数,等等。图片 4

2、获取字段值

  • ClientIP, ServerIP, ClientPort, ServerPort
    网络连接的四元组。从捕获的网络报文中可以解析出IP和Port信息。TCP连接有三次握手的过程,第一次握手的时候由客户端发起syn请求,根据这个信息可以确定Client。

图片 1

  • BytesReceived, BytesSent, PacketsReceived, PacketsSent
    对服务端接收和发送的报文数、字节数进行统计。因为服务端接收就等于客户端发送,所以只需要统计一个方向的数据即可。

Rtt, Crt, Art, Ptt这几个与时间相关的性能指标无法直接从网络报文中获取,需要通过一些算法计算,计算方法如下图所示:

图片 1

对于旁路抓包,该图中隐含了一个重要信息:传统的NPM抓包位置要么靠近client, 要么靠近server。而云原生中的NPM要么位于client,要么位于server。这个抓包位置的变化,导致性能指标的计算方法略有区别。

  • Rtt (round trip time)
    计算时要区分该连接的目标地址是否为本机地址,如果是,意味着该连接是远端访问本地的一个服务,按照上图中server角色来计算:T(ack) – T(synack);否则,按client角色来计算:T(synack) – T(syn)

  • Crt (client response time)
    按client角色来计算:T(http-get) – T(ack)

  • Art (application response time)
    按 server 角色来计算: T(http-response) – T(http-get)

  • Ptt (payload transaction time)
    按client 或 server角色都可以,数据传输的总时间。

剩下的两个字段,PID和UID,分别表示进程ID和用户ID,这两个字段的值无法在网络包中获取,需要从操作系统中获取。下图是linux系统下运行 netstat -nopt 的输出。

图片 1

从中可以看到一条连接的四元组信息,还有PID和进程名。

到此,我们已经获取了本文开头结构中的所有字段的值。很多的应用日志框架都会默认输出PID信息,因此,通过PID还可以将网络指标与应用的日志进行关联,为相关的故障诊断提供更丰富的上下文信息。

3、结尾

通过对网络数据的分析,可以计算出一些与网络质量相关的关键指标,用于定位与网络相关的故障根因。TCP协议栈本身是一个比较复杂的系统,内部11种状态之间的转换与开销对于外部来说是一个完全的黑盒,但是对于定位问题有时却很关键。那如何观测这些关键信息呢?后续文章将介绍如何使用eBPF来采集内核中的网络指标,敬请期待。

重磅功能!博睿数据APM助企业从容应对云原生架构演进 近日,博睿数据应用性能监控产品Bonree Server全面升级,在自动化、可观测性方面带来了两项重要研发成果:服务自动发现和Docker容器监控,让企业更加从容迈向云原生架构。 Bonree Server是博睿数据的一款应用性能监控产品,面向业务、研发、运维、SRE、安全等数字化工作人员,在业务发布、监控、故障恢复、紧急支持、管理规划等工作时做到心中有数、行动有方、高效从容。 为了做到真正的客户成功和用户满意,Bonree Server一直在完善基础设施、中间件、应用服务等数字化系统的全面可观测性。在此. 阅读详情

相关推荐

深入解析Datadog Agent:从数据采集到企业级可观测性实践

在现代云原生架构中,可观测性已成为保障系统稳定性的核心支柱。其原理在于通过统一的数据采集、聚合与分析,实现对复杂分布式系统的全方位洞察。这一技术价值体现在能够将运维工作从被动救火转向主动预防,显著提升故障定位效率与系统可靠性。应用场景广泛覆盖基础设施监控、应用性能管理(APM)、日志聚合及安全监控等领域。本文聚焦于Datadog Agent这一关键组件,它作为开源监控探针与企业可观测性平台的桥梁,通过模块化设计实现了对系统指标、应用追踪和日志数据的自动化采集。特别是在Kubernetes环境中,其自动发现(

weixin_30315435的博客 570

npm 全面介绍

npm之于Node.JS,就像pip之于Python,gem之于Ruby,pear之于PHP。npm 是 Node.JS 官方提供的包管理工具,他已经成了 Node.JS 包的标准发布平台,用于 Node.JS 包的发布、传播、依赖控制。npm 提供了命令行工具,使你可以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。

顺其自然~专栏 929

如何评估IT可观测性技术?

IT领域的可观测技术,源自自动控制领域。 控制领域中,可观测性是一个系统可控的必要条件。 与之相对应,在IT领域中,可观测性是为了保证IT系统的稳定性。 随着业务系统不断上云,容器、微服务、持续发布等云原生技术被广泛采用,从而为IT系统的可控性带来了全新挑战。为保障云原生应用的稳定性(控制的目的就是稳定),可观测技术被越来越多的企业所采用。 可观测技术的本质,是通过系统的外部数据,分析系统的内部状态,从而做出控制指令。针对于IT系统,尤其是面相云原生应用,可观测技术应包含如下需求: 1)零侵扰:传

smth_mcmc的博客 1045

系统可观测性——分布式链路追踪系统

本文深入探讨了分布式链路追踪系统的必要性与实施细节。随着软件架构的复杂化,传统的日志分析方法已不足以应对问题定位的需求。文章首先解释了链路追踪的基本概念,如Trace和Span,并讨论了其基本原理。接着,文章介绍了SkyWalking这一开源链路追踪系统,包括其架构设计、部署方式、数据采集与存储等关键特性。最后,通过大众点评的实践案例,文章展示了链路追踪在实际业务中的应用效果,强调了其在提升分布式系统可观测性方面的重要性。

庄小焱 3415

npm-stats-api:获取NPM软件包的统计信息

获取NPM软件包的统计信息 该软件包可轻松检索托管的软件包的统计信息 PS:这很大程度上受制作的启发 安装 您可以通过composer安装该软件包: composer require developmint/npm-stats-api 用法 您必须将Guzzle客户端传递给Developmint\NpmStats\NpmStats的构造Developmint\NpmStats\NpmStats 。 $ client = new \ GuzzleHttp \ Client (); $ npmStats = new \ Developmint \ NpmStats \ NpmStats (

基于单片机智能家居控制系统设计

*单片机设计介绍,基于单片机智能家居控制系统设计。

QQ2193276455的博客 1717

部署Zipkin分布式性能追踪日志系统的操作记录

  Zipkin是Twitter的一个开源项目,是一个致力于收集Twitter所有服务的监控数据的分布式跟踪系统,它提供了收集数据,和查询数据两大接口服务。 部署Zipkin环境的操作记录:部署Zipkin,比较麻烦的是前期环境的准备,只有先把前期环境安装好了,后面的部署就顺利多了。(部署机ip为192.168.1.102) 一、环境准备: 1)java环境安装(Centos中yum方式安装...

weixin_33796205的博客 884

SAP S4业务伙伴(BP)实战指南:从角色分配到数据同步的完整流程

本文详细解析了SAP S4业务伙伴(BP)功能,从基础概念到实战操作,涵盖角色分配、数据同步及常见问题排查。通过BP机制,企业可高效管理客户、供应商等多重身份,实现数据共享和动态切换,显著提升主数据管理效率。特别适合SAP实施顾问和ERP管理员参考。

y2z3a4b5c的博客 870

神器推荐:在浏览器分析 npm 包

大家好,我是若川。我持续组织了近一年的源码共读活动,感兴趣的可以点此扫码加我微信lxchuan12参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》包含20余篇源码文章。历史面试系列。另外:目前建有江西|湖南|湖北|河南籍前端群,可加我微信进群。公众号回复【相亲】关键词可以获取男生、女生的菜单~今天跟大家推荐一个神器 pkg-size.dev...

u012384510的博客 600

使用PackStack工具自动化部署OpenStack

搭建 OpenStack 环境,每个组件的安装和配置都需要熟悉其特定的依赖关系、参数设置等,对于初学者来说容易出错。PackStack 工具通过集成一系列脚本和配置文件,便于快速搭建OpenStack练习环境。CPU:支持 Intel VT - x 或 AMD - V 硬件虚拟化技术,并且要在 BIOS 里开启此功能。内存:16GB以上存储:200GB以上可用空间(2)VMware WorkStation16.0以上版本(3)远程连接工具(如Xshell、MobaXterm)

2301_80440447的博客 4094

【校园网代理连接问题】已解决,“该设备或资源(Web 代理)未设置为接受端口“7890”上的连接“

我遇到这个问题很多次。每次都是vpn的问题,不止通俗意义上的梯子(clash之类的),还包括校园网vpn。点击“ 拨号和虚拟专用网络设置”中的“设置”, 关闭代理服务器。在打开vpn后或者关闭vpn后无法浏览网页,网页诊断显示“关闭“手动设置代理”中的“使用代理服务器”,关闭对应的本地代理即可。

聆雨。 1万+

博睿数据应邀出席双态IT用户大会,分享《构建云原生时代的一体化智能可观测性》

与传统的IT运维工具相比,Bonree ONE 同时面向业务与用户体验运维,囊括了系统的所有观测数据,进行统一管理,并提供丰富的集成扩展,开箱即用,实现从孤立的工具到统一平台的建设要求,实现全栈、全链路、全场景的智能可观测,故障根因定位和决策支持,让智能运维渗透到企业运维的每一个细分场景,有效降本增效,提升企业整体的运维效率。16年来,始终专注于构建以用户为中心的简捷,高效,智能的新型IT运维,有效提升云资源利用效率,驱动业务创新增长,助力企业提升核心竞争力,抢占数字经济先机。

BJ_Bonree的博客 1292

UG NX二次开发(C#)-建模-获取圆柱面信息(轴向、半径、深度)

获取圆柱面的信息前言一、在UG NX中面的类型有哪些?二、获取圆柱面信息的函数1.获取半径和轴向2、计算圆柱面的深度值3、测试用例总结 文章目录前言一、在UG NX中面的类型有哪些?二、获取圆柱面信息的函数1.获取半径和轴向2、计算圆柱面的深度值3、测试用例总结 前言 在一个项目中,需要遍历曲面,获得所有的圆柱面和圆柱面的信息,包括轴向、半径和圆柱面的深度。经过研究,采用uFModl.AskFaceData(face.Tag, out faceTypeInt, point, dir, box, out

GimiGimmy 4145

精选案例 |《金融电子化》:光大银行云原生背景下的运维监控体系建设

金融数字化升级怎么做?更多优秀实践尽在博睿数据《金融行业精选客户案例集》

BJ_Bonree的博客 1062

气体放电管GDT选型解析

气体放电管(GDT)是电子设备电磁兼容设计中应对浪涌防护的核心器件,具有高能量吸收能力(10kA以上)和低漏电流特性。其工作原理分为击穿、导通和熄弧三阶段,通过电离气体泄放浪涌能量。GDT适用于雷击等大能量防护,但响应较慢(0.1-0.3μs),需搭配TVS/MOV组成多级防护。选型需匹配击穿电压(如220VAC系统选800V型号),并注意续流风险。典型应用包括电源端口、通信防雷模块的三极管共模防护或GDT-MOV串联方案,实现能量分流与快速钳位平衡。

硬核科技 209

解决anaconda占用C盘空间过多问题

anaconda就算安装在其他盘,默认会把索引、锁定文件、压缩包等都放到系统盘(C盘),我用了两年,占用30GB。 1. 卸载不用的虚拟环境 查看已安装的虚拟环境 conda env list 卸载不用的、过期的虚拟环境 conda remove -n (要卸载的环境的名字) --all 2. 删除索引缓存、锁定文件、未使用过的包和tar包 conda clean -a 清理完之后,删除了15GB,还剩15GB,舒服了 ...

沉迷单车的追风少年 3万+

什么是网络监控?常用的监控工具(如Zabbix、SolarWinds)和关键指标有哪些?

摘要:网络监控是通过技术手段持续监测计算机网络运行状态,确保其稳定、高效和安全运行。核心目标包括可用性、性能、故障检测、安全监控和容量规划。常用工具有Zabbix(开源)、SolarWinds(商业)、Nagios(开源)等,适用于不同规模和场景。关键指标涵盖设备可用性、网络性能(带宽、延迟、丢包率)、流量分析及安全相关指标。最佳实践建议分层监控、合理设置告警阈值,并定期优化策略。选择合适工具和策略能有效预防故障,提升业务连续性。

qq_39980997的博客 1134

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【Kubernetes从入门到精通】第04篇:云原生是什么鬼——CNCF技术版图漫游指南

摘要 本文是一篇关于云原生技术的科普文章。作者首先澄清了云原生的概念,指出云原生不是简单将应用迁移到云端,而是一套工程方法论,核心在于标准化、自动化和弹性化。文章介绍了CNCF(云原生计算基金会)维护的庞大技术版图,包含200多个项目,并形象地将它们划分为不同"城区":编排调度(如Kubernetes)、服务网格(如Istio)、可观测性(如Prometheus)等。作者强调云原生不仅是技术堆叠,更是运维理念的变革——从"养宠物"到"养牛羊"的思维转变。最后指出,掌握8-10个核心项目就足以构建完整的云原生

xyghehehehe的专栏 304

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Windows Web Services API 实现 HTTP 服务端:HttpServer 示例源码级解析

本指南基于 Windows-classic-samples 仓库中的 HttpServer 示例,系统讲解如何用 Windows Web Services API(WWSAPI)在经典 Win32 桌面程序中实现一个完整的 HTTP 服务端:监听地址、接收 SOAP 消息、按消息类型分发业务并回发应答或 Fault。读完本文,你将掌握 `WsCreateListener`、`WsAcceptCha

gitblog_00152的博客 239

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Kitesurf:基于V8隔离的代理优先浏览器,赋能云原生自动化与AI智能体交互

无头浏览器自动化是现代Web开发与数据采集中的关键技术,它允许程序化控制浏览器行为,实现页面渲染、交互与内容提取。其核心原理在于通过驱动协议(如DevTools Protocol)与浏览器内核通信,将用户操作转化为API指令。这项技术的价值在于能够处理JavaScript动态渲染的复杂页面,克服传统HTTP爬虫的局限性,广泛应用于自动化测试、网页内容抓取和监控等场景。随着云原生和Serverless架构的普及,对轻量、高并发、快速启动的浏览器运行时需求日益增长。Kitesurf项目正是这一趋势下的创新实践,

weixin_33816821的博客 341

可观测性国产化里程碑:解析嘉为蓝鲸全栈智能观测中心替代IBM Tivoli的三大技术制胜点

嘉为蓝鲸全栈智能观测中心以一体化架构替代Tivoli,破解传统监控困境,助力企业智能运维升级。

weixin_42556618的博客 1329

2026国产运维监控系统新格局--深度解析与选型指南

2026年信创运维监控系统选型指南显示,国产化替代已进入"好用"阶段。主流产品包括:Lerwee乐维(全栈智能可观测)、Zabbix(开源网络监控)、Prometheus(云原生监控)、eSight(华为硬件管理)和Nagios(基础监控)。选型需考量信创适配度、AI智能运维能力及生态开放性,平衡一体化平台与专业方案。重点建议企业验证产品实际AI功能价值,根据业务规模选择SaaS或本地部署,并从核心业务入手逐步构建可观测体系。

weixin_43485603的博客 790

​2026企业运维监控平台选型指南:全栈数据融合驱动,智能运维新范式

本文聚焦2026企业运维监控平台选型,对比嘉为蓝鲸全栈智能可观测中心、腾讯云 TCOP 等四款产品的核心定位、能力亮点与适用场景,给出针对性选型建议,还解答多工具数据统一等常见技术问题,助力企业决策。

trainsignalcn的专栏 735

Cloudflare Kitesurf:专为AI智能体优化的浏览器自动化解决方案

浏览器自动化是现代Web开发和数据采集中的关键技术,它允许程序模拟用户行为与网页进行交互。其核心原理是通过控制浏览器引擎执行导航、点击、表单填写等操作,实现对动态内容的访问与处理。这项技术的价值在于能够自动化完成重复性任务,提升数据获取效率,并支持复杂的业务流程测试。在AI智能体领域,稳定的网页交互能力尤为重要,它使得智能体能够获取实时信息、执行操作,从而增强其环境感知与任务执行能力。然而,传统工具在应对反机器人检测和资源管理时面临挑战。Cloudflare推出的Kitesurf浏览器正是针对这些痛点设计,

weixin_30335353的博客 418

AI系统可观测性:从监控到洞察,构建大模型应用的运维基石

在软件工程领域,可观测性(Observability)是衡量系统内部状态通过外部输出来推断的能力,它超越了传统监控(Monitoring)对预设指标的关注,强调通过日志、指标和链路追踪三大支柱,主动探索未知问题。其核心原理在于通过高基数、多维度的数据采集与关联分析,实现对复杂系统行为的深度理解。这一技术对于保障现代分布式系统的稳定性、快速定位根因具有关键价值,尤其在微服务、云原生架构中已成为必备实践。随着大模型、AI Agent和RAG应用的普及,系统的复杂性从确定性的服务调用,转向了非确定性的语义生成与多

weixin_30727835的博客 509
上一篇: 深入理解JVM:内存管理与垃圾回收机制探索
下一篇: 《可观测性能力建设指南(2024年)》即将在2024可信云大会上发布
aiSRE工程狮
博客等级 码龄5年 423粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值