如何获取k8s和prometheus-adapter中外部指标的值

问题描述 投票:0回答:1

我在 AWS (EKS) 上有一个 k8s。我使用

prometheus-adapter
来公开 HPA (HorizontalPodAutoscaler) 的
custom metrics
external metrics
。我正在使用 Helm 安装
prometheus-adapter
(图表版本 4.9.0)。

我正在尝试获取外部指标的值,但未能成功。

我可以看到指标就在那里:

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"
      ]
    }
  ]
}

我尝试过以下路径,但没有成功:

  1. /apis/external.metrics.k8s.io/v1beta1/some_dummy_sqs_01
    ->
    Error from server (NotFound): the server could not find the requested resource
  2. /apis/external.metrics.k8s.io/v1beta1/namespaces/some_dummy_sqs_01
    ->
    Error from server (NotFound): the server could not find the requested resource
  3. /apis/external.metrics.k8s.io/v1beta1/namespaces//some_dummy_sqs_01
    ->
    Error from server (InternalError): Internal error occurred: unable to fetch metrics
  4. /apis/external.metrics.k8s.io/v1beta1/namespaces/*/some_dummy_sqs_01
    ->
    Error from server (InternalError): Internal error occurred: unable to fetch metrics
  5. /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
配置如下所示:

# 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)'

kubernetes prometheus-adapter
1个回答
0
投票

你尝试过吗

kubectl get --raw /apis/external.metrics.k8s.io/v1beta1/namespaces/default/some_dummy_sqs_01

© www.soinside.com 2019 - 2024. All rights reserved.