3.4 KiB
3.4 KiB
SkyWalking 安装指南
概述
SkyWalking 是一个开源的 APM(应用性能监控)系统,用于监控、追踪和诊断分布式系统。
组件
- Elasticsearch 7.9.0: 数据存储后端
- SkyWalking OAP Server 8.9.1: 后端分析处理服务
- SkyWalking UI 8.9.1: Web 管理界面
安装
快速安装
# 进入 skywalking 目录
cd newinstall/skywalking
# 1. 在 master 节点上设置存储目录
sudo ./setup-storage.sh
# 2. 执行安装脚本
./install-skywalking.sh
手动安装
# 1. 部署 Elasticsearch
kubectl apply -f elasticsearch-deployment.yaml
kubectl apply -f elasticsearch-service.yaml
# 2. 等待 Elasticsearch 就绪
kubectl wait --for=condition=ready pod -l app=elasticsearch --timeout=300s
# 3. 部署 SkyWalking OAP
kubectl apply -f skywalking-oap-deployment.yaml
kubectl apply -f skywalking-oap-service.yaml
# 4. 等待 OAP 就绪
kubectl wait --for=condition=ready pod -l app=skywalking-oap --timeout=300s
# 5. 部署 SkyWalking UI
kubectl apply -f skywalking-ui-deployment.yaml
kubectl apply -f skywalking-ui-service.yaml
# 6. 配置 Ingress
kubectl apply -f skywalking-ingress.yaml
访问
- Web UI: https://skywalking-ops.t-aaron.com
- OAP REST API: http://skywalking-oap:12800
- OAP gRPC: http://skywalking-oap:11800
配置说明
存储配置
- 存储类型: HostPath (单节点)
- 存储位置: Master 节点的
/opt目录 - Elasticsearch 数据:
/opt/elasticsearch - SkyWalking OAP 数据:
/opt/skywalking-oap - 数据持久性: ✅ 持久化存储,Pod 重启后数据保留
Elasticsearch
- 端口: 9200 (HTTP), 9300 (Transport)
- 内存: 1-2GB
- 存储: 单节点模式,数据存储在
/opt/elasticsearch
SkyWalking OAP
- 端口: 11800 (gRPC), 12800 (REST)
- 内存: 1-2GB
- 存储后端: Elasticsearch
- 数据存储:
/opt/skywalking-oap
SkyWalking UI
- 端口: 8080
- 内存: 256-512MB
- 后端: SkyWalking OAP
监控应用
Java 应用
在 Java 应用启动时添加以下 JVM 参数:
-javaagent:/path/to/skywalking-agent.jar
-Dskywalking.agent.service_name=your-service-name
-Dskywalking.collector.backend_service=skywalking-oap:11800
Spring Boot 应用
在 application.properties 中添加:
# SkyWalking 配置
skywalking.agent.service_name=your-service-name
skywalking.collector.backend_service=skywalking-oap:11800
故障排除
检查服务状态
# 查看所有 Pod 状态
kubectl get pods | grep -E "(elasticsearch|skywalking)"
# 查看服务状态
kubectl get svc | grep -E "(elasticsearch|skywalking)"
# 查看日志
kubectl logs -l app=elasticsearch
kubectl logs -l app=skywalking-oap
kubectl logs -l app=skywalking-ui
常见问题
-
Elasticsearch 启动失败
- 检查内存限制
- 检查存储权限
-
OAP 连接 Elasticsearch 失败
- 检查 Elasticsearch 是否就绪
- 检查网络连接
-
UI 无法访问
- 检查 Ingress 配置
- 检查 OAP 服务状态
卸载
# 删除所有资源
kubectl delete -f skywalking-ingress.yaml
kubectl delete -f skywalking-ui-deployment.yaml
kubectl delete -f skywalking-ui-service.yaml
kubectl delete -f skywalking-oap-deployment.yaml
kubectl delete -f skywalking-oap-service.yaml
kubectl delete -f elasticsearch-deployment.yaml
kubectl delete -f elasticsearch-service.yaml