SkyWalking 环境要求
简介
SkyWalking 是一款开源的分布式系统监控和追踪工具,用于收集、分析、聚合和可视化微服务架构中的数据。在开始使用 SkyWalking 之前,确保你的环境满足其运行要求至关重要。本指南将详细介绍 SkyWalking 的环境需求,包括硬件、软件和网络配置。
硬件要求
SkyWalking 的性能和资源消耗取决于监控的应用程序数量和流量。以下是最低和建议的硬件配置:
组件 | 最低配置 | 建议配置 |
---|---|---|
OAP Server | 2核CPU, 4GB内存, 50GB存储 | 4核CPU, 8GB内存, 100GB存储 |
UI | 1核CPU, 2GB内存 | 2核CPU, 4GB内存 |
Storage | 取决于数据保留策略 | SSD存储,200GB以上 |
备注
对于生产环境,建议使用独立的服务器或云实例运行 OAP Server 和存储后端(如 Elasticsearch),以确保性能和稳定性。
软件要求
1. 操作系统
SkyWalking 支持以下操作系统:
- Linux(推荐)
- macOS(开发/测试)
- Windows(开发/测试)
2. Java 环境
SkyWalking OAP Server 和 UI 需要 Java 运行环境:
- 最低版本: JDK 8
- 推荐版本: JDK 11 或更高
验证 Java 安装:
bash
java -version
输出示例:
plaintext
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment Temurin-11.0.15+10 (build 11.0.15+10)
OpenJDK 64-Bit Server VM Temurin-11.0.15+10 (build 11.0.15+10, mixed mode)
3. 存储后端
SkyWalking 支持多种存储后端,以下是常见选项:
- Elasticsearch (推荐生产使用)
- 版本: 6.x, 7.x, 8.x
- MySQL
- 版本: 5.7+, 8.0+
- H2 (仅开发/测试)
警告
Elasticsearch 需要单独配置堆内存(建议至少 4GB),并确保 vm.max_map_count
在 Linux 系统中设置为至少 262144
:
bash
sudo sysctl -w vm.max_map_count=262144
网络要求
1. 端口
SkyWalking 组件默认使用以下端口:
- OAP Server:
11800
(gRPC),12800
(HTTP) - UI:
8080
(HTTP)
确保防火墙允许这些端口的通信。
2. 网络延迟
- OAP Server 与存储后端(如 Elasticsearch)之间的延迟应低于 100ms。
- 被监控应用与 OAP Server 之间的延迟应低于 50ms。
实际案例
场景:本地开发环境配置
假设你在本地开发环境中部署 SkyWalking,使用 Elasticsearch 作为存储后端:
- 启动 Elasticsearch:
bash
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.17.0
- 启动 SkyWalking OAP Server:
bash
docker run -d --name oap --restart always -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 -p 11800:11800 -p 12800:12800 apache/skywalking-oap-server:9.4.0
- 启动 SkyWalking UI:
bash
docker run -d --name skywalking-ui --restart always -p 8080:8080 --link oap:oap -e SW_OAP_ADDRESS=http://oap:12800 apache/skywalking-ui:9.4.0
访问 http://localhost:8080
即可看到 SkyWalking UI。
总结
- 硬件: 根据负载选择合适配置,生产环境建议 4核CPU/8GB内存以上。
- 软件: 需要 JDK 8+ 和兼容的存储后端(如 Elasticsearch)。
- 网络: 确保端口开放且延迟可控。
附加资源
练习
- 在你的本地机器上安装 JDK 11 并验证版本。
- 使用 Docker 尝试部署 SkyWalking 和 Elasticsearch。
- 修改 OAP Server 配置,尝试切换存储后端为 MySQL。