如何在K8s(EKS)与prometheus-adapter中获取外部指标值
问题:Prometheus-Adapter暴露外部指标后无法获取数值
- AWS EKS集群,通过Helm安装v4.9.0版本的prometheus-adapter,用于暴露自定义指标(custom metrics)和外部指标(external metrics)供HPA(HorizontalPodAutoscaler)使用
- 当前问题:无法获取外部指标的数值
确认指标已注册
执行以下命令确认外部指标已存在于API资源列表中:
kubectl get --raw '/apis/external.metrics.k8s.io/v1beta1' | jq .
输出结果:
{ "kind": "APIResourceList", "apiVersion": "v1", "groupVersion": "external.metrics.k8s.io/v1beta1", "resources": [ { "name": "some_dummy_sqs_01", "singularName": "", "namespaced": true, "kind": "ExternalMetricValueList", "verbs": [ "get" ] } ] }
尝试过的API路径及对应错误
以下所有路径均无法成功获取指标值,返回错误如下:
/apis/external.metrics.k8s.io/v1beta1/some_dummy_sqs_01→ 错误:Error from server (NotFound): the server could not find the requested resource/apis/external.metrics.k8s.io/v1beta1/namespaces/some_dummy_sqs_01→ 错误:Error from server (NotFound): the server could not find the requested resource/apis/external.metrics.k8s.io/v1beta1/namespaces//some_dummy_sqs_01→ 错误:Error from server (InternalError): Internal error occurred: unable to fetch metrics/apis/external.metrics.k8s.io/v1beta1/namespaces/*/some_dummy_sqs_01→ 错误:Error from server (InternalError): Internal error occurred: unable to fetch metrics/apis/external.metrics.k8s.io/v1beta1/namespaces/prometheus/some_dummy_sqs_01→ 错误:Error from server (InternalError): Internal error occurred: unable to fetch metrics
Prometheus-Adapter配置
当前使用的Helm values配置文件内容:
# prom-adapter-values.yaml prometheus: url: http://prometheus-server port: 80 rules: default: false external: - seriesQuery: 'sqs_approximatenumberofmessages{queue!="",namespace!=""}' resources: namespaced: false name: matches: "" as: "some_dummy_sqs_01" metricsQuery: 'sum(rate(<<.Series>>[1m]) by (queue)'
内容的提问来源于stack exchange,提问作者hfm
相关产品推荐
相关产品推荐

