# ============================================================================= # MeshSafe Diagnostics Kit v1.0 配置 # ============================================================================= # 环境变量可覆盖(优先级更高): # MESHSAFE_DIAG_ENABLED=true|false # MESHSAFE_DIAG_DOCKER=auto|true|false # MESHSAFE_DIAG_ERROR_INTERVAL=30 # MESHSAFE_DIAG_CONTAINER_INTERVAL=300 # MESHSAFE_DIAG_DB_INTERVAL=60 # MESHSAFE_DIAG_STORAGE_ENABLED=true|false # ============================================================================= diagnostics: # ---------- 总开关 ---------- # true = 启动定时器、检测 Docker、运行规则引擎 # false = 只保留手动导出功能,所有自动诊断关闭 enabled: true # ---------- Docker 日志/容器状态能力 ---------- # auto = 启动时自动检测 docker.sock 挂载 # true = 强制启用,连不上启动报错 # false = 强制关闭 docker: enabled: auto # ---------- 后台定时器周期(秒,0 = 不跑)---------- timers: error_scan_interval: 30 # 错误/拦截类日志(R001/R005/R009-R014) container_check_interval: 300 # 容器/引擎类(R002/R003/R004/R015) db_aggregate_interval: 60 # DB 聚合类(R006/R007/R008) # ---------- 日志行数控制 ---------- docker_log_tail: 500 # 定时器 grep 最近多少行 export_log_tail: 2000 # 导出时完整抓多少行 # ---------- 导出包数据范围 ---------- # 所有 DB 查询都按"过去 N 天"过滤,避免导出全库 export: db_span_days: 7 # DB 查询时间范围(scan_tasks / findings / errors) scan_tasks_max: 10000 # scan_tasks.json 上限条数(防极端大数据量爆包) scan_findings_max: 50000 # scan_findings.json 上限条数 engine_errors_max: 5000 # engine_errors.json 上限条数 # ---------- 规则阈值 ---------- rules: error_ratio_threshold: 0.05 # R001: error > 5% 告警 clamav_db_stale_days: 7 # R002: 病毒库 > 7 天告警 reject_ratio_threshold: 0.20 # R007: reject > 20% 告警 suspicious_exceeds_malicious: true # R006 开关 # ---------- 持久化存储 ---------- # 关闭后回退纯内存模式(定时器结果重启就丢) storage: enabled: true dir: /app/data/diagnostics history_retention_days: 7 # 规则历史保留天数 log_snapshot_on_timer: true # 定时器跑完是否也存日志快照 log_snapshot_tail: 500 # 定时存的日志行数(节省磁盘)