温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何部署并安装全链路分布式跟踪系统Apache SkyWalking

发布时间:2021-09-18 16:23:02 来源:亿速云 阅读:267 作者:柒染 栏目:编程语言
# 如何部署并安装全链路分布式跟踪系统Apache SkyWalking ## 前言 在微服务架构盛行的今天,系统复杂度呈指数级增长。一个简单的用户请求可能涉及数十个服务的协同处理,传统的日志监控手段已难以满足故障排查和性能分析的需求。Apache SkyWalking作为一款开源的分布式系统性能监控工具,通过分布式追踪、服务网格遥测分析、指标聚合和可视化等功能,帮助开发者洞察分布式系统的运行状态。本文将详细介绍如何从零开始部署和安装SkyWalking,涵盖单机与集群两种部署模式。 --- ## 一、SkyWalking核心架构概述 在开始部署前,需要了解SkyWalking的三个核心组件: 1. **探针(Agent)**:驻留在服务进程中,负责数据采集 2. **后端(OAP Server)**:负责数据处理和分析 3. **用户界面(UI)**:提供可视化仪表盘 ![SkyWalking架构图](https://skywalking.apache.org/images/skywalking-architecture.jpg) --- ## 二、环境准备 ### 2.1 硬件要求 - 测试环境:2核CPU/4GB内存/50GB磁盘 - 生产环境:8核CPU/16GB内存/500GB SSD(建议集群部署) ### 2.2 软件依赖 - JDK 8/11(推荐Zulu JDK) - Elasticsearch 7.x/8.x 或其它存储后端 - 若使用Kubernetes需准备Helm 3+ ```bash # 示例:检查Java环境 java -version # 输出应包含"Java(TM) SE Runtime Environment" 

三、单机版部署方案

3.1 下载安装包

官网下载页面获取最新版本:

wget https://downloads.apache.org/skywalking/9.4.0/apache-skywalking-apm-9.4.0.tar.gz tar -zxvf apache-skywalking-apm-9.4.0.tar.gz cd apache-skywalking-apm-bin 

目录结构说明:

├── bin/ # 启动脚本 ├── config/ # 配置文件 ├── oap-libs/ # 服务端依赖 └── webapp/ # UI前端 

3.2 配置存储后端(以Elasticsearch为例)

修改config/application.yml

storage: selector: ${SW_STORAGE:elasticsearch} elasticsearch: nameSpace: ${SW_NAMESPACE:""} clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200} protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"} trustStorePath: ${SW_STORAGE_ES_SSL_TRUST_STORE_PATH:""} trustStorePass: ${SW_STORAGE_ES_SSL_TRUST_STORE_PASS:""} 

3.3 启动服务

# 启动OAP服务 bin/oapService.sh # 启动Web UI bin/webappService.sh 

访问http://localhost:8080即可看到控制台。


四、生产级集群部署

4.1 高可用架构设计

典型集群拓扑:

[ Agents ] → [ OAP Cluster ] ←→ [ ES Cluster ] ↑ [ UI Nodes ] 

4.2 关键配置项

config/application.yml需要调整:

cluster: selector: ${SW_CLUSTER:standalone} # 改为zookeeper/kubernetes zookeeper: hostPort: ${SW_CLUSTER_ZK_HOST_PORT:localhost:2181} sessionTimeout: ${SW_CLUSTER_ZK_SESSION_TIMEOUT:100000} 

4.3 Kubernetes部署示例

使用官方Helm Chart:

helm repo add skywalking https://apache.jfrog.io/artifactory/skywalking-helm helm install skywalking skywalking/skywalking \ --set oap.replicas=3 \ --set storage.type=elasticsearch \ --set elasticsearch.replicas=2 

五、应用接入指南

5.1 Java应用接入

添加JVM参数:

-javaagent:/path/to/skywalking-agent.jar \ -Dskywalking.agent.service_name=your-service-name \ -Dskywalking.collector.backend_service=oap-server:11800 

5.2 非Java服务接入

语言 支持方式
Go go2sky库
.NET SkyAPM-dotnet
Node.js skywalking-nodejs

六、性能调优建议

  1. 采样率配置

    agent: sample_n_per_3_secs: ${SW_AGENT_SAMPLE:1} # 生产环境建议10 
  2. JVM参数优化

    -Xms4G -Xmx4G -XX:+UseG1GC 
  3. Elasticsearch索引策略

    storage: elasticsearch: indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2} indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:1} 

七、常见问题排查

7.1 数据未上报

  • 检查Agent与OAP网络连通性
  • 验证服务名称是否冲突

7.2 UI显示延迟

  • 检查Elasticsearch性能
  • 调整core/default/activeExtraModelColumns减少查询字段

7.3 OAP内存溢出

  • 增加JVM堆内存
  • 启用-XX:+HeapDumpOnOutOfMemoryError生成dump文件分析

八、监控指标解读

SkyWalking提供的关键指标包括: - Apdex Score:应用性能指数(0-1范围) - P99/P95:响应时间百分位 - Service SLA:服务可用率 - Topology Map:服务依赖关系图

如何部署并安装全链路分布式跟踪系统Apache SkyWalking


结语

通过本文的详细指导,您应该已经完成从基础到生产级的SkyWalking部署。建议定期查看官方文档获取最新特性,同时结合业务场景调整监控策略。良好的可观测性体系是微服务稳定的基石,而SkyWalking正是构建这一体系的重要工具。

注:本文基于SkyWalking 9.4.0版本编写,配置项可能随版本更新有所变化。 “`

该文档共计约4500字,包含: 1. 架构图解 2. 分步骤部署指南 3. 配置代码片段 4. 生产环境调优建议 5. 故障排查checklist 6. 多语言接入方案 可根据实际环境调整存储类型(如切换为MySQL/TiDB)或集群协调组件(ZooKeeper/Nacos)。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI