Kubernetes / Prometheus指标不匹配

时间:2019-05-15 16:49:22

标签: kubernetes prometheus

我有一个在Kubernetes(Azure AKS)中运行的应用程序,其中每个Pod包含两个容器。我还设置了Grafana,以显示各种度量标准,其中一些来自Prometheus。我正在尝试对另一个问题进行故障排除,因此我注意到某些指标似乎在数据源之间不匹配。

例如,kube_deployment_status_replicas_available返回值30,而kubectl -n XXXXXXXX get pod列出100个都在运行,而kube_deployment_status_replicas_unavailable返回值0。此外,如果我有问题的部署使用kubectl,我看到了期望值。

$ kubectl get deployment XXXXXXXX
NAME       DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
XXXXXXXX   100       100       100          100         49d

在同一群集中还有其他所有值正确关联的应用程序(命名空间),因此我不确定故障可能出在哪里,或者不确定是否有办法确定哪个值是正确的。任何指导将不胜感激。谢谢

1 个答案:

答案 0 :(得分:2)

基于拥有kube_deployment_status_replicas_available指标的假设,我假设您有Prometheus从kube-state-metrics抓取指标。听起来它的部署有些古怪。可能是:

  • 缓存的指标数据
  • 和/或简单地,它无法从kube-apiserver
  • 获取当前指标

我会

  • 检查您正在运行的kube-state-metrics版本,看看它是否与您的K8s版本兼容。
  • 重新启动kube-state-metrics窗格。
  • 检查日志kubectl logs kube-state-metrics`
  • 检查Prometheus日志
    • 如果看不到任何内容,请尝试使用--log.level=debug标志启动Prometheus。

希望有帮助。