EMS 监控与告警
设计目标
监控中心负责回答“现在是否正常、异常在哪里、影响多大、谁在处理、是否恢复”。页面既展示业务指标,也必须展示数据时间和质量,避免把最后一次旧值误认为实时状态。

这页适合值班人员每天盯盘:先看有多少电站、多少在线设备、有没有告警,再往下看功率趋势和设备状态分布。它的重点不是堆图表,而是让用户最快知道“哪里正常、哪里异常、要不要马上处理”。
监控层级
全局监控
展示电站总数、实时功率、今日收益、在线设备、离线设备、活动告警和电站排名,适合集团值班与运营中心。
全局指标按用户数据范围实时聚合。地图与列表使用同一查询口径;排名显示统计时间、参与站点数量和数据覆盖率,避免不同时间或缺失严重的站点直接比较。

电站监控
展示电站信息、能量流、功率趋势、设备状态、社会贡献和当前告警。电站可根据现场拓扑保存物理视图和逻辑视图。
能量流箭头由标准化功率方向决定,低于死区阈值时停止动画,数据过期时转为灰色并显示最后采样时间。能量平衡残差超过阈值时显示“数据可能不完整”,不强行让图形闭合。


设备监控
展示当前状态、最近采样、关键指标、历史曲线、相关告警和审计记录。可执行操作由设备实际能力决定,页面不会展示无法确认安全性的通用控制按钮。
历史曲线支持指标、时间范围、粒度和质量筛选。跨天查询按电站时区展示;多指标不同单位时使用独立坐标轴或分图,避免比例失真。


