集群配置说明
集群模式
- 集群模式- 基于nacos
- 动态配置发布- 基于nacos
- 存储- 基于elasticsearch7
- 数据传输方式: kafka队列
nacos配置参照nacos部署
es配置参照ELK部署
服务分布
| 服务 |
模式 |
IP |
用途 |
| skywalking-OAP |
集群 |
3.1.20.23, 3.1.20.24 |
后端 |
| skywalking-UI |
单点 |
3.1.20.32 |
ui页面 |
| kafka |
集群 |
3.1.20.28, 3.1.20.29, 3.1.20.30 |
队列 |
| es |
集群 |
3.1.20.25, 3.1.20.26, 3.1.20.27 |
存储 |
| Nginx |
单点 |
3.1.20.85 |
做sw-oap 11800端口和12800端口的负载 |
docker-compose方式部署
- 根据配置文件, 直接使用compose方式注册变量
SW-OAP
- es7存储
- nacos注册中心
- nacos动态配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| mkdir -pv /data/docker-compose/skywalking
cat > /data/docker-compose/skywalking/docker-compose.yml << EOF version: "3" services: oap: container_name: sw-oap image: 3.1.101.57:8005/public/skywalking-oap-server:8.6.0-es7 restart: always network_mode: host volumes: - /etc/localtime:/etc/localtime - /data/skywalking/data:/root environment: SW_CLUSTER: nacos SW_SERVICE_NAME: "SkyWalking_OAP_Cluster" SW_CLUSTER_NACOS_HOST_PORT: 3.1.20.85:8848 SW_CLUSTER_NACOS_NAMESPACE: "skywalking" SW_CLUSTER_NACOS_USERNAME: "nacos" SW_CLUSTER_NACOS_PASSWORD: "Nac0s#123456!"
SW_STORAGE: elasticsearch7 SW_STORAGE_ES_CLUSTER_NODES: 3.1.20.25:9200,3.1.20.26:9200,3.1.20.27:9200 SW_ES_USER: elastic SW_ES_PASSWORD: G1T@es2022#ccms
SW_CORE_REST_HOST: 3.1.20.23 SW_CORE_REST_PORT: 12800 SW_CORE_GRPC_HOST: 3.1.20.23 SW_CORE_GRPC_PORT: 11800
SW_CONFIGURATION: nacos SW_CONFIG_NACOS_SERVER_ADDR: 3.1.20.85 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: "Nac0s#123456!"
SW_KAFKA_FETCHER: 'default' SW_KAFKA_FETCHER_SERVERS: '3.1.20.28:9092,3.1.20.29:9092,3.1.20.30:9092' SW_NAMESPACE: 'topic-dics-long' SW_KAFKA_FETCHER_PARTITIONS: "3" SW_KAFKA_FETCHER_PARTITIONS_FACTOR: "2" SW_KAFKA_FETCHER_ENABLE_METER_SYSTEM: "true"
TZ: Asia/Shanghai JAVA_OPTS: "-Xms12G -Xmx12G" deploy: resources: limits: memory: 24G EOF
|
所有变量可通过配置文件查询, 容器内配置文件位置: /skywalking/config/application.yml
SW-UI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| mkdir -pv /data/docker-compose/skywalking
cat > /data/docker-compose/skywalking/docker-compose.yml << EOF version: "3" services: ui: container_name: sw-ui image: 3.1.101.57:8005/public/skywalking-ui:8.6.0 ports: - 12808:8080 restart: always volumes: - /etc/localtime:/etc/localtime environment: TZ: Asia/Shanghai SW_OAP_ADDRESS: 3.1.20.23:12800,3.1.20.24:12800 deploy: resources: limits: memory: 2G EOF
|
Agent配置
配置agent插件
使用kafka传输数据, 需要启用kafka上报插件
1 2
| cd skywalking/agent/optional-reporter-plugins; mv kafka-reporter-plugin-8.6.0.jar ../plugins/
|
agent配置文件
agent.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| agent.service_name=${SW_AGENT_NAME:credit-gateway} collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:3.1.20.23:11800,3.1.20.24:11800} logging.file_name=${SW_LOGGING_FILE_NAME:skywalking-api.log} logging.level=${SW_LOGGING_LEVEL:INFO} plugin.mount=${SW_MOUNT_FOLDERS:plugins,activations} plugin.jdbc.trace_sql_parameters=${SW_JDBC_TRACE_SQL_PARAMETERS:true}
plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:3.1.20.85:11800} plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800} plugin.toolkit.log.grpc.reporter.max_message_size=${SW_GRPC_LOG_MAX_MESSAGE_SIZE:10485760} plugin.toolkit.log.grpc.reporter.upstream_timeout=${SW_GRPC_LOG_GRPC_UPSTREAM_TIMEOUT:30}
plugin.kafka.bootstrap_servers=${SW_KAFKA_BOOTSTRAP_SERVERS:3.1.20.28:9092,3.1.20.29:9092,3.1.20.30:9092} plugin.kafka.namespace=${SW_KAFKA_NAMESPACE:"topic-dics-long"}
|
apm-trace-ignore-plugin.config
1
| trace.ignore_path=${SW_AGENT_TRACE_IGNORE_PATH:Lettuce/**,Kafka/**,kafka/**,/monitor/**}
|
插件下载地址
https://github.com/SkyAPM/java-plugin-extensions