Apache SkyWalking轻量级部署:单机版快速启动指南

Apache SkyWalking轻量级部署:单机版快速启动指南

【免费下载链接】skywalking APM, Application Performance Monitoring System 【免费下载链接】skywalking 项目地址: https://gitcode.com/gh_mirrors/sky/skywalking

1. 痛点与解决方案

你是否在部署分布式追踪系统时遇到以下问题:

  • 复杂的多组件依赖配置耗费数小时
  • 资源占用过高导致开发环境卡顿
  • 文档分散难以快速上手

本文将提供一套15分钟内可完成的单机版部署方案,通过Docker容器化技术消除环境依赖,只需3步即可搭建完整的APM(Application Performance Monitoring,应用性能监控)系统。

2. 部署前准备

2.1 环境要求

组件最低版本推荐配置
Docker20.10.x24.0.0+
Docker Composev2.0.0v2.20.0+
内存4GB8GB+
CPU2核4核+
磁盘空间10GB20GB SSD

2.2 环境验证

# 验证Docker安装
docker --version && docker compose version

# 预期输出示例
Docker version 24.0.6, build ed223bc
Docker Compose version v2.21.0

3. 三种部署方式对比

部署方式操作难度启动时间资源占用适用场景
源码编译★★★★☆30-60分钟二次开发
二进制包★★★☆☆10-15分钟生产环境
Docker容器★☆☆☆☆5-8分钟开发/测试/演示

本文聚焦Docker容器化部署,这是目前最快捷的单机部署方案。

4. 快速部署步骤

4.1 获取项目代码

# 克隆代码仓库
git clone https://gitcode.com/gh_mirrors/sky/skywalking.git
cd skywalking

4.2 构建Docker镜像

# 构建OAP服务器和UI镜像(跳过测试加速构建)
make docker SKIP_TEST=true

# 验证镜像构建结果
docker images | grep skywalking

成功构建后将显示两个镜像:

  • skywalking/oap:latest - 后端分析服务器
  • skywalking/ui:latest - 前端可视化界面

4.3 启动服务集群

# 进入Docker配置目录
cd docker

# 使用Elasticsearch存储启动(推荐生产环境)
docker compose --profile elasticsearch up -d

# 或使用BanyanDB存储(轻量级,适合资源受限环境)
# docker compose --profile banyandb up -d

5. 服务验证与访问

5.1 容器状态检查

# 查看运行中的容器
docker compose ps

# 预期输出应包含以下状态为Up的服务:
# elasticsearch (或banyandb)
# oap
# ui

5.2 服务健康检查

# 检查OAP服务器健康状态
curl http://localhost:12800/health

# 预期输出:{"status":"UP"}

5.3 访问Web界面

打开浏览器访问:http://localhost:8080

首次访问将显示默认仪表盘,包含:

  • 服务拓扑图
  • 性能指标概览
  • 追踪数据查询入口

6. 核心配置说明

6.1 端口映射说明

端口组件用途
11800OAPgRPC数据接收端口
12800OAPHTTP API端口
8080UIWeb界面访问端口
9200Elasticsearch存储服务端口(仅ES模式)

6.2 自定义配置

通过修改docker/.env文件调整关键参数:

# 编辑环境变量配置
vi docker/.env

# 关键配置项说明
OAP_IMAGE=skywalking/oap:latest  # OAP镜像版本
UI_IMAGE=skywalking/ui:latest    # UI镜像版本
ES_VERSION=8.10.4                # Elasticsearch版本
STORAGE=elasticsearch            # 存储类型(elasticsearch/banyandb)

修改后需重启服务:

docker compose --profile elasticsearch down
docker compose --profile elasticsearch up -d

7. 应用接入示例

7.1 Java应用接入

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

7.2 服务发现验证

接入应用后,在UI界面执行以下步骤验证:

  1. 访问服务列表页面(左侧菜单:服务 -> 服务列表
  2. 确认你的服务名出现在列表中
  3. 点击服务名查看详情指标

8. 故障排查指南

8.1 常见问题解决

问题现象可能原因解决方案
UI无法访问端口冲突检查8080端口占用,修改docker-compose.yml中UI端口映射
OAP启动失败内存不足增加JVM堆内存:修改OAP_JVM_OPTS环境变量
无数据显示代理配置错误检查agent.service_name和collector.backend_service配置

8.2 日志查看

# 查看OAP服务器日志
docker compose logs -f oap

# 查看UI日志
docker compose logs -f ui

# 查看Elasticsearch日志
docker compose logs -f elasticsearch

9. 服务停止与清理

9.1 停止服务

# 停止所有服务(保留数据)
docker compose --profile elasticsearch down

# 停止并清理数据卷(彻底重置)
docker compose --profile elasticsearch down -v

9.2 资源清理

# 删除构建的镜像(如需重新构建时使用)
docker rmi skywalking/oap:latest skywalking/ui:latest

10. 进阶部署建议

10.1 数据持久化配置

为防止容器重启导致数据丢失,建议配置外部数据卷:

# 在docker-compose.yml中添加自定义卷配置
volumes:
  elasticsearch-data:
    driver: local
    driver_opts:
      type: 'none'
      o: 'bind'
      device: '/path/to/your/elasticsearch/data'

10.2 性能优化参数

编辑.env文件添加以下优化配置:

# OAP性能优化
OAP_JVM_OPTS="-Xms1g -Xmx2g -XX:+UseG1GC"

# ES存储优化(仅ES模式)
ES_JVM_OPTS="-Xms2g -Xmx2g"

11. 总结与后续学习

通过本文方案,你已成功部署:

  • 完整的SkyWalking APM单机环境
  • 容器化的服务管理方式
  • 基础的应用接入能力

推荐后续学习路径:

  1. 数据采集深入:学习如何配置不同语言的代理(Agent)
  2. 告警规则配置:通过alarm-settings.yml设置业务告警阈值
  3. 分布式追踪:分析调用链数据定位性能瓶颈
  4. 集群部署:参考官方文档扩展为生产级集群

扩展资源:

  • 官方文档:https://skywalking.apache.org/docs/
  • 配置示例:dist-material/config-examples/
  • 常见问题:docs/en/FAQ/

点赞 + 收藏 本文,关注作者获取更多SkyWalking实战技巧!

【免费下载链接】skywalking APM, Application Performance Monitoring System 【免费下载链接】skywalking 项目地址: https://gitcode.com/gh_mirrors/sky/skywalking

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值