Apache SkyWalking接入SLS Trace实践

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
日志服务 SLS,月写入数据量 50GB 1个月
简介: Apache SkyWalking 是一款非常优秀的应用性能监控(APM)工具,对微服务、云原生和容器化应用提供自动化、高性能的监控方案。项目于 2015 年创建,并于 2017 年 12 月进入 Apache 孵化器,目前已经是Apache的顶级项目。SLS Trace已经支持Apache SkyWalking Agent端直接接入SLS Trace服务。运维人员可以直接将已经接入Apache SkyWalking的应用的Agent端直接接入到SLS Trace服务(下文会有详细说明)而不需要考虑规模和部署的问题。

Apache SkyWalking

Apache SkyWalking 是一款非常优秀的应用性能监控(APM)工具,对微服务、云原生和容器化应用提供自动化、高性能的监控方案。项目于 2015 年创建,并于 2017 年 12 月进入 Apache 孵化器,目前已经是Apache的顶级项目。

Apache SkyWalking 提供了分布式追踪,服务网格(Service Mesh)遥感数据分析,指标聚合和可视化等多种能力。项目覆盖范围,从一个单纯的分布式追踪系统,扩展为一个可观测性分析平台(observability analysis platform)和应用性能监控管理系统。它包括以下主要功能:

  • 基于分布式追踪的 APM 系统。满足 100%分布式追踪和数据采集,同时对被监控系统造成极小的压力
  • 云原生友好。支持通过以 Istio 和 Envoy 为核心的 Service Mesh 来观测和监控分布式系统
  • 多语言自动探针,包括 Java,.NET,NodeJS,Python
  • 包含展示 Trace,指标和拓扑图在内的可视化界面

SLS Trace

SLS Trace方案完全兼容可观察性数据标准:OpenTelemetry,为客户提供Trace数据的存储、分析、展示等功能,此外SLS Trace也支持其他Trace方案(例如Jaeger、Zipkin、SkyWalking等)数据的接入。SLS Trace方案的主要功能特点如下:

  1. 支持多种接入方式,SLS本身支持以OpenTelemetry、Jaeger、Zipkin等协议直接写入,接入包括10+种语言,多种现有平台,支持公网、阿里云内网、全球加速等接入网络。
  2. 内部存储、分析、展示等数据格式均遵循OpenTelemetry Trace 1.0标准规范,符合云原生、微服务背景下的Trace格式需求。
  3. 高性能,支持日PB级数据接入,提供预计算能力,提取指标并进行依赖分析,具备支撑海量场景下Trace数据100%采样的能力。
  4. 弹性:可任意设置日志存储周期,Logstore容量可动态伸缩以满足业务增长需求。
  5. 具备丰富的Trace功能,包括Trace详情展示、服务概览、Trace查询统计、依赖分析等,同时提供自定义分析(SQL分析方式)的功能,满足各类特性化需求。
  6. 下游生态友好,SLS的Trace数据以及计算后的指标数据等都支持对各类接流计算、离线计算引擎,并支持自定义订阅数据进行定制化的处理。
  7. 提供多种内置的AIOps算法,自动分析Trace对于性能、错误率的影响,帮助开发者在复杂环境下快速排查问题的根因

当SkyWalking结合SLS

Apache SkyWalking总体共分为Agent,后端和存储三部分:

  1. Agent和应用绑定在一起,随应用启动而启动,这个不需运维人员过多的关心
  2. 后端和存储则重度依赖运维人员,需要根据业务的规模和数据量决定该部署多大规模的后端和存储集群。特别地,当某个业务因某个活动出现追踪数据流量激增下,后端很大可能会因为当时评估的量不够从而导致因处理能力不够,也可能出现存储能力不够而造成追踪数据丢失的问题。


