跳到主要内容

SkyWalking 环境要求

简介

SkyWalking 是一款开源的分布式系统监控和追踪工具,用于收集、分析、聚合和可视化微服务架构中的数据。在开始使用 SkyWalking 之前,确保你的环境满足其运行要求至关重要。本指南将详细介绍 SkyWalking 的环境需求,包括硬件、软件和网络配置。

硬件要求

SkyWalking 的性能和资源消耗取决于监控的应用程序数量和流量。以下是最低和建议的硬件配置:

组件最低配置建议配置
OAP Server2核CPU, 4GB内存, 50GB存储4核CPU, 8GB内存, 100GB存储
UI1核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 作为存储后端:

  1. 启动 Elasticsearch
bash
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.17.0
  1. 启动 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
  1. 启动 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)。
  • 网络: 确保端口开放且延迟可控。

附加资源

  1. SkyWalking 官方文档
  2. Elasticsearch 配置指南
  3. Docker 部署示例

练习

  1. 在你的本地机器上安装 JDK 11 并验证版本。
  2. 使用 Docker 尝试部署 SkyWalking 和 Elasticsearch。
  3. 修改 OAP Server 配置,尝试切换存储后端为 MySQL。