端到端观测分析:从前端负载均衡到后端服务
前言
我们在做系统运维保障的时候,关注从前端负载均衡到后端服务的流量情况是很有必要的,可以了解每个后端服务实例接收的流量大小,这有助于确定资源分配是否合理,能够帮助找出后端服务中的性能瓶颈。同时,当系统出现故障时,如部分用户无法正常访问服务,分析负载均衡到后端服务的流量可以快速确定是负载均衡器的问题还是后端服务的问题(例如:如果负载均衡器到某个后端服务的流量突然中断或者异常下降,而其他后端服务正常,就可以重点排查这个出现问题的后端服务)。
下面我们通过一个实际的例子,来看下我们可以如何通过观测云来进行从前端到后端的问题分析和排查。
观测云
观测云( www.guance.com )是一个统一实时监测平台,它提供全面的系统可观测性解决方案,帮助用户快速实现对云平台、云原生、应用及业务的监控需求。观测云的核心功能包括:基础设施监测,日志采集和分析,用户访问监测(RUM),应用性能监测(APM),服务可用性监测(拨测),安全巡检,智能监控等等。
在这个实际案例中,客户是使用的某专有云的负载均衡,后端配置了云主机做为实例。通过观测云,可以从这几个维度来进行可观测的建设:
- 通过观测云的 Func 工具( func.guance.com )接入云平台的负载均衡指标,包括实例、监听器、后端服务实例和端口等维度。Func 提供自定义函数功能,允许用户通过编写代码来实现特定的数据处理、转换和接入操作。通过 Func 可以灵活地将外部数据引入观测云的监控体系,例如云平台监控 API。不同的云平台都有自己的监控 API,这些 API 提供了获取云资源监控数据的接口,例如获取服务器的 CPU 使用率、网络流量、存储使用情况等数据。
- 通过观测云的统一数据采集器 DataKit,安装在云主机环境中,提供如下维度的可观测数据:
- 多种系统资源的性能指标,如 CPU 使用率、内存占用、磁盘 I/O、网络流量等,还能整合日志、事件等数据,为系统监控提供全面数据支持
- eBPF 网络数据,能够采集四层、七层网络数据,可监控网络连接、流量、延迟、丢包等指标,分析网络性能问题,还能识别网络中的异常流量和潜在安全威胁
- 应用性能数据采集,接收链路数据,采集应用程序的性能指标,如响应时间、吞吐量、错误率等,以及分布式链路追踪信息,帮助用户全面了解应用性能状况
分析步骤
有了以上数据之后,我们来看一下如何联动分析和下钻:
1、通过仪表盘做为入口,可以及时了解云平台中负载均衡的流量情况,也包括流量较大的负载均衡的详细信息(负载均衡的 ID、VIP、端口以及后端云主机实例的 IP 和端口信息)。不过需要注意的是,由于云平台的 API 一般有读取限制,因此通过这种方式拉取监控指标,有一定的时间间隔。
2、如果发现有流量较大或者异常的情况,可以直接点击仪表盘的视图,进行跳转,查看详细的 eBPF 网络数据。
观测云支持图表内置关联链接和自定义关联链接,可以实现从当前图表跳转至目标页面,同时也支持自定义,通过模板变量中对应的变量值传送数据信息,实现数据联动。图表链接 - 观测云文档
3、定位到相关的云主机,流量确实不小,接下来进一步分析了该主机相关的应用服务情况,发现有很多报错也就是状态是 error 的链路,并且持续时间都很长。点开某条链路,能够看到相关的 span 调用有上万条,造成了网络的频繁访问。这时候就可以直接把相关的数据转发给研发同学来进一步分析和优化了。
相关文章:
端到端观测分析:从前端负载均衡到后端服务
前言 我们在做系统运维保障的时候,关注从前端负载均衡到后端服务的流量情况是很有必要的,可以了解每个后端服务实例接收的流量大小,这有助于确定资源分配是否合理,能够帮助找出后端服务中的性能瓶颈。同时,当系统出现…...
Axure疑难杂症:全局变量跨页面赋值、中继器交互(玩转全局变量)
亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:全局变量高级交互 主要内容:数据跨页面传递、赋值、中继器交互 应用场景:页面间值的传递、赋值 案例展示:…...
css 数字从0开始增加的动画效果
项目场景: 提示:这里简述项目相关背景: 在有些时候比如在做C端项目的时候,页面一般需要一些炫酷效果,比如数字会从小值自动加到数据返回的值 css 数字从0开始增加的动画效果 分析: 提示:这里填…...
【MongoDB篇】MongoDB的索引操作!
目录 引言第一节:天生的“索引小能手”——_id 索引 🆔第二节:自己动手,丰衣足食——创建索引 🔑🛠️第三节:索引的“类型”——因“材”施“索”!🌳🔑第四节…...
写劳动节前的 跨系统 文件传输
功能说明: 协议隐身:流量伪装为HTTPS图片传输 动态混淆:每个数据包添加随机填充 军用级擦除:临时文件三次覆写清除 抗分析:随机传输时间间隔和端口跳跃 隐蔽通道:ALTSHIFTC触发隐藏控制台 网络架构建…...
腾讯元宝桌面客户端:基于Tauri的开源技术解析
2025年3月,腾讯元宝宣布上线电脑客户端版本,支持Windows和macOS系统。作为腾讯旗下的AI助手产品,腾讯元宝桌面端采用了Tauri而非传统的Electron作为其跨平台开发框架,这一技术选择体现了腾讯对应用性能、安全性和用户体验的重视。本文将依据腾讯元宝桌面客户端的用户规则中…...
重塑驾乘体验!哈曼Ready系列引爆「人车交互革命」
AI定义汽车趋势下,AI加速赋能整车辅助驾驶、智能座舱、智能底盘等各域。 以智能座舱为例,AI大模型的快速应用与迭代,推动智能座舱加速迈入“多模交互”阶段,融合视觉、听觉、触觉等感知技术,智能座舱向着终极形态演进…...
第二章-科学计算库NumPy
第二章-科学计算库NumPy Numpy 作为高性能科学计算和数据分析的基础包,是其他重要数据分析工具的基础, 掌握 NumPy 的功能及其用法, 将有助于后续其他数据分析工具的学习. 2.1 认识 NumPy 数组对象 NumPy 中最重要的一个特点就是其 N 维数组对象, 即 ndarray(别名 array) 对象…...
3.2goweb框架GORM
GORM 是 Go 语言中功能强大的 ORM(对象关系映射)框架,支持 MySQL、PostgreSQL、SQLite、SQL Server 等主流数据库。以下是 GORM 的核心概念和用法详解: 一、基础入门 1. 安装 go get -u gorm.io/gorm go get -u gorm.io…...
KUKA机器人不同的用户权限详细介绍
对于KUKA机器人,主菜单里有一个“用户组”的登录,不同的用户组对应不同的权限。 一、KUKA示教器正常开机后显示以下界面,对于8.5及以上的系统,增加了快捷登录用户组的符号 ,直接点击即可打开。在 smartHMI 上&…...
AI对IT行业的重塑:挑战与机遇并存的技术革命
一、必要性:AI成为IT行业的基础设施 在云计算、大数据和物联网构成的数字生态中,AI技术已成为IT行业的"水电煤"。以微软Azure为例,其AI云服务支撑着全球超过85%的《财富》500强企业,通过机器学习模型自动优化服务器集群…...
利用IEEE异常机制优化Fortran浮点数计算
利用IEEE异常机制优化Fortran浮点数计算 在Fortran程序中,IEEE浮点异常机制可以帮助你检测和优化浮点数计算,提高数值稳定性和程序健壮性。以下是几种利用IEEE异常机制优化浮点数计算的方法: 1. 启用和检测IEEE异常 现代Fortran࿰…...
构建网页版IPFS去中心化网盘
前言:我把它命名为无限网盘 Unlimited network disks(ULND),可以实现简单的去中心化存储,其实实现起来并不难,还是依靠强大的IPFS,跟着我一步一步做就可以了。 第一步:准备开发环境…...
【solidity基础】一文说清楚合约函数的大小事
在 Solidity 里,函数是合约的关键构成部分,用于执行特定任务或操作的代码块,可以包含逻辑、访问状态变量、进行计算,并且可以接受参数和返回值。 但是solidity 的函数与其他语言不太一样,经常会有同学搞混,这里开一篇文章完整介绍一下 solidity 函数的用法。 1. 函数定…...
用Python构建自动驾驶传感器融合算法:从理论到实践
用Python构建自动驾驶传感器融合算法:从理论到实践 随着自动驾驶技术的飞速发展,传感器在自动驾驶系统中的作用愈发重要。传感器不仅是车辆感知外部环境的“眼睛”,它们提供的信息也是自动驾驶决策系统的基础。然而,单一传感器的感知能力是有限的。为了提升自动驾驶系统的…...
PLC与工业电脑:有什么区别?
随着工业部门的快速发展,自动化已经从奢侈品转变为绝对必需品。世界各地的工业越来越多地采用工业自动化来提高效率、提高精度并最大限度地减少停机时间。这场自动化革命的核心是两项关键技术:可编程逻辑控制器(PLC)和电脑&#x…...
机器学习:在虚拟环境中使用 Jupyter Lab
机器学习:在虚拟环境中使用 Jupyter Lab 第一步:激活虚拟环境 打开终端(CMD/PowerShell)并执行: $cmd #激活虚拟环境 $conda activate D:\conda_envs\mll_env 激活后,终端提示符前会显示环境名称&…...
Arduino项目实战与编程技术详解
一、智能避障小车:超声波传感器与PWM电机控制 1.1 硬件需求与工作原理 智能避障小车的核心在于超声波传感器与电机驱动模块的协同工作。超声波传感器(HC-SR04)通过发射高频声波并接收回波来测量距离,而L298N电机驱动模块则负责控制两个直流电机的转向与速度。 1.1.1 超声…...
AI数字人:人类身份与意识的终极思考(10/10)
文章摘要:AI数字人技术正在引发从"像素复刻"到"意识投射"的范式革命,多模态交互、神经辐射场等技术突破推动数字人从工具属性迈向虚拟主体。其发展伴随身份认同危机、伦理困境,促使人类重新思考自我认知与"人之为人…...
【单例模式】简介
目录 概念理解使用场景优缺点实现方式 概念理解 单例模式要保证一个类在整个系统运行期间,无论创建多少次该类的对象,始终只会有一个实例存在。就像操作系统中的任务管理器,无论何时何地调用它,都是同一个任务管理器在工作&#…...
安凯微以创新之芯,赋能万物智能互联新时代
在全球半导体产业步入深度调整期的当下,安凯微用一份“技术浓度”远超“财务数字”的年报,向市场传递出其作为物联网智能硬件核心SoC芯片领军者的战略定力。面对行业短期波动,公司选择以技术纵深突破与生态价值重构为锚点,在逆势中…...
TIME_WAIT状态+UDP概念及模拟实现服务器和客户端收发数据
目录 一、TIME_WAIT状态存在的原因 二、TIME_WAIT状态存在的意义 三、TIME_WAIT状态的作用 四、UDP的基本概念 4.1 概念 4.2 特点 五、模拟实现UDP服务器和客户端收发数据 5.1 服务器udpser 5.2 客户端udpcil 一、TIME_WAIT状态存在的原因 1.可靠的终止TCP连接。 2.…...
高并发内存池(五):性能测试与性能优化
前言 在前几期的实现中,我们完成了tcmalloc基础的内存管理功能,但还存在两个关键问题: 未处理超过256KB的大内存申请。 前期测试覆盖不足,导致多线程场景下隐藏了一些bug。 本文将修复这些问题,并实现三个目标&…...
景联文科技牵头起草的《信息技术 可扩展的生物特征识别数据交换格式 第4部分:指纹图像数据》国家标准正式发布
2025年3月28日,由景联文科技作为第一起草单位主导编制的国家标准GB/T 45284.4-2025 《信息技术 可扩展的生物特征识别数据交换格式 第4部分:指纹图像数据》正式获批发布,将于2025年10月1日开始实施。该标准的制定标志着我国生物特征识别领域标…...
完美解决 mobile-ffmpeg Not overwriting - exiting
在使用ffmpeg库 ,有pcm转换到 aac的过程中报错 mobile-ffmpeg Not overwriting - exiting终于在网上翻到,在output 输出文件的地方加 -y, 重复覆盖的意思,完美解决。...
4:QT联合HALCON编程—机器人二次程序抓取开发(九点标定)
判断文件是否存在 //判断文件在不在 int HandEyeCalib::AnsysFileExists(QString FileAddr) {QFile File1(FileAddr);if(!File1.exists()){QMessageBox::warning(this,QString::fromLocal8Bit("提示"),FileAddrQString::fromLocal8Bit("文件不存在"));retu…...
C语言之操作符
目录 1. 操作符的分类 2. 移位操作符 2.1 左移操作符 << 2.2 右移操作符 >> 3. 位操作符 3.1 按位与 & 3.2 按位或 | 3.3 按位异或 ^ 3.4 按位取反 ~ 3.5 例题 3.5.1 按位异或 ^ 拓展公式 3.5.2 不能创建临时变量(第三个变量ÿ…...
【优选算法 | 前缀和】前缀和算法:高效解决区间求和问题的关键
算法相关知识点可以通过点击以下链接进行学习一起加油!双指针滑动窗口二分查找 在本篇文章中,我们将深入解析前缀和算法的原理。从基础概念到实际应用,带你了解如何通过前缀和高效解决数组求和、区间查询等问题。无论你是刚接触算法的新手&am…...
『深夜_MySQL』详解数据库 探索数据库是如何存储的
1. 数据库基础 1.1 什么是数据库 存储数据用文件就可以了,那为什么还要弄个数据库? 一般的文件缺失提供了数据的存储功能,但是文件并没有提供非常好的数据管理能力(用户角度,内容方面) 文件保存数据有以…...
Microsoft Entra ID 免费版管理云资源详解
Microsoft Entra ID(原 Azure AD)免费版为企业提供了基础的身份管理功能,适合小型团队或预算有限的组织。以下从功能解析到实战配置,全面展示如何利用免费版高效管理云资源。 1. 免费版核心功能与限制 1.1 功能概览 功能免费版支持情况基础用户与组管理✔️ 支持创建、删除…...
k8s -hpa
hpa定义弹性自动伸缩 1、横向伸缩,当定义的cpu、mem指标达到hpa值时,会触发pods伸展 2、安装metrics-server 收集pods的cpu。mem信息供hpa参照 安装helm curl -fsSl -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 用helm安装metr…...
Web应用开发指南
一、引言 随着互联网的迅猛发展,Web应用已深度融入日常生活的各个方面。为满足用户对性能、交互与可维护性的日益增长的需求,开发者需要一整套高效、系统化的解决方案。在此背景下,前端框架应运而生。不同于仅提供UI组件的工具库,…...
Vue3 + TypeScript 实现 PC 端鼠标横向拖动滚动
功能说明 拖动功能: 鼠标按下时记录初始位置和滚动位置拖动过程中计算移动距离并更新滚动位置松开鼠标后根据速度实现惯性滚动 滚动控制: 支持鼠标滚轮横向滚动(通过 wheel 事件)自动边界检测防止滚动超出内容…...
MyBatis的SQL映射文件中,`#`和`$`符号的区别
在MyBatis的SQL映射文件中,#和$符号用于处理SQL语句中的参数替换,但它们的工作方式和使用场景有所不同。 #{} 符号 预编译参数:#{} 被用来作为预编译SQL语句的占位符。这意味着MyBatis会将你传入的参数设置为PreparedStatement的参数,从而防止SQL注入攻击,并允许MyBatis对…...
Python----卷积神经网络(池化为什么能增强特征)
一、什么是池化 池化(Pooling)是卷积神经网络(CNN)中的一种关键操作,通常位于卷积层之后,用于对特征图(Feature Map)进行下采样(Downsampling)。其核心目的是…...
React Native 从零开始完整教程(环境配置 → 国内镜像加速 → 运行项目)
React Native 从零开始完整教程(环境配置 → 国内镜像加速 → 运行项目) 本教程将从 环境配置 开始,到 国内镜像加速,最后成功运行 React Native 项目(Android/iOS),适合新手和遇到网络问题的开…...
SNR8016语音模块详解(STM32)
目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 三、程序设计 main文件 usart.h文件 usart.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 SNR8016语音模块是智纳捷科技生产的一种离线语音识别模块,设计适合用于DIY领域,开放用户设…...
驱动开发系列54 - Linux Graphics QXL显卡驱动代码分析(一)设备初始化
一:概述 QXL 是QEMU支持的一种虚拟显卡,用于虚拟化环境中的图形加速,旨在提高虚拟机的图形显示和远程桌面的用户体验;QEMU 也称 Quick Emulator,快速仿真器,是一个开源通用的仿真和虚拟化工具,可…...
通过IP计算分析归属地
在产品中可能存在不同客户端,请求同一个服务端接口的场景。 例如小程序和App或者浏览器中,如果需要对请求的归属地进行分析,前提是需要先获取请求所在的国家或城市,这种定位通常需要主动授权,而用户一般是不愿意提供的…...
【网络原理】从零开始深入理解HTTP的报文格式(二)
本篇博客给大家带来的是网络HTTP协议的知识点, 续上篇文章,接着介绍HTTP的报文格式. 🐎文章专栏: JavaEE初阶 🚀若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 王子,公主请阅…...
【前缀和】二维前缀和(模板题)
DP35 【模板】二维前缀和 DP35 【模板】二维前缀和 给你一个 n 行 m 列的矩阵 A ,下标从 1 开始,接下来有 q 次查询,每次查询输入 4 个参数 x1 , y1 , x2 , y2。 请输出以 (x1, y1) 为左上角,(x2,y2) 为右下角的子矩阵的和。 输入描述: 第一行包含三个整数 …...
【开源工具】Python打造智能IP监控系统:邮件告警+可视化界面+配置持久化
🌐【开源工具】Python打造智能IP监控系统:邮件告警可视化界面配置持久化 🌈 个人主页:创客白泽 - CSDN博客 🔥 系列专栏:🐍《Python开源项目实战》 💡 热爱不止于代码,热…...
kotlin 过滤 filter 函数的作用和使用场景
1. filter 函数的作用 filter 是 Kotlin 集合操作中的一个高阶函数,用于根据指定条件从集合中筛选出符合条件的元素。 作用:遍历集合中的每个元素,并通过给定的 lambda 表达式判断是否保留该元素。返回值:一个新的集合ÿ…...
Java泛型(补档)
核心概念 Java 泛型是 Java SE 1.5 引入的一项重要特性,它的核心思想是 参数化类型(Parameterized Types),即通过将数据类型作为参数传递给类、接口或方法,使代码能够灵活地处理多种类型,同时保证类型安全性…...
C语言发展史:从Unix起源到现代标准演进
C语言发展史:从Unix起源到现代标准演进 C语言的诞生与早期发展 C语言的起源可以追溯到上世纪70年代初期,但其真正的萌芽始于1969年的夏天。在计算机发展史上,这是一个具有划时代意义的时刻。 当时,Ken Thompson和Dennis Ritchi…...
nginx 代理时怎么更改 Remote Address 请求头
今天工作中遇到用 localhost 访问网站能访问后台 api,但是用本机IP地址后就拒绝访问,我怀疑是后台获取 Remote Address 然后设置白名单了只能 localhost 访问。 想用 nginx 更改 Remote Address server {listen 8058;server_name localhost;loca…...
解决STM32待机模式无法下载程序问题的深度探讨
在现代嵌入式系统开发中,STM32系列微控制器因其高性能、低功耗和丰富的外设资源而广受欢迎。然而,开发者在使用STM32时可能会遇到一个问题:当微控制器进入待机模式后,无法通过调试接口(如SWD或JTAG)下载程序…...
进程、线程、进程间通信Unix Domain Sockets (UDS)
进程、线程、UDS 进程和线程进程间通信Unix Domain Sockets (UDS)UDS的核心适用场景和用途配置UDS的几种主要方式socketpair() 基本配置流程socketpair() 进阶——传递文件描述符 补充socketpair() 函数struct msghdr 结构体struct iovecstruct cmsghdrstruct iovec 、struct m…...
大数据平台与数据仓库的核心差异是什么?
随着数据量呈指数级增长,企业面临着如何有效管理、存储和分析这些数据的挑战。 大数据平台和 数据仓库作为两种主流的数据管理工具,常常让企业在选型时感到困惑,它们之间的界限似乎越来越模糊,功能也有所重叠。本文旨在厘清这两种…...
Hadoop虚拟机中配置hosts
( 一)修改虚拟机的主机名 默认情况下,本机的名称叫:localhost。 我们进入linux系统之后,显示出来的就是[rootlocalhost ~]# 。为了方便后面我们更加便捷地访问这台主机,而不是通过ip地址,我们要…...