Your Name
|
365ab73e7d
|
feat(alerts): 飞书通知支持 Web 界面配置(数据库存储+热更新)
1. 新增 notification_config 模型,飞书配置存数据库(单行id=1)
2. feishu_service 改为从数据库读配置,支持热更新,Web保存即生效
3. alerts.py 新增接口:
- GET /alerts/notify/feishu/config 读配置(secret只返回是否已设)
- PUT /alerts/notify/feishu/config 保存配置+热更新
(status/test 同步改为走数据库配置)
4. 前端告警中心增加「飞书通知设置」弹窗:
- 开关/Webhook/签名密钥/最低级别/类型白名单
- 保存配置、发送测试按钮
5. alert_service.create_alert 推送时按数据库配置判断
配置无需改文件/重启,前端界面直接保存即生效。
|
2026-08-12 13:14:38 +08:00 |
|
Your Name
|
717fa31456
|
feat(alerts): 告警中心增加飞书机器人告警推送功能
1. 新增 feishu_service.py: 飞书自定义机器人 webhook 推送
- 支持卡片消息(interactive),按告警级别着色
- 支持签名校验(HMAC-SHA256)
- 支持最低级别过滤 + 告警类型白名单
2. alert_service.create_alert 创建新告警时自动推飞书
- 仅新告警推送,去重告警不刷屏
- 推送失败不影响告警创建
3. alerts.py 新增两个接口:
- GET /alerts/notify/feishu/status 查看配置状态
- POST /alerts/notify/feishu/test 发送测试告警
4. config.py + .env.example 增加 FEISHU_* 配置项
(WEBHOOK_URL / SECRET / ENABLED / MIN_SEVERITY / ALERT_TYPES)
|
2026-08-12 13:10:08 +08:00 |
|
Your Name
|
5369d8d6e5
|
fix(alerts): 修复检测IP冲突时 db.func 误用导致立即检测500
detect_ip_conflicts 误用 db.func.count/db.func.distinct,而 func 是
SQLAlchemy 模块属性而非 Session 方法,触发 AttributeError 使
/alerts/detect/run 返回500(前端弹'请求失败')。
改为 from sqlalchemy import func 后使用 func.count/func.distinct
|
2026-08-12 11:01:03 +08:00 |
|
Your Name
|
1e1e5957e8
|
fix(ipam): 修复IP管理页面网段筛选不生效及下拉框过窄
- Ips.vue: el-select 添加 width: 280px,修复网段下拉框过窄
- Ips.vue: query 参数 networkId → network_id(与 FastAPI snake_case 一致)
- Scan.vue: el-select 用 network.id 代替整个 network 对象作为 value,修复切换网段不生效
- enhanced_scan_service.py: 替换失效的 scapy ARP 扫描为 arp-scan 命令;扫描结果自动创建缺失 IP 记录
|
2026-07-18 09:45:30 +08:00 |
|