如何使用prometheus kubernetes刮掉豆荚水平信息?

时间:2017-01-18 17:26:45

标签: kubernetes prometheus kubernetes-health-check

我正在尝试使用prometheus kubernetes来刮取pod级信息。这是我正在使用的配置:

 - job_name: 'kubernetes-pods'

  kubernetes_sd_configs:
  - api_servers:
    - 'https://kubernetes.default'
    role: pod
  relabel_configs:
  - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
    action: keep
    regex: true
  - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
    action: replace
    target_label: __metrics_path__
    regex: (.+)
  - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
    action: replace
    regex: (.+):(?:\d+);(\d+)
    replacement: ${1}:${2}
    target_label: __address__
  - action: labelmap
    regex: __meta_kubernetes_pod_label_(.+)
  - source_labels: [__meta_kubernetes_pod_namespace]
    action: replace
    target_label: kubernetes_namespace
  - source_labels: [__meta_kubernetes_pod_name]
    action: replace
    target_label: kubernetes_pod_name

但我没有看到关于grafana的任何信息。我是否需要对我的应用进行任何更改? snapshot

3 个答案:

答案 0 :(得分:2)

使用该配置,第一个操作要求使用prometheus.io/scrape=true注释pod。您是否在相关的pod上设置了注释?

答案 1 :(得分:1)

请注意,

这里有一个配置错误: __ meta_kubernetes_pod_namespace 不存在且应为 __ meta_kubernetes_namespace

致以最诚挚的问候,

巴特

答案 2 :(得分:0)

您应该确保您的Grafana图表使用的数据实际存在于普罗米修斯。

我假设您使用此默认Grafana dashboard

您的Grafana查询可能如下所示:

sum (container_memory_working_set_bytes{pod_name=~"^$Pod$"}) / sum (machine_memory_bytes{kubernetes_io_hostname=~"^$Node$"}) * 100

因此,您必须确保记录container_memory_working_set_bytes指标,并确保其中包含pod_name字段。

如果未记录指标,您必须在prometheus的日志中进行一些挖掘,以检查它是否能够抓取API。

如果指标存在,但标签错误,您可以在Grafana中调整查询,也可以在Prometheus中添加另一个relabel_config。请参阅official documentation