部署SkyWalking
version: '3.3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.5.0
container_name: elasticsearch
restart: always
ports:
- 9200:9200
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
oap:
image: apache/skywalking-oap-server:7.0.0-es7
container_name: oap
depends_on:
- elasticsearch
links:
- elasticsearch
restart: always
ports:
- 11800:11800
- 12800:12800
environment:
SW_STORAGE: elasticsearch7
SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
ui:
image: apache/skywalking-ui:7.0.0
container_name: ui
depends_on:
- oap
links:
- oap
restart: always
ports:
- 8080:8080
environment:
SW_OAP_ADDRESS: oap:12800
1、执行docker-compose 命令启动应用
#切换到包含skywalking docker-compose.yml 文件目录下
docker-compose up -d
2、查看运行状态,全是up表示启动成功
docker-compose ps
调用链追踪数据流
- SkyWalking Agent 以Sidecar的形式部署在应用运行的环境中
- Agent上报埋点信息到OPA系统,并存储到ES
- UI层查看埋点信息
应用调用链追踪
java -javaagent:/your-agent-path/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar -Dskywalking.agent.service_name=sk-docker -Dskywalking.collector.backend_service=localhost:11800 -jar springboot-helloworld-1.0-SNAPSHOT.jar
-javaagent:指的skywalking agent坐在目录,使得java应用在启动前被拦截,同时修改应用字节码,达到自动埋点的功能
- -Dskywalking.agent.service_name:指定被埋点的应用名
- -Dskywalking.collector.backend_service:指定OPA地址
idea 调用使用