Prometheus适配器空的自定义指标项目

我正在尝试使用带有Prometheus Adapter的Prometheus自定义指标来通过HPA自动扩展Kubernetes部署。这些自定义指标通过另一个命名空间中的另一个部署发布到Prometheus,该命名空间每分钟都会查询REST API以获取特定指标,然后将该指标的值发布给Prometheus。从那里,适配器应该能够向Prometheus查询所述度量,并带有一些其他标签作为查询条件,并使用新名称发布该度量。 HPA应该可以从那里获取该指标并根据其价值进行扩展。

这是我的部署的标签,适配器可能据此基于该标签:

Labels:             app.kubernetes.io/instance=event-subscription-dev-dev
                    app.kubernetes.io/managed-by=Tiller-dev
                    app.kubernetes.io/name=event-subscription-dev
                    deployment-name=event-subscription-webhook-worker-dev
                    helm.sh/chart=event-subscription-0.1.0-dev

这是Prometheus Adapter Helm图表值/适配器规则:

logLevel: 1
metricsRelistInterval: 5s
prometheus:
  url: 'http://<prometheus-url>'
rules:
  custom:
    - seriesQuery: '{__name__="event_subscription_current_message_lag"}'
      name: 
        matches: "(.*)"
        as: '${1}_webhooks'
      resources: 
        overrides:
          namespace: {resource: "namespace"}
          pod: {resource: "pod"}
      metricsQuery: 'sum(event_subscription_current_message_lag{queue="webhooks",container_name!="pod"})'
    - seriesQuery: '{__name__="event_subscription_current_message_lag"}'
      name: 
        matches: "(.*)"
        as: '${1}_webhook_retries'
      resources: 
        overrides:
          namespace: {resource: "namespace"}
          pod: {resource: "pod"}
      metricsQuery: 'sum(event_subscription_current_message_lag{queue="webhook_retries",container_name!="pod"})'

这是我的HPA规范的metrics部分:

 metrics:
  - type: pods
    pods:
      metric:
        name: event_subscription_current_message_lag_webhooks
      target:
        type: AverageValue
        averageValue: 10
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 85

我在这里遇到的问题不是适配器查询指标然后发布新指标,而是新指标没有与原始指标相关的值。

例如,如果我运行kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1,我愿意查看我的event_subscription_current_message_lag_webhooksevent_subscription_current_message_lag_webhook_retries指标,但是它们没有像原始{{ 1}}指标。

这里是event_subscription_current_message_lag

的输出
kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1/namespaces/event-subscription/pods/*/event_subscription_current_message_lag"

这是{ "kind": "MetricValueList","apiVersion": "custom.metrics.k8s.io/v1beta1","metadata": { "selfLink": "/apis/custom.metrics.k8s.io/v1beta1/namespaces/event-subscription/pods/%2A/event_subscription_current_message_lag" },"items": [ { "describedObject": { "kind": "pod","namespace": "event-subscription","name": "activemq-message-lag-retrieval-7bfc46b948-jr8kp","apiVersion": "/v1" },"metricName": "event_subscription_current_message_lag","timestamp": "2019-11-08T22:09:53Z","value": "1" } ] } event_subscription_current_message_lag_webhooks的输出:

event_subscription_current_message_lag_webhook_retries

对于适配器如何能够看似查找我的原始指标,查询它,发布新指标,我感到困惑,但是如果没有该值,我希望在这种情况下该值为{ "kind": "MetricValueList","metadata": { "selfLink": "/apis/custom.metrics.k8s.io/v1beta1/namespaces/event-subscription/pods/%2A/event_subscription_current_message_lag_webhooks" },"items": [] } ... { "kind": "MetricValueList","metadata": { "selfLink": "/apis/custom.metrics.k8s.io/v1beta1/namespaces/event-subscription/pods/%2A/event_subscription_current_message_lag_webhook_retries" },"items": [] }

woshisanbi 回答:Prometheus适配器空的自定义指标项目

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3134767.html

大家都在问