1.1 KiB
1.1 KiB
Telegram 子机告警显示外网 IP
日期: 2026-06-09
摘要
资源告警/恢复/离线 Telegram 消息增加 IP地址:x.x.x.x(外) y.y.y.y(内);外网 IP 优先取 servers.domain(公网 IP 时,如运维登记的 120.79.11.13),其次 extra_attrs,最后 Agent ipify 探测;内网为 Agent private_ip 或 domain 私网地址。
动机
告警中内外网均显示 VPC 内网地址(如 172.21.x),无法识别真实公网 IP。
涉及文件
web/agent/agent.py—public_ip/private_ip心跳字段server/utils/server_alert_ips.py— 解析与格式化server/infrastructure/telegram/__init__.py— 告警/恢复/离线模板server/api/websocket.py— 推送前解析 IPtests/test_server_alert_ips.py
迁移 / 重启
- 需 升级各子机 Agent 后外网 IP 才会出现在新心跳中;未升级前外网可能为
— - 中心 API 重启即可加载新 Telegram 模板
验证
pytest tests/test_server_alert_ips.py tests/test_notify_toggle_sync.py -q- 子机 Agent 升级后触发 CPU 告警,Telegram 外网应为公网 IP