met*_*ale 6 metrics kubernetes prometheus amazon-eks
我正在遵循此演练(部分使用 EKS。https: //itnext.io/horizo ntal-pod-autoscale-with-custom-metrics-8cb13e9d475
我设法使用此 http_requests_total 指标扩大一个部署。
现在,我正在尝试添加一个新指标。我有普罗米修斯服务器,它已经抓取了cloudwatch,并且aws_sqs_approximate_age_of_oldest_message_maximum我的许多队列都具有价值。
以与上述教程类似的方式,我添加了指标的定义:
- seriesQuery: 'http_requests_total{kubernetes_namespace!="",kubernetes_pod_name!=""}'
resources:
overrides:
kubernetes_namespace: {resource: "namespace"}
kubernetes_pod_name: {resource: "pod"}
name:
matches: "^(.*)_total"
as: "${1}_per_second"
metricsQuery: 'sum(rate(<<.Series>>{<<.LabelMatchers>>}[2m])) by (<<.GroupBy>>)'
Run Code Online (Sandbox Code Playgroud)
与
- seriesQuery: 'aws_sqs_approximate_age_of_oldest_message_maximum{queue_name!=""}'
resources:
overrides:
kubernetes_namespace: {resource: "namespace"}
kubernetes_pod_name: {resource: "pod"}
metricsQuery: '<<.Series>>{<<.LabelMatchers>>}'
Run Code Online (Sandbox Code Playgroud)
或者底部版本的某种版本。但是,我永远看不到它:
kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1 | jq
无论我尝试什么。
有什么想法如何继续前进吗?谢谢!
如果您没有看到其中的指标,/apis/custom.metrics.k8s.io/v1beta1则意味着 Prometheus 适配器无法发现它。
seriesQueryPrometheus 适配器通过使用向 Prometheus 发出请求的字段值来发现指标(按照重新列出间隔/api/v1/series定义的频率定期执行)。
值得尝试的事情:
如果你向 Prometheus 发出以下请求,你会得到什么?
http://<prometheus-ip>:9090/api/v1/series? match[]=aws_sqs_approximate_age_of_oldest_message_maximum{queue_name!=""}&start=<current-timestamp-sec>
Run Code Online (Sandbox Code Playgroud)如果将以下内容放入 Prometheus UI 的查询文本框中并按Execute ,您会得到什么?
aws_sqs_approximate_age_of_oldest_message_maximum{queue_name!=""}
Run Code Online (Sandbox Code Playgroud)如果在这两种情况下都没有返回数据,那么 Prometheus 中没有任何符合您的seriesQuery规范的时间序列。
| 归档时间: |
|
| 查看次数: |
5334 次 |
| 最近记录: |