【问题标题】:Metrics not visible in prometheus指标在普罗米修斯中不可见
【发布时间】:2020-12-23 04:46:11
【问题描述】:

我正在使用弹性搜索导出器将弹性搜索指标拉到 prometheus。 我安装了 helm chart,可以通过端口转发看到 http://127.0.0.1:9108/metrics 上的指标。 但我没有看到任何指标来普罗米修斯。 谁能告诉我从哪里开始解决问题?

【问题讨论】:

  • 从您的抓取配置和 UI 中显示抓取的部分开始
  • 转到prometheus UI,看看目标是否在那里弹出。

标签: amazon-web-services kubernetes prometheus kubernetes-helm prometheus-operator


【解决方案1】:

有几个选项可能对您有所帮助:

  • 检查prometheus-elasticsearch-exporterServiceMonitor 配置并确保已启用:
serviceMonitor:
  enabled: true
  • 了解kube-prometheus-stackScrape 配置并根据您的目标进行设置。

默认情况下,Prometheus 会在其命名空间中发现 PodMonitors 和 ServiceMonitors,它们的发布标签与 prometheus-operator 发布版本相同。有时,您可能需要发现自定义 PodMonitors/ServiceMonitors,例如用于从第三方应用程序中抓取数据。在不影响默认 PodMonitors/ServiceMonitors 发现的情况下,一种简单的方法是允许 Prometheus 发现其命名空间内的所有 PodMonitors/ServiceMonitors,而无需应用标签过滤。 为此,您可以将 prometheus.prometheusSpec.podMonitorSelectorNilUsesHelmValues 和 prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues 设置为 false。

【讨论】:

    【解决方案2】:

    TL;DR

    您尚未设置PodMonitorServiceMonitor
    你需要根据prometheus-operator/Documentation#servicemonitor创建一个


    您可以使用我的 helm chart kehao95/helm-prometheus-exporter 安装各种 prometheus 导出器,包括 elasticsearch-exporter
    它不仅会为您创建导出器Deployment,还会为您创建Service/ServiceMonitor/PrometheusRule

    1. 安装图表
    helm repo add kehao95 https://kehao95.github.io/helm-prometheus-exporter
    
    1. 获取 elasticsearch-exporter 示例
    wget https://raw.githubusercontent.com/kehao95/helm-prometheus-exporter/master/examples/elasticsearch-exporter.values.yaml
    # or create a new one
    helm show values kehao95/prometheus-exporter > elasticsearch-exporter.values.yaml
    
    1. 更新 values 文件中的 elasticsearch 连接信息。
    2. 使用 helm 安装
    helm install -n monitoring elasticsearch-exporter kehao95/prometheus-exporter -f elasticsearch-exporter.values.yaml
    

    解释

    因为您可以在导出器上通过端口转发查看指标。这意味着你有出口商工作。 但数据不会自动到达 prometheus。您需要配置 prometheus 以抓取导出器的指标端点。

    prometheus-operator 中的导出器工作堆栈需要:

    • Deployment 的出口商(你已经有了)

    • Service 选择导出器(取决于您使用的 Helm Chart,您可能也有)

    • ServiceMonitor 以声明方式指定应如何监控 Kubernetes 服务组。 Operator 根据 API 服务器中对象的当前状态自动生成 Prometheus 抓取配置。

    • PrometheusRule 定义了一组所需的 Prometheus 警报和/或记录规则。 Operator 生成一个规则文件,Prometheus 实例可以使用该文件。

    【讨论】:

      猜你喜欢
      • 2020-01-10
      • 2020-11-12
      • 2022-12-02
      • 1970-01-01
      • 1970-01-01
      • 2022-12-22
      • 2021-09-13
      • 1970-01-01
      • 2022-01-22
      相关资源
      最近更新 更多