SWQL 与实践

从报表需求到 SWQL:一个脱敏的小闭环

「告警 + 节点」串联示例;含示例 SWQL,请勿未经评审在生产执行。

含示例 SWQL,出自 Orion Platform 2024.4.1 环境起草;正式使用前请在实验室核对 join 键与字段。

需求(脱敏)

运维周报需要:过去 24 小时内仍处于 Active 的告警,并带出 节点 Caption,方便值周同学按设备归类。

思路

  1. Orion.AlertObjects 取活跃告警(Active = 1)。
  2. 通过 EntityUri / RelatedNodeUri 等字段(以你环境为准)关联到 Orion.Nodes
  3. 增加时间过滤(示例中用伪条件占位,请换成真实时间字段)。

示例查询(需按环境改写)

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 键是否应为 RelatedNodeUriEntityUri 或其它关联方式——不同告警类型差异很大。

怎么更快迭代

  • 先在 SWQL Studio / 实验室验证 最小 SELECT,确认行数与样本正确。
  • 需要措辞或骨架时,可用 SWQL Copilot 生成初稿,再对照 Schema 手工修订。

SWQL Copilot(SWQL 助手)非 SolarWinds 旗下产品,亦未获其背书。