目录
基于docker-compose搭建单机版skywalking
skywalking-oap 和 skywalking-ui容器时区问题
整体架构
官方地址:http://skywalking.apache.org/
SkyWalking 架构图
架构组成
- SkyWalking Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传递给服务器。
- SkyWalking OAP :负责接收 Agent 发送的 Tracing 数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。
- Storage :Tracing 数据存储。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多种存储器。而我们目前采用的是 ES ,主要考虑是 SkyWalking 开发团队自己的生产环境采用 ES 为主。
- SkyWalking UI :负责提供控台,查看链路等等。
服务搭建
基于docker-compose搭建单机版skywalking
docker-compose.yml文件内容
version: '3.5'
services:
elasticsearch:
image: elasticsearch:6.8.1
container_name: elasticsearch-6.8.1
restart: always
ports:
- 9200:9200
environment:
discovery.type: single-node #es单机模式
TZ: Asia/Shanghai #时区设置
TAKE_FILE_OWNERSHIP: true #解决 volumes 挂载权限问题
ES_JAVA_OPTS: -Xms256m -Xmx256m ##jvm内存分配为256MB
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./elasticsearch/data:/usr/share/elasticsearch/data
oap:
image: apache/skywalking-oap-server:8.5.0-es6
container_name: skywalking-oap-8.5.0
depends_on:
- elasticsearch
links:
- elasticsearch
restart: always
ports:
- 11800:11800
- 12800:12800
environment:
SW_STORAGE: elasticsearch
SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
SW_HEALTH_CHECKER: default
SW_TELEMETRY: prometheus
healthcheck:
test: ["CMD", "./bin/swctl", "ch"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
ui:
image: apache/skywalking-ui:8.5.0
container_name: skywalking-ui-8.5.0
depends_on:
- oap
links:
- oap
restart: always
ports:
- 8888:8080
environment:
SW_OAP_ADDRESS: oap:12800
启动skywalking 容器
#启动容器
docker-compose up -d
#查看启动的容器
docker ps