实时数据链路
Raw Influx/接入中台
-> 实时同步任务
-> 标准通道映射与单位归一
-> 快照表/缓存
-> 状态聚合与告警评估
-> 监控 API
-> 驾驶舱/能量流/设备详情
实时 API 返回服务端当前时间、采样时间、质量、来源和是否过期。前端自行定时刷新但不自行推导正常状态,状态规则由后端统一维护。
告警模型
| 级别 | 语义 | 处理建议 |
|---|---|---|
| 紧急 | 可能影响设备或人身安全 | 立即通知并进入值班处置 |
| 重要 | 已影响运行稳定性或能量产出 | 限时确认并安排处理 |
| 次要 | 局部指标异常或性能下降 | 纳入巡检与运维计划 |
| 提示 | 运行条件或状态发生变化 | 用于趋势观察和记录 |
规则类型
| 类型 | 示例 | 关键参数 |
|---|---|---|
| 阈值 | SOC < 10%、温度 > 55℃ | 操作符、阈值、持续时间、回差 |
| 区间 | 电压不在允许范围 | 下限、上限、持续时间 |
| 状态 | 设备进入 FAULT | 目标状态、恢复状态 |
| 数据质量 | 核心指标超过 2 分钟未更新 | 新鲜度、缺失比例 |
| 变化率 | 功率在 1 分钟内突变 | 窗口、变化量/比例 |
| 组合 | 离线且存在未完成控制命令 | 表达式、依赖指标 |
阈值规则应配置触发持续时间和恢复回差。例如温度连续 3 分钟大于 55℃触发,连续 5 分钟低于 52℃恢复,防止在边界附近频繁开关。
告警闭环
- 采样或设备事件进入告警规则计算。
- 系统根据租户、公司、电站、设备类型和级别匹配规则。
- 新告警进入当前告警,并根据通知策略发送邮件。
- 恢复条件满足后告警转为历史记录,保留首次发生、最后发生和恢复时间。
- 通知日志记录接收者、信道、发送结果和失败原因。
告警状态
OPEN -> ACKNOWLEDGED -> PROCESSING -> RECOVERED -> CLOSED
\-> SUPPRESSED
RECOVERED 由系统根据恢复条件判定,CLOSED 表示流程完结。人工确认不等于恢复,禁止通过确认按钮消除仍在发生的故障。紧急告警可以要求填写处理结论后才能关闭。
告警事件字段
告警至少记录租户、公司、电站、设备、规则版本、级别、首次发生、最后发生、发生次数、当前值、阈值、采样时间、确认人、恢复时间、关闭人和处理意见。规则修改后,历史事件仍引用触发时的规则版本。
控制安全
控制前必须同时通过租户范围、菜单权限、设备状态、控制器在线、能力时效和参数范围校验。命令记录操作人、请求参数、返回结果和耗时。“命令被接受”只表示控制请求已经进入执行链路,不自动等价为现场功率已达到目标。
控制命令在监控页面展示 ACCEPTED/PRECHECKED/SENT/ACKED/VERIFIED/REJECTED/UNKNOWN。结果未知时禁止自动重复执行,值班人员先查看设备最新采样、边缘网关日志和接入中台命令结果。
监控指标与 SLO
| 指标 | 建议目标 | 说明 |
|---|---|---|
| 实时采样新鲜度 P95 | < 30 秒 | 采样时间到快照可见的延迟 |
| 控制命令确认 P95 | < 5 秒 | API 接收到边缘网关 ACK 的延迟 |
| 5 分钟聚合成功率 | > 99.5% | 不含设备离线导致的缺口 |
| 报表按时完成率 | > 99% | 在租户结算窗口前完成 |
| API 5xx | < 0.1% | 网关和业务服务分别统计 |
SLO 统计需要排除计划维护窗口,并按接入端点、租户、站点和设备类型拆分。总体平均值不能掩盖单个客户长期异常。
告警去重与抑制
告警指纹由 tenantId + resourceId + ruleId + dimension 组成。相同指纹在抑制窗口内只更新最后发生时间和计数;父级通信故障触发时,可抑制其下游设备的“数据过期”告警,恢复时按依赖顺序解除抑制。
维护窗口内可按电站、边缘网关或设备抑制通知,但原始事件仍记录。抑制必须有开始、结束、原因和操作者,超时自动解除;禁止无限期静默紧急告警。
值班响应
紧急告警 5 分钟内确认、30 分钟内给出处置结论;重要告警 30 分钟内确认、4 小时内安排修复。通知失败必须进入重试队列并升级到备用渠道,不能因为邮件服务异常而丢失告警。
通知策略
通知根据租户、公司、电站、级别、时间段和接收组匹配。支持首次通知、持续未恢复提醒、级别升级、恢复通知和失败重试。夜间策略可以调整接收人,但不能降低紧急告警级别。
通知内容包含站点、设备、告警名称、当前值、阈值、发生时间、持续时长和详情链接,不包含接入端点密码、API Key 或完整内部异常堆栈。
监控排障
| 现象 | 优先检查 |
|---|---|
| 页面全部无数据 | API 网关、EMS 服务、接入端点、时序库、同步任务 |
| 单站无数据 | 边缘网关在线、站点绑定、标准通道映射、游标和最近同步日志 |
| 能量流方向错误 | 设备方向系数、功率标准化、设备角色配置 |
| 告警不触发 | 规则启用、数据质量、持续窗口、数据范围和评估任务 |
| 告警重复 | 指纹字段、规则维度、抑制窗口和资源 ID 稳定性 |
| 已恢复但未关闭 | 恢复阈值、回差、持续时间和后续采样质量 |
运维大屏原则
大屏用于值班扫描,不替代详情页。关键数字同时展示单位和统计时间;颜色只表达状态,不依赖颜色传递唯一信息;轮播不会隐藏紧急告警;数据过期时明确降级,不继续播放旧能量流动画。
智能运维指挥能力
监控与告警模块面向能源资产的连续运行,定位为“看得见、报得准、处理有闭环”的运营指挥中心。它不是单纯展示曲线,而是把电站状态、设备健康、数据质量、告警影响、控制结果和运维响应放到一起,帮助值班人员从发现异常走到处理异常。
| 能力 | 价值 | 关键机制 |
|---|---|---|
| 实时态势 | 让运营人员秒级掌握站点状态 | 采样时间、质量码、在线状态和能量流共同展示 |
| 智能告警 | 降低噪声,突出真正影响运营的问题 | 指纹去重、持续时间、恢复回差、父子抑制 |
| 根因辅助 | 把异常从现象关联到资源、数据和链路 | 设备、网关、标准通道、同步任务和电价版本联动 |
| 控制闭环 | 明确命令是否被接收、是否达到目标 | ACK 与 VERIFIED 分离,结果未知不盲目重试 |
| 运营复盘 | 沉淀响应效率、恢复时长和影响范围 | 当前告警、历史告警、通知日志和审计事件统一归档 |
告警智能化设计
平台告警并非简单阈值判断,而是围绕“持续时间、恢复回差、数据质量、资源拓扑、父子依赖和业务影响”建立事件模型。例如通信中断后,下游设备的数据过期告警可以被自动抑制,避免一个上游故障生成几十条重复告警;温度、SOC、功率等波动指标则通过持续窗口和恢复回差避免边界抖动。

告警严重度不仅看数值大小,还结合设备类型、站点重要性、是否影响收益、是否存在未完成控制命令等上下文。这样同样一个离线事件,在测试设备、核心并网表和储能主控上的处理优先级可以完全不同。
运营体验升级
- 全局到单站下钻:集团视图发现异常后,可按公司、电站、设备、告警级别快速定位影响范围。
- 能量流可信展示:能量流同时展示方向、数值、单位、采样时间和数据质量,过期数据不会伪装成实时正常。
- 事件闭环可量化:确认时长、处理时长、恢复时长和重复发生次数形成运维绩效指标。
- 通知策略可治理:按租户、站点、级别、时间段和接收组匹配,通知失败进入重试和升级机制。
- 控制结果可追溯:每条控制命令都能追到操作者、参数、链路响应、后续采样和最终状态。
高价值场景
在储能站场景中,监控中心可同时观察 SOC、充放电功率、PCS 状态、温度和收益表现,发现“收益异常但设备未故障”的隐性问题。在光伏园区场景中,平台可将低发电、逆变器离线、并网表方向异常和数据缺口统一归因,避免运维只看单点曲线。在多站托管场景中,安装商可以用告警响应时效、重复故障率和设备在线率证明服务质量。
