擎创技术流 | 深入浅出运维可观测工具(三):eBPF如何兼容多架构模式性能管理

news2024/11/27 4:27:16

嗨~又见面了大家!

之前给大家分享过2篇eBPF技术干货,后台收到的反馈还挺好的,以至于总有朋友过来催更这一系列,这不第3篇在大家的千呼万唤下终于出来了。

新来的朋友点这里,键回看eBPF精彩技术贴,别忘了随手关注一下,感谢~

擎创技术流 | 深入浅出运维可观测工具(一):聊聊eBPF的前世今生

擎创技术流 | 深入浅出运维可观测工具(二):eBPF应用中常见问题

一、为什么云原生越来越火了

今年技术界最火的关键词除了ChatGPT外,云原生,大模型,AIGC也激起了不少讨论,所以本次分享主要是围绕云原生转型之路上,APM 底层如何通过 eBPF + Agent 兼容多架构应用性能管理。

在说明 eBPF 和 Agent 兼容之前,我们先简单回顾下云原生概念以及为什么要用云原生转型:云原生是分布式部署和统一运管的分布式云,以容器、微服务、DevOps等技术建立的一套云技术产品体系。

传统行业由于线上业务的飙升、衍生了快速响应业务、进行云原生转型等需求。对于云原生设计体系中应用剥离了非业务代码部分(如:弹性调度、快速迁移、安全)则需要让应用更聚焦于业务本身,实现高效的持续交付、弹性伸缩、降低资源成本、提升系统可用性等优势。

二、云原生背景下的企业运维模式

云原生转型之后,企业会出现多架构模式的中间态。针对多种架构模式下的系统如何统一运维?以及针对以下共性运维需求时,要如何保障系统灵活顺畅运行呢?

  • 如何快速感知故障的发生?

  • 如何快速定位故障?

  • 如何深度剖析故障原因?

  • 如何了解对业务影响范围,进行紧急处置?

1.传统架构下的系统运维VS云原生架构下的系统运维

企业在云原生转型的过程中,部分业务改造代价比较高,同样需要依赖的上下游进行适配改造,基于这些原因,部分系统保留了传统模式,导致企业内出现了多种架构模式的中间态。

  • 传统架构下的系统

◆一般是面向传统应用、中间件、服务器进行运维

◆横向扩展性低,依赖大量的机器投入和灾备建设

◆更关注系统环境部署、升级、变更、发布、硬件指标等信息

  • 云原生架构下的系统

◆面向网格化的服务、中间件、运行态指标、K8s 下的基础设施进行运维;

◆由于云原生可借助高可用、弹性伸缩等能力实现业务的高性能和持续性,技术的复杂性也在增高。

◆在运维层面:微服务指数型上升、依赖复杂排障困难,技术栈深,弹性伸缩支撑业务突发流量,也加快了云上对象的动态变化频率,需要及时捕获这些动态变更和异常的发生。

敲重点!!!不同的架构,系统运维模式即使不同,但也存在相互调用的情况。常见的是通过 Agent 探针实现应用性能分析,但有些存量应用无法接入探针。另外,在企业内跨团队推广 Trace Agent 也是一个漫长的过程。

三、如何兼容多架构、多协议模式,并获得更好的应用性能分析?

1.eBPF技术引入

eBPF 是一种直接面向操作系统内核层添加黑盒代码的革命性技术,无需入侵应用代码,由于内核在网络处理的路径上预置了很多挂载点,eBPF 程序可以加载到这些挂载点(函数)上,从操作系统层面实现可观测。

2.Agent技术引入

Agent 是通过埋点的技术,通过声明式的 API 捕获请求传输的数据。当前擎创支持集成部分开源工具,例如市场主流的分布式应用性能监控 Skywalking。

3.API技术接入

擎创 APM 支持不同的业务系统使用不同的采集方式,可以将无法接入 Agent 或不关注链路的系统接入 eBPF 实现性能管理,针对链路调用复杂的系统接入 Agent 实现全链路监控,帮助全局排错。

四、eBPF 和 Agent技术如何应用

1.统一融合处理

系统接入 eBPF 和 Agent,采集上报的数据源不同,需进行统一的融合处理,建设 “对象、指标、Trace” 等模型,APM 平台按照统一模型进行数据处理。

  • 数据源:支持按照 “系统” 维度选择采集方式,每个系统可以选择不同采集方式,上报的原始数据格式不同;

  • 建设统一对象模型:按照 系统、服务、Endpoint、实例等对象,对所有来源数据进行统一的模型解析;

  • 数据丰富:主要分为两种:1)对象:识别调用来源、或被调用方的 IP 信息,进行对象关联;2)指标:针对跨接入方式的对象,按照调用方作为 Client 端的数据丰富被调用方的 数据,被调用方同理;