SLS Trace已经支持Apache SkyWalking Agent端直接接入SLS Trace服务。运维人员可以直接将已经接入Apache SkyWalking的应用的Agent端直接接入到SLS Trace服务(下文会有详细说明)而不需要考虑规模和部署的问题。接入SLS Trace的优势有:

  1. 弹性:弹性是SLS的一大特点,在面对激增流量方面使得SLS Trace具有天然的优势。
  2. 高性能:SLS提供了相比ES更优的查询性能,支持每天PB级的数据接入,十亿、百亿级别的查询在秒级即可返回。
  3. 稳定性:SLS的数据全部使用3副本存储,提供99.9%的可用性以及十一个9的数据可靠性。
  4. 免运维:SLS提供了开箱即用的SkyWalking Trace接入服务,SLS本身是云服务,无需运维服务器和后端应用。


使用SLS Trace服务接入Apache SkyWalking数据

架构解析

1. SLS Trace接入配置

创建Project

  1. 登陆SLS控制台点击创建Project按钮

  1. 根据实际情况填写Project名称和归属地域

创建SLS Trace实例

  1. 登陆SLS控制台,选择“日志应用” 下的“Trace服务”

  1. 点击创建Trace实例

3. 根据实际情况填写Trace实例名称,项目Project选择刚创建的Project

SLS SkyWalking数据接入配置

  1. 登陆SLS控制台,在接入数据中选择SkyWalking接入

  1. 进入配置页后,点击选择上一节创建的Project和Logstore。注意:Logstore的名字为<INSTANCE>_traces。举个例子,创建的Trace实例为qs-trace-test,那么存放trace的logstore名字为qs-trace-test_traces。

  1. 创建机器组
  2. 如果您已有可用的机器组,请单击使用现有机器组
  3. 如果您还没有可用的机器组,请执行以下操作(以ECS为例)。
  4. ECS页签中,选中目标ECS实例,单击立即执行。更多信息,请参见安装Logtail(ECS实例)
  5. 如果是自建集群、其他云厂商服务器,需要手动安装Logtail。更多信息,请参见安装Logtail(Linux系统)安装Logtail(Windows系统)
  6. 添加Logtail配置, 将以下配置内容到配置中,

{

   "inputs" : [

       {

           "detail" : {

               // 注意:若您的Logtail本地11800端口被占用,可替换为其他可用端口,同时需修改SkyWalking上报的端口号。

               "Address" : "0.0.0.0:11800"

           },

           "type" : "service_skywalking_agent_v3"

       }

   ],

   "aggregators" : [

       {

           "detail" : {

               "MetricsLogstore" : "qs-trace-test-metrics",

               "TraceLogstore" : "qs-trace-test-traces"

           },

           "type" : "aggregator_skywalking"

       }

   ],

   "global" : {

       "AlwaysOnline" : true,

       "DelayStopSec" : 300

   }

}


  1. 点击下一步,进入点击查询分析配置。这一步不用做任何调整

  1. SkyWalking数据接入配置完成

2. Apache SkyWalking环境配置(以Java为例)

  1. 进入Apache SkyWalking官网,点击Downloads后进入下载页面

  1. 下载最新版本(当前最新版本是8.6.0, 目前SLS Trace只支持8.0.0及以上的版本)

3. 启动应用

将ApacheSkyWalking Agent参数添加到启动命令,并启动应用,以下以Java应用为例。demo代码见Github.

java -javaagent:/PATH/TO/AGENT/skywalking-agent.jar -Dskywalking.agent.service_name=XXX -Dskywalking.agent.service_name=XXX -jar xxx.jar


4. 查看相关trace数据


Trace接入概览

概览页面可以查看单个服务的概览信息,其中包括Trace发生的条数,服务数,平均延迟,Pxx等相关指标

服务列表

服务列表可以查看服务列表及单个服务下调用的相关指标信息


拓扑调用图

拓扑调用图可以展示所有接入SLS Trace服务中的服务的调用关系及调用相关指标


Trace相关数据


单条Trace详情


总结

从总体来看,SLS Trace服务接入SkyWalking Trace方面比较简单,对于现有接入SkyWalking的应用和服务来说,无需做任何修改就能让现有的已接入SkyWalking的应用直接接入到SLS中,对于新接入SkyWalking,运维人员不用再为评估和部署SkyWalking后端集群和ES集群而发愁。

