HPA(水平 pod 自动缩放器)`currentCPUUtilizationPercentage` 的 Kubernetes Prometheus 指标?
Kubernetes Prometheus metric for HPA (horizontal pod autoscaler) `currentCPUUtilizationPercentage`?
在使用 CoreOS Prometheus Operator 抓取所有标准集群指标的 Kubernetes 集群上,哪个 Prometheus 指标会向我显示简单 HPA(水平 pod 自动缩放器)的 currentCPUUtilizationPercentage
值?
如果我像这样设置一个简单的 hpa:
$ kubectl autoscale deployment php-apache --cpu-percent=30 --min=3 --max=10
然后如果我这样做 kubectl get hpa php-apache -o yaml
我会看到类似的东西:
spec:
maxReplicas: 10
minReplicas: 3
targetCPUUtilizationPercentage: 30
...
status:
currentCPUUtilizationPercentage: 28
currentReplicas: 9
desiredReplicas: 9
...
我想在 Prometheus 中看到 currentCPUUtilizationPercentage
。我做了一堆普罗米修斯查询来寻找这个。
我搜索了所有标记为 {hpa="php-apache"}
的指标,我看到了许多 hpa 指标,但没有我正在查找的指标。我可以看到 kube_hpa_spec_target_metric
设置为 30,我可以看到 kube_hpa_status_condition
之类的当前状态指标,但看不到我想看到的当前 cpu 指标值。
我搜索了所有标记为 {metric_name="cpu"}
的指标,但只看到 kube_hpa_spec_target_metric
我搜索了所有标记为 {container="my-container-name"}
和 {pod=~"my-pod-prefix.*"}
的容器和 pod 相关指标,我看到了几个 cpu 相关指标,例如 container_cpu_usage_seconds_total
和 container_spec_cpu_quota
但似乎没有任何相似之处或似乎无法用于计算我正在寻找的 currentCPUUtilizationPercentage
值?
仅供参考,这是在 Kubernetes 1 上。17.x 并使用最新版本的 CoreOS Prometheus Operator。
如果我没记错的话,currentCPUUtilizationPercentage 是 HPA 的 k8 内部指标,不会直接作为指标公开,您可以使用 Prometheus scrape。
见 https://github.com/kubernetes/community/blob/master/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md#autoscaling-algorithm
您可能可以抓取 currentCPUUtilizationPercentage 指标的组成部分并创建自定义指标以在 Prometheus 中查看它。
在使用 CoreOS Prometheus Operator 抓取所有标准集群指标的 Kubernetes 集群上,哪个 Prometheus 指标会向我显示简单 HPA(水平 pod 自动缩放器)的 currentCPUUtilizationPercentage
值?
如果我像这样设置一个简单的 hpa:
$ kubectl autoscale deployment php-apache --cpu-percent=30 --min=3 --max=10
然后如果我这样做 kubectl get hpa php-apache -o yaml
我会看到类似的东西:
spec:
maxReplicas: 10
minReplicas: 3
targetCPUUtilizationPercentage: 30
...
status:
currentCPUUtilizationPercentage: 28
currentReplicas: 9
desiredReplicas: 9
...
我想在 Prometheus 中看到 currentCPUUtilizationPercentage
。我做了一堆普罗米修斯查询来寻找这个。
我搜索了所有标记为 {hpa="php-apache"}
的指标,我看到了许多 hpa 指标,但没有我正在查找的指标。我可以看到 kube_hpa_spec_target_metric
设置为 30,我可以看到 kube_hpa_status_condition
之类的当前状态指标,但看不到我想看到的当前 cpu 指标值。
我搜索了所有标记为 {metric_name="cpu"}
的指标,但只看到 kube_hpa_spec_target_metric
我搜索了所有标记为 {container="my-container-name"}
和 {pod=~"my-pod-prefix.*"}
的容器和 pod 相关指标,我看到了几个 cpu 相关指标,例如 container_cpu_usage_seconds_total
和 container_spec_cpu_quota
但似乎没有任何相似之处或似乎无法用于计算我正在寻找的 currentCPUUtilizationPercentage
值?
仅供参考,这是在 Kubernetes 1 上。17.x 并使用最新版本的 CoreOS Prometheus Operator。
如果我没记错的话,currentCPUUtilizationPercentage 是 HPA 的 k8 内部指标,不会直接作为指标公开,您可以使用 Prometheus scrape。 见 https://github.com/kubernetes/community/blob/master/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md#autoscaling-algorithm
您可能可以抓取 currentCPUUtilizationPercentage 指标的组成部分并创建自定义指标以在 Prometheus 中查看它。