Docker Compose 部署 skywalking
本文提供了使用Docker Compose部署SkyWalking分布式追踪系统的详细配置指南。主要内容包括:1)宿主机修改vm.max_map_count参数的临时和永久方法;2)完整的docker-compose.yaml文件配置,包含SkyWalking OAP Server、Elasticsearch存储和UI组件;3)各服务的端口映射、网络配置、环境变量和健康检查设置;4)特别说明如何禁
·
前置步骤:
宿主机执行,修改vm.max_map_count:
# 临时生效
sudo sysctl -w vm.max_map_count=262144
# 永久生效(重启后保持)
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
创建网络:
docker network create skywalking-network
docker compose:
version: "3"
services:
# SkyWalking OAP server with Elasticsearch storage
skywalking-oap:
image: apache/skywalking-oap-server:8.9.0
container_name: skywalking-oap
ports:
- "12800:12800"
- "11800:11800"
networks:
- skywalking-network
depends_on:
skywalking-elasticsearch:
condition: service_healthy # 等待ES健康检查
environment:
- SW_STORAGE=elasticsearch
- TZ=Asia/Shanghai
- SW_STORAGE_ES_CLUSTER_NODES=skywalking-elasticsearch:9200
#volumes:
# - ./oap-config:/skywalking/config # 挂载本地目录到容器中
# Elasticsearch
skywalking-elasticsearch:
image: elasticsearch:7.16.3
container_name: skywalking-elasticsearch
ports:
- "19200:9200"
- "19300:9300"
networks:
- skywalking-network
environment:
- discovery.type=single-node
- TZ=Asia/Shanghai
- ingest.geoip.downloader.enabled=false # 禁用GeoIP下载
healthcheck: # 添加健康检查
test: [ "CMD-SHELL", "curl -s http://localhost:9200/_cluster/health | grep -q '\"status\":\"green\"'" ]
interval: 10s
timeout: 10s
retries: 20
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: 2g
#volumes:
# - ./es-data:/usr/share/elasticsearch/data/nodes # 挂载本地目录到容器中
# SkyWalking UI
skywalking-ui:
image: apache/skywalking-ui:8.9.0
container_name: skywalking-ui
ports:
- "18080:8080"
networks:
- skywalking-network
environment:
- SW_OAP_ADDRESS=http://skywalking-oap:12800
- TZ=Asia/Shanghai
volumes:
- ./ui-config:/app/config # 挂载本地目录到容器中
networks:
skywalking-network:
external:
name: skywalking-network
运行:
docker-compose up -d
agent 是 8.9.0的,可以去官网下:https://archive.apache.org/dist/skywalking/java-agent/8.9.0/
jar启动命令 -javaagent:后是agent jar包路径 backend_service是skywalking部署的服务器地址 service_name是应用名 11800是ai建议用这个grpc的,也可以试试12800:
nohup java -javaagent:/home/skywalking-agent/skywalking-agent.jar \
-Dskywalking.agent.service_name=appname \
-Dskywalking.collector.backend_service=xx.xx.xx.xx:11800 \
-jar 应用.jar --spring.profiles.active=test &
更多推荐
所有评论(0)