SWQL 与实践
从报表需求到 SWQL:一个脱敏的小闭环
「告警 + 节点」串联示例;含示例 SWQL,请勿未经评审在生产执行。
含示例 SWQL,出自 Orion Platform 2024.4.1 环境起草;正式使用前请在实验室核对 join 键与字段。
需求(脱敏)
运维周报需要:过去 24 小时内仍处于 Active 的告警,并带出 节点 Caption,方便值周同学按设备归类。
思路
- 从
Orion.AlertObjects取活跃告警(Active = 1)。 - 通过
EntityUri/RelatedNodeUri等字段(以你环境为准)关联到Orion.Nodes。 - 增加时间过滤(示例中用伪条件占位,请换成真实时间字段)。
示例查询(需按环境改写)
SELECT TOP 200
a.AlertObjectID,
a.DisplayName AS AlertName,
n.Caption AS NodeCaption
FROM Orion.AlertObjects AS a
LEFT JOIN Orion.Nodes AS n ON n.Uri = a.RelatedNodeUri
WHERE a.Active = 1
上线前请在实验室核对:join 键是否应为 RelatedNodeUri、EntityUri 或其它关联方式——不同告警类型差异很大。
怎么更快迭代
- 先在 SWQL Studio / 实验室验证 最小 SELECT,确认行数与样本正确。
- 需要措辞或骨架时,可用 SWQL Copilot 生成初稿,再对照 Schema 手工修订。