# ============================================ # Syslog Consumer 部署配置 # ============================================ # 使用方法: docker compose -f docker-compose-consumer-rule-dm.yaml up -d # ============================================ services: # ============================================ # Syslog Consumer-rule - 数据消费规则服务(平台端) # ============================================ syslog-consumer-rule: build: context: ./consumer-rule-dm dockerfile: Dockerfile image: syslog-consumer-rule-dm:v1.2.2 container_name: syslog-consumer-rule-dm restart: unless-stopped environment: # 环境配置 - SPRING_PROFILES_ACTIVE=prod - TZ=Asia/Shanghai # 生产环境只使用 DIRECT:事实与统计同事务写入,不再写旧 change-log/pending。 - STATS_WRITE_MODE=DIRECT - STATS_INCREMENTAL_CAPTURE_ENABLED=false - STATS_INGRESS_METADATA_ENABLED=true - STATS_INCREMENTAL_READ_ENABLED=true - STATS_DEVICE_RECEIVE_CHANGE_CAPTURE_ENABLED=false # 数据库配置 - SPRING_DATASOURCE_URL=jdbc:dm://192.168.4.99:5237 - SPRING_DATASOURCE_USERNAME=SYSDBA - SPRING_DATASOURCE_PASSWORD=caZ2TcmXNSW8L2Ap - SPRING_DATASOURCE_DRIVER-CLASS-NAME=dm.jdbc.driver.DmDriver - SPRING_DATASOURCE_HIKARI_SCHEMA=\"PUBLIC\" # HikariCP 连接池配置 - SPRING_DATASOURCE_HIKARI_MAXIMUM-POOL-SIZE=50 - SPRING_DATASOURCE_HIKARI_MINIMUM-IDLE=5 - SPRING_DATASOURCE_HIKARI_CONNECTION-TIMEOUT=30000 - SPRING_DATASOURCE_HIKARI_IDLE-TIMEOUT=600000 - SPRING_DATASOURCE_HIKARI_MAX-LIFETIME=900000 - SPRING_DATASOURCE_HIKARI_POOL-NAME=HikariPool-SyslogConsumer-rule - SPRING_DATASOURCE_HIKARI_AUTO-COMMIT=false # Redis配置 - SPRING_REDIS_HOST=192.168.4.99 - SPRING_REDIS_PORT=6379 - SPRING_REDIS_PASSWORD=redis_GdGWte - SPRING_REDIS_DATABASE=0 - SPRING_REDIS_TIMEOUT=2000 - SPRING_CACHE_REDIS_TIME-TO-LIVE=600000 # Kafka配置 - SPRING_KAFKA_CONSUMER_BOOTSTRAP_SERVERS=192.168.4.99:9092 # 保留客户现有生产消费组名称,多节点必须完全一致,不可临时换组。 - SPRING_KAFKA_CONSUMER_GROUP_ID=agent-01-syslog-group-dm - SPRING_KAFKA_CONSUMER_AUTO_OFFSET_RESET=latest - SPRING_KAFKA_CONSUMER_ENABLE_AUTO_COMMIT=false - SPRING_KAFKA_CONSUMER_TOPIC=agent-01-syslog-topic - KAFKA_CONSUMER_LARGE_TOPIC=agent-01-syslog-topic.large # consumer-rule 是活跃原始日志消费节点,多实例通过同一消费组分担分区。 - SYSLOG_RAW_CONSUMER_ENABLED=true # 特殊异常优先写入 DLT;DLT 失败也记录后放行,避免单条/单批异常永久阻塞分区。 - SYSLOG_FAILURE_CONTINUITY_ENABLED=true - SYSLOG_FAILURE_CONTINUITY_DLT_PUBLISH_TIMEOUT_MS=1000 # 大日志的 poll、fetch、批次和规则计算线程池均独立且有界。 - SYSLOG_LARGE_LISTENER_ENABLED=true - SYSLOG_LARGE_LISTENER_CONCURRENCY=1 - SYSLOG_LARGE_LISTENER_MAX_POLL_RECORDS=5 - SYSLOG_LARGE_LISTENER_MAX_PARTITION_FETCH_BYTES=33554432 - SYSLOG_LARGE_LISTENER_FETCH_MAX_BYTES=67108864 - SYSLOG_LARGE_PROCESSING_BATCH_MAX_BYTES=8388608 - SYSLOG_LARGE_PROCESSOR_CORE_POOL_SIZE=1 - SYSLOG_LARGE_PROCESSOR_MAX_POOL_SIZE=2 - SYSLOG_LARGE_PROCESSOR_QUEUE_CAPACITY=10 - KAFKA_RELIABILITY_MAX_REQUEST_SIZE=33554432 # Retry/Replay 与 Raw 隔离,避免未到期重试占用实时消费线程。 - SYSLOG_RELIABILITY_CONSUMER_GROUP_ID=agent-01-syslog-group-dm-retry - SYSLOG_RELIABILITY_CONSUMER_ENABLED=true - SYSLOG_RELIABILITY_LISTENER_CONCURRENCY=1 - SPRING_KAFKA_CONSUMER_MAX_POLL_RECORDS=500 - SPRING_KAFKA_CONSUMER_PROPERTIES_MAX_POLL_INTERVAL_MS=900000 - SPRING_KAFKA_LISTENER_ACK_MODE=manual - SPRING_KAFKA_LISTENER_CONCURRENCY=2 - SPRING_KAFKA_LISTENER_TYPE=batch # InfluxDB配置 - INFLUXDB_URL=http://192.168.4.99:8087 - INFLUXDB_TOKEN=JsUyvU8vhQEFlMM_el4Drm87fyh707IhwJNsPBucPghSdbVmdQ-UvmPcyP5NTzWxsRfEz0T51Rw4ebZUuUrmZg== - INFLUXDB_ORG=influxdb - INFLUXDB_BUCKET=yelangbucket - INFLUXDB_RAW_WRITE_SCHEMA=V2 - INFLUXDB_RAW_READ_MODE=V1_V2 - INFLUXDB_RAW_V1_BUCKET=yelangbucket - INFLUXDB_RAW_V2_BUCKET=yelangbucket_v2 - INFLUXDB_RAW_UUID_BUCKET_COUNT=4096 - INFLUXDB_RAW_LEGACY_POINT_TIME_FALLBACK_ENABLED=true - INFLUXDB_RAW_QUERY_MAX_ROWS=10000 - INFLUXDB_RAW_QUERY_MAX_RESPONSE_BYTES=10485760 - INFLUXDB_RAW_MESSAGE_MAX_UTF8_BYTES=262144 - INFLUXDB_RAW_WRITE_BATCH_MAX_BYTES=8388608 - DM_NORMAL_LARGE_FIELD_MAX_UTF8_BYTES=262144 - DM_NON_NORMAL_LARGE_FIELD_MAX_UTF8_BYTES=262144 - INFLUXDB_BATCH_SIZE=1000 - INFLUXDB_FLUSH_INTERVAL=1000 - INFLUXDB_CONNECTION_TIMEOUT=30s - INFLUXDB_CONNECTION_READ-TIMEOUT=30s - INFLUXDB_CONNECTION_WRITE-TIMEOUT=60s # 定时任务配置 - SPRING_TASK_SCHEDULING_POOL_SIZE=10 # 日志配置 - LOGGING_LEVEL_COM_COMMON_SCHEDULE=INFO - LOGGING_LEVEL_COM_COMMON_SERVICE=INFO volumes: - /home/syslog/logs:/app/logs networks: - xdr-network privileged: true # ============================================ # 网络配置 # ============================================ networks: xdr-network: driver: bridge