用途:observe 是面向 Elastic 数据的临时、会话级监控与即席查询工具,用于按需读取指标、列出数据或等待异常触发,不创建持久化对象。
主要能力(四种模式):now 用于过去时窗口的单个标量查询,立即返回;table 用于过去时时间序列或分组查询,返回完整行列并自动绘制两列时间序列表;metric 仅用于前瞻性监控,按 max_wait 轮询,可带阈值条件或不带条件做实时采样;anomaly 为默认模式,等待 Elastic ML 异常触发或超时。
使用方式:按用户措辞的时态选择模式。过去时(was、over the past、in the last)用 now 或 table,窗口写在 ES|QL 的 WHERE @timestamp > NOW() - <window> 中;未来时(watch、wait until、live-sample)用 metric。metric 条件格式为 <comparator> <threshold>,支持 <、<=、>、>=、==。table 默认行数上限 50,建议用 LIMIT/SORT 收紧查询。
限制与注意:metric 不可用于过去时查询,否则会阻塞 max_wait 秒。健康汇总类问题应改用 apm-health-summary。anomaly 需要 ML 异常检测作业。counter_long 字段(网络 I/O、网络错误、uptime)必须用 TS + RATE(),不能用 FROM,且需 Elasticsearch 9.2+;TS 内时间分桶用 TBUCKET(),不能用 BUCKET(@timestamp, interval)。跨多实体聚合时 RATE() 外层用 SUM(),单实体用 AVG()。字段不存在时不要引用,可参考错误提示中的建议字段重试。
适用场景:原始指标调查、单次查询、实时采样、异常等待、按命名空间或节点分组统计等。