集群配置说明

  • 集群模式- 基于nacos
  • 动态配置发布- 基于nacos
  • 存储- 基于elasticsearch7

nacos配置参照nacos部署

es配置参照ELK部署

创建配置目录

mkdir -pv /data/skywalking/{config,data}

加载配置文件方式部署

docker-compose编排

mkdir -pv /data/docker-compose/skywalking
cat > /data/docker-compose/skywalking/docker-compose.yml << EOF
version: "3"
services:
  oap:
    container_name: sw-oap
    image: apache/skywalking-oap-server:8.6.0-es7
    restart: always
    network_mode: host
    volumes:
      - /etc/localtime:/etc/localtime
      - /data/skywalking/data:/root
#      - /data/skywalking/config/application.yml:/skywalking/config/application.yml
    environment:
      TZ: Asia/Shanghai
      JAVA_OPTS: "-Xms2048m -Xmx2048m"
    deploy:
      resources:
        limits:
           memory: 4G
        reservations:
           memory: 2G

  ui:
    container_name: sw-ui
    image: apache/skywalking-ui:8.6.0
    ports:
      - 8080:8080
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime
    links:
      - oap
    depends_on:
      - oap
    environment:
      TZ: Asia/Shanghai
      SW_OAP_ADDRESS: 3.1.101.39:12800
    deploy:
      resources:
        limits:
           memory: 2G
        reservations:
           memory: 1G
EOF

先启动生成容器一次,拷贝出配置文件,进行修改

docker-compose up -d
docker cp sw-oap:/skywalking/config/application.yml /data/skywalking/config/

修改配置

修改内容如下

cluster:
  selector: ${SW_CLUSTER:nacos}
  nacos:
    serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
    hostPort: ${SW_CLUSTER_NACOS_HOST_PORT:3.1.101.45:8848}
    namespace: ${SW_CLUSTER_NACOS_NAMESPACE:"skywalking"}
    username: ${SW_CLUSTER_NACOS_USERNAME:"nacos"}
    password: ${SW_CLUSTER_NACOS_PASSWORD:"nacos"}
    
storage:
  selector: ${SW_STORAGE:elasticsearch7}
  elasticsearch7:
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:3.1.101.33:9200,3.1.101.34:9200,3.1.101.35:9200}
    
core:
  selector: ${SW_CORE:default}
  default:
    restHost: ${SW_CORE_REST_HOST:3.1.101.39}
    restPort: ${SW_CORE_REST_PORT:12800}
    gRPCHost: ${SW_CORE_GRPC_HOST:3.1.101.39}
    gRPCPort: ${SW_CORE_GRPC_PORT:11800}
   
configuration:
  selector: ${SW_CONFIGURATION:nacos}
  nacos:
    serverAddr: ${SW_CONFIG_NACOS_SERVER_ADDR:3.1.101.45}
    port: ${SW_CONFIG_NACOS_SERVER_PORT:8848}
    group: ${SW_CONFIG_NACOS_SERVER_GROUP:skywalking}
    namespace: ${SW_CONFIG_NACOS_SERVER_NAMESPACE:skywalking}
    username: ${SW_CONFIG_NACOS_USERNAME:"nacos"}
    password: ${SW_CONFIG_NACOS_PASSWORD:"nacos"}  

取消docker-compose.yml注销的配置文件行, 并重启生成skywalking容器

docker-compose up -d

nacos创建命名空间的ID要为skywalking

Docker变量方式部署

  • 参照application.yml配置文件, 配置中的大写值在容器中都可以作为环境变量引用到服务, 所有只需要将参数通过docker变量传入即可
mkdir -pv /data/docker-compose/skywalking
cat > /data/docker-compose/skywalking/docker-compose.yml << EOF
version: "3"
services:
  oap:
    container_name: sw-oap
    image: apache/skywalking-oap-server:8.6.0-es7
    restart: always
    network_mode: host
    volumes:
      - /etc/localtime:/etc/localtime
      - /data/skywalking/data:/root
    environment:
      ## 集群配置-nacos
      SW_CLUSTER: nacos
      SW_SERVICE_NAME: "SkyWalking_OAP_Cluster"
      SW_CLUSTER_NACOS_HOST_PORT: 3.1.101.45:8848
      SW_CLUSTER_NACOS_NAMESPACE: "skywalking"
      SW_CLUSTER_NACOS_USERNAME: "nacos"
      SW_CLUSTER_NACOS_PASSWORD: "nacos"
      
      ## 存储配置-es7
      SW_STORAGE: elasticsearch7
      SW_STORAGE_ES_CLUSTER_NODES: 3.1.101.33:9200,3.1.101.34:9200,3.1.101.35:9200
      
      ## core配置
      SW_CORE_REST_HOST: 3.1.101.39
      SW_CORE_REST_PORT: 12800
      SW_CORE_GRPC_HOST: 3.1.101.39
      SW_CORE_GRPC_PORT: 11800
      
      ## 动态配置发布-nacos
      SW_CONFIGURATION: nacos
      SW_CONFIG_NACOS_SERVER_ADDR: 3.1.101.45
      SW_CONFIG_NACOS_SERVER_PORT: 8848
      SW_CONFIG_NACOS_SERVER_GROUP: skywalking
      SW_CONFIG_NACOS_SERVER_NAMESPACE: skywalking
      SW_CONFIG_NACOS_USERNAME: "nacos"
      SW_CONFIG_NACOS_PASSWORD: "nacos"
      
      TZ: Asia/Shanghai
      JAVA_OPTS: "-Xms2048m -Xmx2048m"
    deploy:
      resources:
        limits:
           memory: 4G
        reservations:
           memory: 2G

  ui:
    container_name: sw-ui
    image: apache/skywalking-ui:8.6.0
    ports:
      - 8080:8080
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime
    links:
      - oap
    depends_on:
      - oap
    environment:
      TZ: Asia/Shanghai
      SW_OAP_ADDRESS: 3.1.101.39:12800,3.1.101.40:12800
    deploy:
      resources:
        limits:
           memory: 2G
        reservations:
           memory: 1G
EOF

客户端启动参数

下载apm,下载地址:

https://archive.apache.org/dist/skywalking/8.7.0/

或者

https://www.apache.org/dyn/closer.cgi/skywalking/8.7.0/apache-skywalking-apm-es7-8.7.0.tar.gz

提取agent目录,放置项目节点目录下,修改config下的agent.conf如下参数

collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:3.1.101.39:11800,3.1.101.40:11800}

启动参数示例:

java -javaagent:/opt/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=account-server-sw-agent -jar account-server-1.0-SNAPSHOT.jar

插件安装

  • 引导插件:在agent的 bootstrap-plugins 目录下
  • 内置插件:在agent的 plugins 目录下
  • 可选插件:在agent的 optional-plugins 目录下

插件下载地址

https://github.com/SkyAPM/java-plugin-extensions

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