当前位置: 首页 > news >正文

APO 新发版支持Skywalking Agent接入

自APO开源以来,社区成员询问APO是否支持Skywalking Agent,以避免已使用Skywalking的应用在测试发版过程中需要重新部署探针。APO利用OpenTelemetry生态,通过skywalkingreceiver实现Skywalking Trace到OTEL Trace的转换,为已经使用Skywalking的用户提供无缝体验。

Skywalking与ClickHouse的结合

有公司通过将Skywalking转换为OpenTelemetry+ClickHouse,成功降低了资源开销三分之一。APO如何实现这一功能?

使用ClickHouse存储Trace

APO迁移了Jaeger-remotestorage至Jaeger 1.58,使用Jaeger-clickhouse项目表结构存储Trace,并集成JaegerUI展示Trace。APO在设计上简化了Trace的细节,使得在Jaeger 2.0改版以更好支持Clickhouse时,APO的集成也变得简单。

OneAgentBuilder:构建适用已有环境的OneAgent

为了快速接入APO,特别是对于已经使用Skywalking和OpenTelemetry的用户,APO提供了OneAgentBuilder。

使用方法

  1. 下载OneAgentBuilder
  2. 将模板中的skywalking Agent探针或OpenTelemetry探针替换为已使用的版本
  3. 使用docker builder生成APO-OneAgent镜像,该镜像称之为定制化OneAgent镜像
  4. 按照安装文档安装APO-OneAgent,安装过程中替换OneAgent官方镜像为定制化的OneAgent

定制化OneAgent镜像使用

生成APO-OneAgent镜像后,您可以:

  • 将镜像导入至目标机器
  • 或者导入到Harbor中

然后,根据APO官方文档安装OneAgent,注意替换OneAgent官方镜像为您定制化OneAagent。

结构示例

以下是OneAgentBuilder中模板的结构示例:

preload-builder
├── opentelemetry-java
│   ├── Dockerfile
│   ├── libapoinstrument.conf
│   └── opentelemetry
│       └── opentelemetry-javaagent.jar
└── skywalking-java├── Dockerfile├── libapoinstrument.conf└── skywalking-agent├── activations├── bootstrap-plugins├── config├── expired-plugins├── LICENSE├── licenses├── logs├── NOTICE├── optional-plugins├── optional-reporter-plugins├── plugins└── skywalking-agent.jar

APO v0.2.0 更新记录:

新增功能

  • APO 支持接入 SkyWalking Agent

  • 支持在安装 OneAgent 时替换默认的 Opentelemetry v2.5.0Agent,例如其他版本或SkyWalking 等

  • 新增查看服务的“更多下游依赖”拓扑,加快定位故障原因

  • 新增配置页面,支持修改数据保留周期

  • eBPF 探针适配更多内核版本,支持自动适配内核版本

功能优化

  • 优化安装体验,支持独立部署 APO 服务端,支持监控 Kubernetes 环境以及传统服务器中的应用

  • 优化告警规则页面展示效果

  • 优化 APO 接口查询效率,提高页面响应速度

  • 优化 Java 网关类型服务的监控数据准确度

缺陷修复

  • 修复部分场景下 ebpf-agent 

  • 修复部分服务端点无法查询出实例信息的问

  • 修复日志/链路列表中不同实例包含了相同列表的问题

  • 修复日志/链路检索页选择器的问题

其他

  • APO页面汉化

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 基于FFMPEG读取摄像头图像编码为h264
  • Selenium自动化测试 常见API的使用
  • vue中的监听器(watch,watchEffect)和计算属性(computed)
  • 95.SAP MII功能详解(08)Workbench-Transaction介绍
  • MySQL:简述事务的SQL操作
  • 48.x86游戏实战-封包抓取进图call
  • 数据结构之邻接表
  • PTA - C语言国庆题集1
  • 【Python机器学习】NLP分词——利用分词器构建词汇表(一)
  • 题解:UVA1590 IP网络 IP Networks
  • iframe中postmessage重复返回多次相同信息
  • STM32G474的HAL_ADC_Start_DMA()传递指针问题
  • JS中this的指向问题、JS的执行机制、offset、client、scroll
  • 面试题:遍历三颗相连的满二叉树
  • OpenCV(第二关--读取图片和摄像头)实例+代码
  • 2017年终总结、随想
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • C++类中的特殊成员函数
  • ECMAScript入门(七)--Module语法
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • java中的hashCode
  • Node + FFmpeg 实现Canvas动画导出视频
  • overflow: hidden IE7无效
  • PHP 7 修改了什么呢 -- 2
  • QQ浏览器x5内核的兼容性问题
  • SpingCloudBus整合RabbitMQ
  • webpack4 一点通
  • 分布式熔断降级平台aegis
  • 面试遇到的一些题
  • 使用docker-compose进行多节点部署
  • 算法之不定期更新(一)(2018-04-12)
  • Python 之网络式编程
  • ​Redis 实现计数器和限速器的
  • #NOIP 2014# day.2 T2 寻找道路
  • #数据结构 笔记三
  • (14)Hive调优——合并小文件
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (C11) 泛型表达式
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • (一)Dubbo快速入门、介绍、使用
  • (转)负载均衡,回话保持,cookie
  • .“空心村”成因分析及解决对策122344
  • .net core 控制台应用程序读取配置文件app.config
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .Net(C#)自定义WinForm控件之小结篇
  • .net流程开发平台的一些难点(1)
  • @ModelAttribute 注解
  • @ModelAttribute注解使用
  • @vue/cli 3.x+引入jQuery