#Server Configuration
server.port=8289
server.servlet.context-path=/xdrrule
#server.address=0.0.0.0
server.tomcat.uri-encoding=UTF-8
server.error.include-message=always
server.error.include-binding-errors=always

#run.environment:  dev|test|pro
server.run.environment=pro


# Syslog Server Configuration
syslog.tcp.port=514
syslog.udp.port=514
syslog.max.frame.length=65536
syslog.buffer.size=1000
syslog.sm4.generateKey=f79548ab6fa8a304fc0115e17230358a

# InfluxDB 2.7 Configuration
influxdb.url=http://10.150 81.211:8087
influxdb.token=LFjXZyRxTf1V84oN-wwjhSjS4qIK-ZMoHzQJB67ir3qHNSBVJbMcTkPuNmM0cNxvzFEDWLYNzrz1VJKMitY5hw==
influxdb.org=influxdb
influxdb.bucket=yelangbucket
influxdb.batch.size=1000
influxdb.flush.interval=1000
influxdb.retry.attempts=3
influxdb.retry.delay=1000
# InfluxDB 2.7 连接超时配置
influxdb.connection.timeout=30s
influxdb.connection.read-timeout=30s
influxdb.connection.write-timeout=60s
# Application Configuration
app.worker.threads=8
app.max.queue.size=10000
app.metrics.enabled=true


#database Configuration
spring.datasource.url=jdbc:dm://192.163.4.99:5237/DM_ecosys
spring.datasource.username=SYSDBA
spring.datasource.password=caZ2TcmXNSW8L2Ap
spring.datasource.driver-class-name=dm.jdbc.driver.DmDriver

# mybatis Configuration
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.common.entity
#mybatis handler 类
mybatis.configuration.default-statement-timeout=30
mybatis.configuration.default-fetch-size=1000
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.type-handlers-package=com.Modules.etl.handler
mybatis-plus.configuration.map-underscore-to-camel-case=true
mybatis-plus.type-handlers-package=com.Modules.etl.handler

# kafka Configuration
spring.kafka.consumer.bootstrap-servers=10.150 81.211:9092
spring.kafka.consumer.group-id=agent-syslog-group
spring.kafka.consumer.auto-offset-reset=latest
spring.kafka.consumer.enable-auto-commit=false 
spring.kafka.consumer.auto-commit-interval=1000
spring.kafka.consumer.topic=agent-syslog-topic


spring.kafka.consumer.max-poll-records=1000
spring.kafka.consumer.properties.max.poll.interval.ms=300000
spring.kafka.consumer.properties.session.timeout.ms=45000

spring.kafka.consumer.fetch-min-size= 1048576
spring.kafka.listener.ack-mode= manual
spring.kafka.listener.concurrency= 2  
spring.kafka.listener.type=batch


# 定时任务配置
spring.task.scheduling.pool.size=10

# 日志配置
logging.level.com.common.schedule=INFO
logging.level.com.common.service=INFO

# 分区表检查配置
partition.check.tomorrow.enabled=true
partition.check.future.days=7
partition.auto.create=true


# 生产环境缓存配置
spring.redis.host=192.168.4.26
spring.redis.port=6379
# 密码（如果没有设置密码，可以省略）
spring.redis.password=123456
spring.redis.database=0
spring.redis.timeout=5000
#spring.redis.password=${REDIS_PASSWORD:default_prod_password}

spring.redis.lettuce.pool.max-active=20
spring.redis.lettuce.pool.max-wait=5000
spring.redis.lettuce.pool.max-idle=10
spring.redis.lettuce.pool.min-idle=5

# 生产环境缓存时间较长
spring.cache.redis.time-to-live=3600000

# 应用处理器配置
app.processor.thread-pool.core-pool-size=10
app.processor.thread-pool.max-pool-size=20
app.processor.thread-pool.queue-capacity=2000
app.processor.thread-pool.keep-alive-seconds=60
app.processor.batch-size=100
app.processor.process-timeout-ms=30000


# 配置 Elasticsearch
# Elasticsearch连接地址
spring.elasticsearch.uris=http://192.168.1.174:9200
# 配置 Elasticsearch 用户名
spring.elasticsearch.username=CONTAINER_NAME
# 配置 Elasticsearch 密码
spring.elasticsearch.password=t2NZCiajmdazxBrF
# 连接超时时间
spring.elasticsearch.connection-timeout=10s
# Socket 超时时间
spring.elasticsearch.socket-timeout=30s


# ETL配置
etl.batch.page-size=1000
etl.batch.insert-batch-size=500
etl.schedule.cron=0 0 2 * * ?


# ============================================
# HikariCP Connection Pool Configuration
# ============================================
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.connection-test-query=SELECT 1 FROM DUAL
spring.datasource.hikari.validation-timeout=5000
spring.datasource.hikari.leak-detection-threshold=30000          
spring.datasource.hikari.pool-name=HikariPool-SyslogConsumer-rule
spring.datasource.hikari.auto-commit=false


# 关联分析规则配置
analysis.realtime.enabled= true
# 检查间隔（秒） - 默认10秒
analysis.realtime.check-interval-seconds: 10

# ============================================
# 探针联动API配置
# ============================================
# API-KEY认证（32位，建议使用随机生成的密钥）
interlocking.api-key=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
# API接口基础URL（供syslog-serve调用）
interlocking.api.base-url=http://10.150 81.210:8089/xdrservice/interlocking

# ============================================
# 告警健康检查配置
# ============================================
# 告警表无数据阈值（小时）
alarm.health-check.alarm-hours=2
# 告警日志表无数据阈值（小时）
alarm.health-check.alarm-visit-hours=4
# 是否启用定时巡检
alarm.health-check.enabled=true

# ============================================
# 探针心跳检测配置
# ============================================
# 是否启用心跳检测
probe.heartbeat.enabled=true
# 探针离线阈值（分钟），超过此时间未收到心跳则判定为离线
probe.heartbeat.offline-threshold-minutes=10
# 状态检查Cron表达式（默认每10分钟）
probe.status.check.cron=0 */10 * * * ?
# 探针租户ID
probe.heartbeat.tenant-id=000000
# 心跳历史保留天数
probe.heartbeat.history.keep-days=10
# 是否启用历史清理
probe.heartbeat.history.cleanup-enabled=true
# 历史清理Cron表达式（默认每天凌晨1点）
probe.history.cleanup.cron=0 0 1 * * ?