程序员

Apache SkyWalking接入SLS Trace实践

作者:admin 2021-07-15 我要评论

Apache SkyWalking Apache SkyWalking 是一款非常优秀的应用性能监控 APM 工具 对微服务、云原生和容器化应用提供自动化、高性能的监控方案。项目于 2015 年创建...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
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方案的主要功能特点如下

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

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

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


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

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


使用SLS Trace服务接入Apache SkyWalking数据架构解析

image

1. SLS Trace接入配置创建Project登陆SLS控制台 点击创建Project按钮

image

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

image

创建SLS Trace实例登陆SLS控制台 选择“日志应用” 下的“Trace服务”

image

点击创建Trace实例

image

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

image

SLS SkyWalking数据接入配置登陆SLS控制台 在接入数据中选择SkyWalking接入

image

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

image

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

image

{

? ? 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

? ? }

}


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

image

SkyWalking数据接入配置完成

image

2. Apache SkyWalking环境配置 以Java为例 进入Apache SkyWalking官网 点击Downloads后进入下载页面

image

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

image

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等相关指标

image

服务列表

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

image


拓扑调用图

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

image


Trace相关数据

image


单条Trace详情

image


总结

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

参考https://skywalking.apache.org/https://www.infoq.cn/article/lclyrgcbxtlam82ue-7whttps://help.aliyun.com/document_detail/208914.html?spm a2c4g.11174283.6.1023.2a754c07H6Jyyb
本文转自网络,原文链接:https://developer.aliyun.com/article/785327

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 数智洞察丨和死神赛跑,那些不得不“闯

    数智洞察丨和死神赛跑,那些不得不“闯

  • 酒店小程序开发瑞蚁解决方案

    酒店小程序开发瑞蚁解决方案

  • 自建Kubernetes集群如何使用阿里云CSI

    自建Kubernetes集群如何使用阿里云CSI

  • 【kafka运维】数据迁移、分区副本重分

    【kafka运维】数据迁移、分区副本重分

腾讯云代理商
海外云服务器