作者:来自 Elastic Miguel Sánchez
Discover 帮助你查看并理解时间序列流中的指标,无需手动操作。一旦你看到你的指标数据正在流动,你就可以开始构建仪表板、告警、 SLO 等。
将数据导入 Elastic 是实现可观测性的第一步。一旦你开始摄取数据,下一个问题是:我们实际上在收集哪些指标,它们看起来是否正常?
无论你是添加了新的集成,设置了 OpenTelemetry 管道,还是为你的基础设施配置了自定义 agent,在你基于这些数据构建仪表板、告警或 SLO 之前,你都需要先查看哪些数据已经进入集群。Discover 为你提供了这样的视图:时间序列流中的指标,每个指标都会根据你选择的时间范围渲染为时间序列图表。不需要构建仪表板,也不需要编写探索性查询。只需查看你当前拥有的数据的原始全貌。
发现你的数据流
在左侧导航的Observability下,打开Streams。该页面列出了你集群中的所有数据流,无论它们来自哪里:集成、 OpenTelemetry 管道、自定义 agent 以及类似来源。你监控的每个来源( Docker、 Kubernetes、 Nginx 等)都会生成一个或多个数据流。在这里你可以准确地看到存在哪些数据流,以及你可以基于它们构建什么。
打开一个数据流以查看其详情页面。
在左上角,“Time series”标记表示该数据流是时间序列流(time series stream -针对指标优化且更高效);如果没有该标记,则该数据流是普通流。点击右上角的 “View in Discover”,以使用适用于该数据流的正确查询在 Discover 中打开。查询取决于数据流类型:
- TS(时间序列): TS 是一个 ES|QL 源命令,用于选择时间序列数据流并启用时间序列聚合函数(例如 RATE 或 AVG_OVER_TIME )。当 Discover 识别到来自时间序列指标数据流的指标数据(例如名称匹配 metrics-* 的数据流)时,它会将每个指标显示为图表。完整参考请参见 ES|QL TS 命令文档。
- FROM(普通的、基于文档的数据流):用于文档风格的查询。Discover 会以表格形式显示文档,而不是像时间序列指标数据流那样按每个指标显示图表网格。
由于我们的示例是时间序列流,Discover 将以以下内容打开:
TS metrics-docker.cpu-default查看你的所有指标,自动完成可视化
这正是它变得有用的地方。Discover 不再显示文档表格,而是展示该数据流中的指标,并将每个指标根据所选时间范围渲染为时间序列图表。无需任何配置。该能力( Discover 中的指标)目前处于技术预览阶段。
每个指标( docker.cpu.total.pct 、 docker.cpu.system.pct 、 docker.cpu.user.pct 等)都会显示为一个图表,用于展示其随时间的变化。Discover 会识别不同的指标类型并相应地进行渲染:gauge 显示为平均值,counter 显示为速率,histogram 显示为 P95 分布。你可以即时、一目了然地查看正在收集的内容以及这些数值是否合理。
当你接入一个新的数据源时,这消除了猜测:哪些指标是活跃的,哪些有数据,数值看起来如何。在你依赖这些数据构建仪表板或告警之前,你可以先确认覆盖范围并对数据管道进行合理性检查。
快速迭代
从这里开始,你可以进行调整以获得你需要的视图:
更改时间范围。默认的 15 分钟窗口可能只捕捉到一个较为平静的时段,使健康的数据看起来像是平的。将范围扩展到 1 小时或更长,可以揭示你关心的模式:批处理作业的周期性峰值、每日流量曲线,或新部署后的逐步上升。在验证新的管道或集成是否按预期运行时,选择合适的时间窗口非常重要。
切换数据流。你无需返回 Streams 页面来探索其他数据源。更新查询为不同的数据流,或者使用类似 metrics-docker.* 的模式,一次性查看所有 Docker 数据流中的指标: CPU、内存、网络、磁盘 I/O ,全部在一个视图中。
搜索特定指标。在一个数据流中有许多指标时,网格右上角的搜索功能可以让你按名称进行过滤。需要确认内存限制或请求速率是否存在?输入指标名称,你要么能找到它,要么确认它缺失,这样你就可以在依赖该指标之前先修复管道或 agent。
一眼验证健康状态
这些自动可视化本身也充当数据摄取的健康检查:
- 数据在流动:图表显示的是最近且连续的数值,而不是空缺或过期数据。
- 数值合理:CPU 处于预期范围内,内存在跟踪活动,网络 I/O 反映实际流量。
- 覆盖完整:如果你启用了 Docker 监控但没有看到网络 I/O 指标,很可能是 agent policy 或 module 需要调整。
这种快速验证取代了手动文档检查、映射结构分析以及一次性探索查询。在你将数据接入仪表板、告警或 SLO 之前,就能清楚了解数据流中的内容。一旦确认数据健康,就可以将其添加到仪表板面板,或用于告警和 SLO。
原文:https://www.elastic.co/observability-labs/blog/exploring-metrics-new-data-source-discover