feat: 告警HTTP上报 + 日志精简 + 边缘节点统一为edge

- 新增 alarm_upload_worker.py 异步告警上报(COS+HTTP)
- result_reporter 重构为Redis队列模式
- config_sync 适配WVP直推的聚合配置格式
- settings 默认 EDGE_DEVICE_ID 改为 edge
- 日志设置非告警模块为WARNING级别减少噪音
- main.py 集成新的告警上报流程

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-10 15:21:45 +08:00
parent 93a2278626
commit 0191e498f1
6 changed files with 1279 additions and 1075 deletions

View File

@@ -84,6 +84,34 @@ class StructuredLogger:
self._log_dir = "./logs"
self._init_logger()
# 非告警模块列表:这些模块的 INFO/DEBUG 日志会被抑制,只显示 WARNING 及以上
# 告警相关模块alarm_upload_worker, result_reporter, main 等)保持原始日志级别
_QUIET_LOGGERS = [
# 视频流 / 帧处理
"core.video_stream",
"video_stream",
"multi_stream",
# 图像预处理
"core.preprocessor",
"preprocessor",
# 后处理NMS、坐标映射、告警状态机
"core.postprocessor",
"postprocessor",
# TensorRT 推理引擎
"core.tensorrt_engine",
"tensorrt",
# 配置同步
"core.config_sync",
# 数据库
"config.database",
# 算法管理器(注册、配置订阅)
"algorithms",
# 图片存储
"core.storage_manager",
# 版本控制
"utils.version_control",
]
def _init_logger(self):
"""初始化日志配置"""
settings = get_settings()
@@ -109,6 +137,12 @@ class StructuredLogger:
console_handler.setFormatter(formatter)
root_logger.addHandler(console_handler)
# 抑制非告警模块的 INFO/DEBUG 日志,只保留 WARNING 及以上
# 告警相关模块alarm_upload_worker, result_reporter, main 等)不受影响
for logger_name in self._QUIET_LOGGERS:
quiet_logger = logging.getLogger(logger_name)
quiet_logger.setLevel(logging.WARNING)
# 配置命名 logger主模块专用写入独立日志文件
self._logger = logging.getLogger(self.name)
self._logger.setLevel(self._log_level)