2.多系统建议接入可观测运维

应用性能监控(AIMeter • APM)为擎创自研平台,兼容多种采集方式,联动基础设施、网络等多维数据,全链路根因定位,深度有效运维。

  • 数据模型:兼容多种采集的数据来源,例如:eBPF、Skywalking、对接第三方,平台按照统一的对象模型,进行数据解析、数据处理;

  • 数据丰富:丰富源端调用远端的数据,弥补数据缺失问题,丰富基础设施对象与服务层的关联,注入 Kubernetes、云下等标签信息,实现应用多维数据联动、深度下钻基础设施等监控;

  • 统一查询:提供 UQ 统一查询能力,适配所有类型的快速查询;

  • 性能分析:针对不同数据源,平台提供统一观测对象模型,为系统、应用、服务、Endpoint、Instance 提供性能、错误分析、场景分析、根因推荐等能力;

五、总结

不同系统可选择性使用 eBPF 和 Agent 数据采集能力,无论是 eBPF 还是 Agent 均可实现应用性能管理能力,两者特性不同。对于同一条路径下的多系统调用,尽量保证统一接入 Agent,可实现根因推荐等能力,保证快速定障,后续我们将会新起篇章介绍擎创可观测场景分析、根因推荐、性能剖析等能力及常用的运维流程。


添加图片注释,不超过 140 字(可选)

擎创科技,Gartner连续推荐的AIOps领域标杆供应商。公司专注于通过提升企业客户对运维数据的洞见能力,为运维降本增效,充分体现科技运维对业务运营的影响力。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue2安装vuex和vue-router报错处理

Vue2安装vuex和vue-router报错处理 Vue2.6安装VuexVue2.6安装vue-router Vue2.6安装Vuex 报错信息 处理方法 #查看vuex版本 npm view vuex versions --json #安装合适版本 npm install vuex3.6.2 --saveVue2.6安装vue-router 报错信息 处理方法 #查看vue-router版本 npm…

2009-2022年商业银行竞争度数据(勒纳指数)(含原始数据和计算代码 dofile+结果)

2009-2022年商业银行竞争度数据(勒纳指数)(含原始数据和计算代码 dofile结果) 1、时间:2009-2022年 2、来源:整理自wind 3、指标:证券代码、证券简称、上市日期、年份、资产总计、利息支出、…

C语言系统化精讲(一):C 语言开发环境搭建

文章目录 一、Windows 开发环境搭建1.1 安装 mingw 编译器1.2 下载并安装 CLion1.3 启动 CLion 二、Linux 开发环境搭建(建议使用)2.1 VMware Workstation Pro软件简介及安装2.2 安装 Ubuntu 系统2.2.1 Ubuntu 下载2.2.2 安装 Ubuntu2.2.3 安装共享文件夹…

汽车3D HMI图形引擎选择

2002年,电影《少数派报告》让观众深入了解未来。 除了情节的核心道德困境之外,大多数人都对它的技术着迷。 我们看到了自动驾驶汽车、个性化广告和用户可以无缝交互的 3D 计算机界面。 令人惊讶的是,虽然故事发生在 2054 年,但许多科幻想象的作品已经成为现实。 对于汽车和…

【C++】STL-常用算法-常用遍历算法

0.前言 1.for_each #include <iostream> using namespace std;// 常用遍历算法 for_each #include<vector> #include<algorithm>//普通函数 void print01(int val) {cout << val << " "; }//仿函数 class Print02 { public:void oper…

Playwright for Python:断言

一、支持的断言 Playwright支持以下几种断言&#xff1a; 断言描述expect(locator).to_be_checked()复选框被选中expect(locator).to_be_disabled()元素是禁用状态expect(locator).to_be_editable()元素是可编辑状态expect(locator).to_be_empty()容器是空的expect(locator).…

重复的DNA序列(力扣)JAVA

DNA序列 由一系列核苷酸组成&#xff0c;缩写为 ‘A’, ‘C’, ‘G’ 和 ‘T’.。 例如&#xff0c;“ACGAATTCCG” 是一个 DNA序列 。 在研究 DNA 时&#xff0c;识别 DNA 中的重复序列非常有用。 给定一个表示 DNA序列 的字符串 s &#xff0c;返回所有在 DNA 分子中出现不止…

异常-java

目录 一、异常的概念和体系结构 1.1 异常的概念 1.2 异常的体系结构 1.3 异常的分类 二、异常的处理 2.1 防御式编程 2.2 异常抛出 2.3 异常捕获 2.4 异常处理流程 三、自定义异常类 一、异常的概念和体系结构 1.1 异常的概念 程序员在开发过程中&#xff0c;想要将代码写得…

