跳转到内容
Telemetry
基础设施 SQL查询示例

查找主机和容器资源饱和度

根据持续的 CPU、内存和磁盘利用率对基础设施源进行排名,同时保留样本量。

入门system_metrics已审核 2026-07-28测试用 阿帕奇 DataFusion 45.2.0

审阅者 Telemetry产品团队 . SQL 兼容性、事件契约、合成输出和操作注意事项. 审查标准和所有权

问题已回答

哪些基础设施来源持续受到资源限制?

单个利用率峰值通常是噪音。每小时平均值和最大值显示主机或容器是否保持饱和状态足够长的时间以影响应用程序工作。

活动合约

查询期望的字段

字段类型为什么存在
timestamp_utcTimestampUTC 中的度量采样时间。
sourceUtf8稳定的主机、服务或容器标识符。
environmentUtf8部署环境。
cpu_utilization_pctFloat64CPU 利用率从 0 到 100。
memory_utilization_pctFloat64内存利用率从 0 到 100。
disk_utilization_pctFloat64磁盘利用率从 0 到 100。
DataFusion SQL

复制查询

sql
SELECT
  date_trunc('hour', timestamp_utc) AS hour,
  source,
  COUNT(*) AS samples,
  AVG(cpu_utilization_pct) AS average_cpu_pct,
  MAX(cpu_utilization_pct) AS maximum_cpu_pct,
  AVG(memory_utilization_pct) AS average_memory_pct,
  MAX(memory_utilization_pct) AS maximum_memory_pct,
  MAX(disk_utilization_pct) AS maximum_disk_pct
FROM system_metrics
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
  AND environment = 'production'
GROUP BY date_trunc('hour', timestamp_utc), source
HAVING COUNT(*) >= 6
  AND (
    AVG(cpu_utilization_pct) >= 80.0
    OR AVG(memory_utilization_pct) >= 85.0
    OR MAX(disk_utilization_pct) >= 90.0
  )
ORDER BY average_cpu_pct DESC, average_memory_pct DESC;

此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。

查询结果

饱和源的平均 CPU 利用率

导入工作程序受到 CPU 限制,而 API 源由于持续的内存压力而输入结果。

hoursourcesamplesaverage_cpu_pctmaximum_cpu_pctaverage_memory_pctmaximum_memory_pctmaximum_disk_pct
2026-07-27 14:00worker-imports-036091.499.278.884.166.2
2026-07-27 14:00api-primary-026062.188.489.393.672.5

综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。

Average CPU utilization for saturated sources:来自 Find Host and Container Resource Saturation 示例结果的合成 average_cpu_pct 值的静态图表
确定性示例输出的可索引 SVG。下载它以获取带有归属的文章、操作手册或设计评论。

重现示例

下载公共装置

JSON 包包含类型化事件契约, illustrative 输入行、确切的 SQL、预期输出、审阅注释和引擎版本。 CSV 包含显示的结果。

SQL 是如何工作的

  1. 1每小时分组可减少单个样本的噪音,同时保持受影响的时间窗口可见。
  2. 2平均CPU和内存识别持续压力;最大磁盘利用率捕获了不应被平均掉的容量边界。
  3. 3最小样本可以防止部分报告源因数据太少而显得健康或饱和。

需要决定的边缘情况

  • 当源报告多个核心的利用率时,容器 CPU 百分比可能会超过 100;首先使合同正常化。
  • 内存压力取决于可回收的缓存和工作负载行为,而不仅仅是通用百分比。
  • 丢失的样本需要单独的心跳或摄入新鲜度视图。

推荐仪表板

  • 条形图:按来源划分的平均 CPU 和内存
  • 趋势:最大磁盘利用率
  • 表:包含样本数量和拥有服务的饱和来源

警报指导

仅当持续利用率和面向用户的症状(例如延迟、队列老化或错误)一起违反其目标时才发出警报。

读取警报设置

让查询示例发挥作用

相关埋点和指南

继续分析

在真实事件中运行它

创建表,调整字段并保存结果

免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。

获取 API 密钥