Files
MeshSate/config/diagnostics.yaml
zhaolei 16f134e328 feat: MeshSafe 文件摆渡安全卫士 v1.0 初始提交
核心功能:
- 6 层检测管线: L0 结构分析 → L1 ClamAV → L2 文档深度检测 → L3 关键词匹配 → L4 YARA → L5 PE/二进制
- FastAPI + PostgreSQL + Redis + Docker Compose 架构
- 客户端 HMAC-SHA256 签名鉴权 + 限流 + 幂等性
- 控制台 UI (登录/Dashboard/诊断中心/策略管理/任务列表/测试中心/产品介绍页)
- 三层诊断定时器 (error_scan 30s / db_aggregate 30s / container_check 5min)

并发与稳定性修复:
- 诊断定时器 Redis 时间槽位锁 (多 worker 同一槽位只有一个执行)
- JSONL 存储 fcntl 跨进程排他锁 + 容错解码 + 原子重写
- 移除 SQLite fallback, 统一 PostgreSQL
- API_CLIENTS 脱敏为环境变量, .env 已 .gitignore
2026-10-28 19:07:11 +08:00

59 lines
2.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# =============================================================================
# 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 # 定时存的日志行数(节省磁盘)