【已解决】使用xshell来ssh到vmware的虚拟机,请求超时的问题

我的情况&#xff1a; 1.本地ping虚拟机请求超时&#xff0c;但是虚拟机ping本地成功 2.本地和虚拟机的防火墙都关了&#xff0c;ssh服务也开了 3.端口也是正确的 百思不得其解&#xff0c;不知道为什么就是连接不上 当出现这种情况的时候&#xff0c;可以考虑一下vmware的…

数学建模--Subplot绘图的Python实现

目录 1.Subplot函数简介 2.Subplot绘图范例1:绘制规则子图 3.Subplot绘图范例2:绘制不规则子图 4.Subplot绘图范例3:gridspec辅助实战1 5.Subplot绘图范例4:gridspec辅助实战2 1.Subplot函数简介 """ 最近在数学建模种需要绘制多张子图,发现对于subplot函…

win11安装jdk

Windows11JDK20安装及环境变量配置 - 简书 Java学习--Win11配置环境变量-腾讯云开发者社区-腾讯云 电脑上安装多个JDK版本时如何自由切换_安装多版本jdk_有青枫林的博客-CSDN博客 Windows同时安装两个版本JDK&#xff0c;并实现动态切换JAVA8或者JAVA11 【无标题】windows1…

教你轻松制作个性化的电子婚礼请柬

在一个婚礼的筹备过程中&#xff0c;制作一份独特而个性化的请柬是非常重要的。传统的纸质请柬已经逐渐被现代的电子请柬所取代&#xff0c;而用H5制作个性化的电子请柬正是目前越来越受欢迎的选择。让我们一起来看看如何通过乔拓云网的后台来定制属于你的梦幻婚礼电子请柬吧&a…

Leetcode.1123 最深叶节点的最近公共祖先

题目链接 Leetcode.1123 最深叶节点的最近公共祖先 rating : 1607 题目描述 给你一个有根节点 root 的二叉树&#xff0c;返回它 最深的叶节点的最近公共祖先 。 回想一下&#xff1a; 叶节点 是二叉树中没有子节点的节点&#xff1b;树的根节点的 深度 为 0 0 0&#xff0…

2023年09月IDE流行度最新排名

点击查看最新IDE流行度最新排名&#xff08;每月更新&#xff09; 2023年09月IDE流行度最新排名 顶级IDE排名是通过分析在谷歌上搜索IDE下载页面的频率而创建的 一个IDE被搜索的次数越多&#xff0c;这个IDE就被认为越受欢迎。原始数据来自谷歌Trends 如果您相信集体智慧&am…

【数据分享】2006-2021年我国省份级别的供水相关指标(20多项指标)

《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况&#xff0c;在之前的文章中&#xff0c;我们分享过基于2006-2021年《中国城市建设统计年鉴》整理的2006—2021年我国省份级别的市政设施水平相关指标、2006-2021年我国省份级别的各类建设用地面积数…

Windows11系统提示msvcp140.dll丢失的解决方法,总共有四个解决方法

msvcp140.dll 丢失是许多 Windows 用户都可能遇到的问题&#xff0c;这会导致许多程序无法正常运行&#xff0c;甚至系统崩溃。那么&#xff0c;我们该如何解决这个问题呢&#xff1f;请听我详细道来。 一、遇到的问题 在我的电脑上&#xff0c;msvcp140.dll 丢失的问题表现为…

保姆级教程——VSCode如何在Mac上配置C++的运行环境

vscode官方下载&#xff1a; 点击官网链接&#xff0c;下载对应的pkg&#xff0c;安装打开&#xff1b; https://code.visualstudio.com/插件安装 点击箭头所指插件商店按钮&#xff0c;yyds&#xff1b; 下载C/C 插件&#xff1b; ![外链图片转存 下载CodeLLDB插件&#x…

命令执行漏洞(附例题)

一.原理 应用有时需要调用一些执行系统命令的函数&#xff0c;如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等&#xff0c;当用户能控制这些函数的参数时&#xff0c;就可以将恶意系统命令拼接到正常命令中&#xff0c;从而造成命令执行攻击。 二.利用条…

SpringMVC入门的注解、参数传递、返回值和页面跳转---超详细教学

前言&#xff1a; 欢迎阅读Spring MVC入门必读&#xff01;在这篇文章中&#xff0c;我们将探索这个令人兴奋的框架&#xff0c;它为您提供了一种高效、灵活且易于维护的方式来构建Web应用程序。通过使用Spring MVC&#xff0c;您将享受到以下好处&#xff1a;简洁的代码、强大…