SkyWalking 存储后端集成

SkyWalking 存储后端集成 #

Apache SkyWalking 是一款广泛使用的分布式应用性能监控(APM)系统。Easysearch 可以作为其存储后端,存储链路追踪和指标数据。

相关指南(先读这些) #

架构说明 #

应用服务(Agent)
      ↓ gRPC / HTTP
SkyWalking OAP Server
      ↓ ES 协议
Easysearch(存储后端)
      ↓
SkyWalking UI / Grafana(可视化)

SkyWalking OAP Server 使用 Elasticsearch 协议写入和查询数据。由于 Easysearch 兼容 ES 7.x API,可以直接配置为存储后端。

配置步骤 #

1. 修改 OAP Server 配置 #

编辑 application.yml,将存储类型设为 elasticsearch

storage:
  selector: elasticsearch
  elasticsearch:
    namespace: sw
    clusterNodes: https://easysearch-node1:9200
    protocol: https
    user: admin
    password: your_password
    trustStorePath: /path/to/truststore.jks
    trustStorePass: changeit
    # 索引分片配置
    indexShardsNumber: 2
    indexReplicasNumber: 1
    # 数据保留天数
    recordDataTTL: 7
    metricsDataTTL: 30
    # 批量写入设置
    bulkActions: 5000
    flushInterval: 15
    concurrentRequests: 2

2. 关键参数说明 #

参数说明推荐值
clusterNodesEasysearch 节点地址所有节点地址
indexShardsNumber每个索引的分片数2~3
indexReplicasNumber副本数1
recordDataTTLTrace 记录保留天数3~7
metricsDataTTL指标数据保留天数7~30
bulkActions批量写入操作数5000
flushInterval刷新间隔(秒)15

3. 验证连接 #

启动 OAP Server 后,检查日志确认连接成功:

grep "Elasticsearch storage" oap.log

在 Easysearch 中可以看到 SkyWalking 创建的索引:

GET _cat/indices/sw_*?v&s=index

容量规划 #

应用规模日均 Trace 量建议节点数建议磁盘空间/节点
小型(<10 服务)<100 万3 节点100 GB
中型(10-50 服务)100-1000 万3~5 节点500 GB
大型(>50 服务)>1000 万5+ 节点1 TB+

优化建议 #

  • 采样率:在高流量场景下配置 SkyWalking Agent 的采样率(如 10%),减少数据量
  • 索引生命周期:配合 Easysearch 的 ILM 策略自动清理过期索引
  • Cold 存储:历史数据可以迁移到低成本存储节点
  • 独立集群:生产环境建议将 APM 数据存储在独立的 Easysearch 集群中,避免影响业务搜索