kubernetes - Prometheus 适配器返回空的自定义指标
问题描述
在 prometheus-adapter 中配置了度量规则,我可以看到如下资源。
kubectl get --raw="/apis/custom.metrics.k8s.io/v1beta1" | jq .
{
"kind": "APIResourceList",
"apiVersion": "v1",
"groupVersion": "custom.metrics.k8s.io/v1beta1",
"resources": [
{
"name": "pods/istio_ai_retry_per_second",
"singularName": "",
"namespaced": true,
"kind": "MetricValueList",
"verbs": [
"get"
]
},
{
"name": "namespaces/istio_ai_retry_per_second",
"singularName": "",
"namespaced": false,
"kind": "MetricValueList",
"verbs": [
"get"
]
}
]
}
但是当我尝试获取指标值时。项目是空的。
kubectl get --raw="/apis/custom.metrics.k8s.io/v1beta1/namespaces/aiservice-test/pods/*/istio_ai_retry_per_second" | jq .
{
"kind": "MetricValueList",
"apiVersion": "custom.metrics.k8s.io/v1beta1",
"metadata": {
"selfLink": "/apis/custom.metrics.k8s.io/v1beta1/namespaces/aiservice-test/pods/%2A/istio_ai_retry_per_second"
},
"items": []
}
这是规矩,
10 - seriesQuery: 'istio_ai_retry_count{destination_workload="cpuporncheck-default-k8s",reporter="destination"}'
11 resources:
12 overrides:
13 destination_workload: {resource: "pod"}
14 destination_workload_namespace: {resource: "namespace"}
15 name:
16 matches: "^(.*)_count"
17 as: "${1}_per_second"
18 metricsQuery: "sum(rate(istio_ai_retry_count{<<.LabelMatchers>>}[2m])) by (<<.GroupBy>>)"
谁能帮我检查一下它有什么问题?
解决方案
OP 确认问题出在规则上。
更改pod
为deployment
和 api 访问路径类似:
/apis/custom.metrics.k8s.io/v1beta1/namespaces/{namespace_name}/deployment/{deployment_name}/{metric}
解决了这个问题。
推荐阅读
- css - 剃刀页面背景图像不显示
- sql-server - 安装 SQL Server 2019 时出错:服务未及时响应启动或控制请求
- nginx - 为什么 example.com 的行为与 .example.com 完全相同?
- wordpress - WordPress。如何将一个带有参数的 url 重写为另一个漂亮的 url?
- qt - 如何在 QtDesigner 中将 QMenuBar 添加到 QWidget
- c - 链接时出现 CMake PUBLIC / INTERFACE 问题
- html - 大屏幕的媒体查询被较小的媒体查询覆盖
- angular - 从其他组件Angular 10的按钮添加不同的类
- reactjs - React,如何将用户分配给按钮,以阻止用户?
- memory-management - Linux中中毒页面有什么用,调用check_poison_mem后出现页面损坏错误是什么意思?