Files
MeshSate/config/diagnostics.yaml

59 lines
2.6 KiB
YAML
Raw Normal View History

# =============================================================================
# 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 # 定时存的日志行数(节省磁盘)