Apache SkyWalking接入SLS Trace实践

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 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
相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
7月前
|
SQL 人工智能 监控
SLS Copilot 实践:基于 SLS 灵活构建 LLM 应用的数据基础设施
本文将分享我们在构建 SLS SQL Copilot 过程中的工程实践,展示如何基于阿里云 SLS 打造一套完整的 LLM 应用数据基础设施。
1915 97
|
存储 运维 开发工具
警惕日志采集失败的 6 大经典雷区:从本地管理反模式到 LoongCollector 标准实践
本文探讨了日志管理中的常见反模式及其潜在问题,强调科学的日志管理策略对系统可观测性的重要性。文中分析了6种反模式:copy truncate轮转导致的日志丢失或重复、NAS/OSS存储引发的采集不一致、多进程写入造成的日志混乱、创建文件空洞释放空间的风险、频繁覆盖写带来的数据完整性问题,以及使用vim编辑日志文件导致的重复采集。针对这些问题,文章提供了最佳实践建议,如使用create模式轮转日志、本地磁盘存储、单线程追加写入等方法,以降低日志采集风险,提升系统可靠性。最后总结指出,遵循这些实践可显著提高故障排查效率和系统性能。
1691 21
|
7月前
|
SQL 人工智能 数据挖掘
Apache Doris 4.0 AI 能力揭秘(二):为企业级应用而生的 AI 函数设计与实践
Apache Doris 4.0 原生集成 LLM 函数,将大语言模型能力深度融入 SQL 引擎,实现文本处理智能化与数据分析一体化。通过十大函数,支持智能客服、内容分析、金融风控等场景,提升实时决策效率。采用资源池化管理,保障数据一致性,降低传输开销,毫秒级完成 AI 分析。结合缓存复用、并行执行与权限控制,兼顾性能、成本与安全,推动数据库向 AI 原生演进。
683 0
Apache Doris 4.0 AI 能力揭秘(二):为企业级应用而生的 AI 函数设计与实践
|
8月前
|
SQL 存储 运维
Apache Doris 在菜鸟的大规模湖仓业务场景落地实践
本文介绍了 Apache Doris 在菜鸟的大规模落地的实践经验,菜鸟为什么选择 Doris,以及 Doris 如何在菜鸟从 0 开始,一步步的验证、落地,到如今上万核的规模,服务于各个业务线,Doris 已然成为菜鸟 OLAP 数据分析的最优选型。
457 2
Apache Doris 在菜鸟的大规模湖仓业务场景落地实践
|
运维 Kubernetes 监控
Log/Trace/Metric 完成 APIServer 可观测覆盖
12 月 11 日,OpenAI 出现了全球范围的故障,影响了 ChatGPT/API/Sora/Playground/Labs 等服务,持续时间超过四个小时。究其背后原因,主要是新部署的服务产生大量的对 K8s APIServer 的请求,导致 APIServer 负载升高,最终导致 DNS 解析不能工作,影响了数据面业务的功能。面对 APIServer 这类公用基础组件,如何通过 Log/Trace/Metric 完成一套立体的覆盖体系,快速预警、定位根因,降低不可用时间变得非常重要。
484 94
Log/Trace/Metric 完成 APIServer 可观测覆盖
|
存储 数据采集 监控
云上数据安全保护:敏感日志扫描与脱敏实践详解
随着企业对云服务的广泛应用,数据安全成为重要课题。通过对云上数据进行敏感数据扫描和保护,可以有效提升企业或组织的数据安全。本文主要基于阿里云的数据安全中心数据识别功能进行深入实践探索。通过对商品购买日志的模拟,分析了如何使用阿里云的工具对日志数据进行识别、脱敏(3 种模式)处理和基于 StoreView 的查询脱敏方式,从而在保障数据安全的同时满足业务需求。通过这些实践,企业可以有效降低数据泄漏风险,提升数据治理能力和系统安全性。
2019 239
云上数据安全保护:敏感日志扫描与脱敏实践详解
|
存储 安全 数据挖掘
天翼云:Apache Doris + Iceberg 超大规模湖仓一体实践
天翼云基于 Apache Doris 成功落地项目已超 20 个,整体集群规模超 50 套,部署节点超 3000 个,存储容量超 15PB
896 2
天翼云:Apache Doris + Iceberg 超大规模湖仓一体实践
|
存储 监控 安全
网络安全视角:从地域到账号的阿里云日志审计实践
日志审计的必要性在于其能够帮助企业和组织落实法律要求,打破信息孤岛和应对安全威胁。选择 SLS 下日志审计应用,一方面是选择国家网络安全专用认证的日志分析产品,另一方面可以快速帮助大型公司统一管理多组地域、多个账号的日志数据。除了在日志服务中存储、查看和分析日志外,还可通过报表分析和告警配置,主动发现潜在的安全威胁,增强云上资产安全。
963 43
|
存储 运维 监控
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
917 3
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践

相关产品

  • 日志服务
  • 推荐镜像

    更多