前置步骤:

宿主机执行,修改​​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 &
Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