You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查询集群Pod服务的NRQL请求:跨AZ分布校验与告警配置

K8s Pod可用区分布的NRQL查询及告警配置

需求说明

需要编写NRQL语句查看集群中服务Pod在可用区(AZones)的分布情况,当某个可用区内的服务Pod占比低于15%时触发通知。

原查询分析

你之前尝试的语句用于统计节点Pod使用率,和可用区分布需求不匹配,翻译后的语句及作用如下:

FROM K8sPodSample 
SELECT 100 * filter(uniqueCount(nodeName), WHERE ((isReady / (isScheduled + isReady)) > .50)) / uniqueCount(nodeName) AS '% 节点Pod使用率超过50%的占比' 
SINCE 5分钟前 
FACET clusterName

该语句统计过去5分钟内,各集群中Pod使用率超过50%的节点占比,无法反映可用区的Pod分布情况。

针对需求的NRQL语句

1. 查看各可用区Pod分布占比

FROM K8sPodSample
JOIN K8sNodeSample ON entityGuid
SELECT 100 * uniqueCount(podName) / (SELECT uniqueCount(podName) FROM K8sPodSample SINCE 5分钟前) AS '可用区Pod占比(%)'
SINCE 5分钟前
FACET K8sNodeSample.az, clusterName

此语句会统计过去5分钟内,每个集群下各可用区的Pod数量占该集群总Pod数的百分比,直观展示分布均匀性。

2. 用于告警触发的查询(筛选占比<15%的情况)

配置告警时,可使用以下语句直接返回符合条件的结果:

FROM (
  FROM K8sPodSample
  JOIN K8sNodeSample ON entityGuid
  SELECT uniqueCount(podName) AS azPodCount
  SINCE 5分钟前
  FACET K8sNodeSample.az, clusterName
)
SELECT 100 * azPodCount / (SELECT sum(azPodCount) FROM FACETS) AS '可用区Pod占比(%)'
WHERE '可用区Pod占比(%)' < 15

该查询会筛选出占比低于15%的可用区及对应集群,基于此结果即可配置告警通知。

内容的提问来源于stack exchange,提问作者Benedict Ezeh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 06:45:36