我有一个普罗米修斯表情:
(
max(aws_sqs_approximate_number_of_messages_visible_average{queue_name="queue-1"})
+ max(aws_sqs_approximate_number_of_messages_not_visible_average{queue_name="queue-2"}))
/ sum(kube_pod_container_status_ready{container="worker"}
)
在prometheus UI中可以正确评估哪个值,但是我有一条规则可以对此精确表达式求值:
- name: tasks
rules:
- expr: <expr>
labels:
deployment: worker
kubernetes_name: worker
kubernetes_namespace: default
namespace: default
record: app:tasks_per_worker
此规则始终在Prometheus UI中返回“未找到数据点”。
这是为什么?
全局刮擦和评估间隔均为15s
答案 0 :(得分:0)
普罗米修斯规则在当前时间评估 ,cloudwatch数据通常会非常延迟,因此尽管您可以获得历史数据图,但当前数据的值始终为空。
您可以通过添加偏移量来修复它,例如:
(
max(aws_sqs_approximate_number_of_messages_visible_average{queue_name="queue-1"} offset 10m)
+ max(aws_sqs_approximate_number_of_messages_not_visible_average{queue_name="queue-2"}) offset 10m)
/ sum(kube_pod_container_status_ready{container="worker"} offset 10m
)