引言
Apache SkyWalking 是一款开源的 APM(应用性能管理)和分布式追踪系统,广泛应用于微服务架构和云原生应用中。本文将详细介绍如何从零开始搭建和配置 SkyWalking 系统,涵盖环境准备、安装步骤、探针配置以及常见问题排查。
环境准备
在开始安装和配置 SkyWalking 之前,需要确保以下环境和工具已经准备好:
- 操作系统:Linux(推荐)、Windows 或 macOS
- Java 运行环境:JDK 8 或更高版本
- SkyWalking 包:从官方网站下载 SkyWalking 后端和 UI 包
- 存储系统:例如 Elasticsearch(推荐),或者 H2、MySQL 等
安装步骤
- 下载与解压
从 SkyWalking 官方网站下载最新版本的 SkyWalking 压缩包。下载完成后,解压文件到合适的位置。
wget https://downloads.apache.org/skywalking/{version}/apache-skywalking-apm-{version}.tar.gz
tar -zxvf apache-skywalking-apm-{version}.tar.gz
cd apache-skywalking-apm-{version}
- 配置存储
SkyWalking 支持多种存储后端,以 Elasticsearch 为例:
- 安装 Elasticsearch(可以参考 Elasticsearch 官方文档)
- 修改 config/application.yml 文件,配置 Elasticsearch 连接信息:
storage:
selector: ${SW_STORAGE:elasticsearch}
elasticsearch:
nameSpace: ${SW_NAMESPACE:""}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
user: ${SW_ES_USER:""}
password: ${SW_ES_PASSWORD:""}
- 启动 SkyWalking 后端
使用以下命令启动 SkyWalking 后端服务:
bin/oapService.sh
如果是 Windows 系统,使用 bin/oapService.bat
启动。
- 启动 SkyWalking UI
SkyWalking 提供了一个基于 Web 的 UI 界面,启动命令如下:
bin/webappService.sh
如果是 Windows 系统,使用 bin/webappService.bat
启动。
UI 启动成功后,可以通过浏览器访问 http://localhost:8080
查看。
探针配置
SkyWalking 提供多种语言的探针,这里以 Java 应用为例进行配置:
- 下载 Java 探针
SkyWalking 的 Java 探针已经包含在下载的压缩包中,路径为 agent/skywalking-agent.jar
。
- 配置 JVM 参数
将以下 JVM 参数添加到应用程序的启动命令中:
-javaagent:/path/to/skywalking-agent.jar
-Dskywalking.agent.service_name=<your-service-name>
-Dskywalking.collector.backend_service=<backend-ip:port>
示例:
java -javaagent:/path/to/skywalking-agent.jar -Dskywalking.agent.service_name=my-service -Dskywalking.collector.backend_service=127.0.0.1:11800 -jar my-application.jar
- 验证配置
启动应用程序后,访问 SkyWalking UI,查看服务是否正确注册和监控数据是否成功上报。如果看到服务和相关监控数据,说明配置成功。
常见问题排查
- 无法访问 SkyWalking UI
- 检查 UI 服务是否启动正常,查看
webappService.log
日志。 - 确认防火墙或安全组策略未阻止 8080 端口。
- 未采集到监控数据
- 确认应用程序启动时正确配置了 Java 探针的 JVM 参数。
- 检查 SkyWalking 后端服务是否正常运行,查看
oapService.log
日志。 - 确认网络连通性,确保应用程序能够连接到 SkyWalking 后端。
- 存储问题
- 如果使用 Elasticsearch,确保 Elasticsearch 集群正常运行并且配置正确。
- 查看 SkyWalking 后端日志,检查是否有存储相关的错误信息。
总结
通过以上步骤,您应该能够成功搭建和配置 Apache SkyWalking 系统。作为一款强大的 APM 和分布式追踪工具,SkyWalking 能够帮助您深入了解微服务系统的性能状况,并快速定位和解决问题。希望这篇文章能为您提供有价值的指导,助您在实际项目中充分利用 SkyWalking 的强大功能。