如何解决Prometheus适配器-无法从外部指标获取数据
我无法通过运行以下命令来获取项目:kubectl get --raw "/apis/external.metrics.k8s.io/v1beta1/namespaces/default/rabbitmq_queue_messages_ready" | jq
您将在下面的输出项中看到一个空数组:
{
"kind": "ExternalMetricValueList","apiVersion": "external.metrics.k8s.io/v1beta1","metadata": {
"selfLink": "/apis/external.metrics.k8s.io/v1beta1/namespaces/default/rabbitmq_queue_messages_ready"
},"items": []
}
但是,我在Prometheus端点中获得了正确的数据:
普罗米修斯网址:http://
{
"status":"success","data":[
{
"__name__":"rabbitmq_queue_messages_ready","app":"prometheus-rabbitmq-exporter","durable":"true","instance":"10.2.0.73:9419","job":"kubernetes-pods","namespace":"default","pod_name":"rabbitmq-exporter-prometheus-rabbitmq-exporter-754c845847-gzlrq","pod_template_hash":"754c845847","queue":"test","release":"rabbitmq-exporter","vhost":"/"
},{
"__name__":"rabbitmq_queue_messages_ready","queue":"test1","vhost":"/"
}
]
}
我使用以下头盔值安装了stable/prometheus-adapter
:
rules:
default: false
external:
- seriesQuery: '{__name__=~"^rabbitmq_queue_.*"}'
resources:
#template: <<.Resource>>
overrides:
namespace:
resource: namespace
service:
resource: service
pod:
resource: pod
name:
matches: ""
as: "rabbitmq_queue_messages_ready"
metricsQuery: 'rate(<<.Series>>{<<.LabelMatchers>>}[1m])'
Helm和Kubernetes的版本:
客户端:&version.Version {SemVer:“ v2.16.9”,GitCommit:“ 8ad7037828e5a0fca1009dabe290130da6368e39”,GitTreeState:“ clean”} 服务器:&version.Version {SemVer:“ v2.16.7”,GitCommit:“ 5f2584fd3d35552c4af26036f0c464191287986b”,GitTreeState:“ clean”}
客户端版本:version.Info {主要:“ 1”,次要:“ 16”,GitVersion:“ v1.16.1”,GitCommit:“ d647ddbd755faf07169599a625faf302ffc34458”,GitTreeState:“干净”,构建日期:“ 2019-10-02T17 :01:15Z“,GoVersion:” go1.12.10“,编译器:” gc“,平台:” darwin / amd64“} 服务器版本:version.Info {主要:“ 1”,次要:“ 15”,GitVersion:“ v1.15.11”,GitCommit:“ ec831747a3a5896dbdf53f259eafea2a2595217c”,GitTreeState:“干净”,构建日期:“ 2020-05-29T19:56: 10Z”,GoVersion:“ go1.12.17”,编译器:“ gc”,平台:“ linux / amd64”}
预期结果: 它应该从Prometheus获取指标
如何复制:
使用上述配置安装stable/prometheus-rabbitmq-exporter
和stable/prometheus-adapter
舵图。
我正在遵循本指南:https://nuvalence.io/building-a-k8s-autoscaler-with-custom-metrics/
解决方法
首先要进一步解决您的问题,我会在舞会适配器设置中检查几件事:
- 使用
"kubectl get --raw ..."
命令直接获取指标时,您在Prometheus适配器日志中是否看到任何错误? - 您已将
prometheus-adapter
安装到哪个命名空间? (询问,因为当我将其部署到“ kube-system”以外的另一个ns时,我曾经在适配器日志中观察到RBAC相关的错误) - 能否请您粘贴最终的“ prom-adapter”
/etc/adapter/config.yaml
配置的内容(来自prom-adapter的Pod)
我正在使用适配器公开相同的外部Rabbitmq指标,没有任何问题,请检查同一命令的输出:
{
"kind": "ExternalMetricValueList","apiVersion": "external.metrics.k8s.io/v1beta1","metadata": {
"selfLink": "/apis/external.metrics.k8s.io/v1beta1/namespaces/default/rabbitmq_queue_messages_ready"
},"items": [
{
"metricName": "rabbitmq_queue_messages_ready","metricLabels": {
"endpoint": "metrics","instance": "10.64.1.97:9419","job": "rabbitmq","namespace": "default","pod": "rabbitmq-0","service": "rabbitmq"
},"timestamp": "2020-08-13T23:50:29Z","value": "174160m"
}
]
}
使用的舞会适配器版本:directxman12/k8s-prometheus-adapter-amd64:v0.6.0
///使用社区Wiki帖子以提高清晰度(代码段格式等)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。