参考

  1. https://skywalking.apache.org/
  2. https://www.infoq.cn/article/lclyrgcbxtlam82ue-7w
  3. https://help.aliyun.com/document_detail/208914.html?spm=a2c4g.11174283.6.1023.2a754c07H6Jyyb
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
46 1
|
23天前
|
消息中间件 存储 监控
构建高可用性Apache Kafka集群:从理论到实践
【10月更文挑战第24天】随着大数据时代的到来,数据传输与处理的需求日益增长。Apache Kafka作为一个高性能的消息队列服务,因其出色的吞吐量、可扩展性和容错能力而受到广泛欢迎。然而,在构建大规模生产环境下的Kafka集群时,保证其高可用性是至关重要的。本文将从个人实践经验出发,详细介绍如何构建一个高可用性的Kafka集群,包括集群规划、节点配置以及故障恢复机制等方面。
57 4
|
3月前
|
消息中间件 分布式计算 Hadoop
Apache Flink 实践问题之Flume与Hadoop之间的物理墙问题如何解决
Apache Flink 实践问题之Flume与Hadoop之间的物理墙问题如何解决
54 3
|
3月前
|
消息中间件 运维 Kafka
Apache Flink 实践问题之达到网卡的最大速度如何解决
Apache Flink 实践问题之达到网卡的最大速度如何解决
47 2
|
22天前
|
存储 数据挖掘 数据处理
巴别时代使用 Apache Paimon 构建 Streaming Lakehouse 的实践
随着数据湖技术的发展,企业纷纷探索其优化潜力。本文分享了巴别时代使用 Apache Paimon 构建 Streaming Lakehouse 的实践。Paimon 支持流式和批处理,提供高性能、统一的数据访问和流批一体的优势。通过示例代码和实践经验,展示了如何高效处理实时数据,解决了数据一致性和故障恢复等挑战。
101 61
|
1月前
|
存储 小程序 Apache
10月26日@杭州,飞轮科技 x 阿里云举办 Apache Doris Meetup,探索保险、游戏、制造及电信领域数据仓库建设实践
10月26日,由飞轮科技与阿里云联手发起的 Apache Doris 杭州站 Meetup 即将开启!
54 0
|
3月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
当今社会,物联网技术的发展带来了许多繁琐的挑战,尤其是在数据库管理系统领域,比如实时整合海量数据、处理流中的事件以及处理数据的安全性。例如,应用于智能城市的基于物联网的交通传感器可以实时生成大量的交通数据。据估计,未来5年,物联网设备的数量将达数万亿。物联网产生大量的数据,包括流数据、时间序列数据、RFID数据、传感数据等。要有效地管理这些数据,就需要使用数据库。数据库在充分处理物联网数据方面扮演着非常重要的角色。因此,适当的数据库与适当的平台同等重要。由于物联网在世界上不同的环境中运行,选择合适的数据库变得非常重要。 原创文字,IoTDB 社区可进行使用与传播 一、什么是IoTDB 我
177 9
Apache IoTDB进行IoT相关开发实践
|
3月前
|
SQL 运维 分布式计算
Apache Flink 实践问题之避免用户作业包中包含Flink的core包如何解决
Apache Flink 实践问题之避免用户作业包中包含Flink的core包如何解决
48 1
Apache Flink 实践问题之避免用户作业包中包含Flink的core包如何解决
|
3月前
|
数据采集 分布式计算 Kubernetes
Apache Flink 实践问题之ZooKeeper 网络瞬断时如何解决
Apache Flink 实践问题之ZooKeeper 网络瞬断时如何解决
94 4
|
4月前
|
SQL 存储 关系型数据库
计算效率提升 30 倍、存储资源节省 90%,雨润集团基于 Apache Doris 的统一实时数据仓库建设实践
数字化转型的浪潮中,高效准确的数据分析能够帮助雨润集团快速洞察市场动态、优化供应链管理、提高生产效率。雨润集团引入了 Apache Doris 构建了统一实时数据仓库,实现了计算效率提升 30 倍、存储资源节省 90%、成本降低超 100 万、人员效率提升 3 倍,为智能化、高效化转型指明了方向。
计算效率提升 30 倍、存储资源节省 90%,雨润集团基于 Apache Doris 的统一实时数据仓库建设实践

相关产品

  • 日志服务
  • 推荐镜像

    更多
    下一篇
    无影云桌面