簡體   English   中英

Kubernetes - Prometheus 缺少所有 NGINX 入口指標?

[英]Kubernetes - Prometheus Missing All NGINX Ingress Metrics?

我有一個 DigitalOcean Kubernetes 集群。 我已經通過 Helm 安裝了 NGINX Ingress Controller 並且還安裝了 Prometheus 和 Grafana。

我的入口在default命名空間中,我的監控在monitoring命名空間中。

這是我安裝的圖表版本。

❯ helm list
NAME            REVISION    UPDATED                     STATUS      CHART                   APP VERSION NAMESPACE
grafana         1           Mon Oct  7 08:04:15 2019    DEPLOYED    grafana-3.8.18          6.3.5       monitoring
metrics-server  1           Thu Aug 29 09:07:21 2019    DEPLOYED    metrics-server-2.8.2    0.3.2       kube-system
nginx-ingress   1           Wed Aug 21 21:32:06 2019    DEPLOYED    nginx-ingress-1.17.1    0.25.1      default
prometheus      1           Mon Oct  7 09:24:21 2019    DEPLOYED    prometheus-9.1.2        2.11.1      monitoring

我正在嘗試獲取一些 NGINX 指標,以便我可以在 Grafana 中進行監控。

但是,它們都沒有出現在 Prometheus UI 中。 我已經嘗試將普羅米修斯標志添加到我所有的入口中,但仍然一無所獲。 例如

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ****-ingress
  namespace: monitoring
  annotations:
    kubernetes.io/ingress.class: nginx
    enable-vts-status: "true"
    prometheus.io/scrape: "true"
    prometheus.io/port: "10254"

我為 nginx controller 使用了默認值。yaml文件,但我確實更改了啟用指標:

  metrics:
    enabled: true

根據我的閱讀,它應該開箱即用。 所以我不知道出了什么問題。

Prometheus 服務發現 普羅米修斯搜索查詢

看起來可疑的一件事是服務發現似乎沒有監視任何服務,但我從未使用過 Prometheus,而且我在尋找什么方面陷入了死胡同。

謝謝

我最終到了那里。 我必須創建一個 prometheus 作業,以觀看 NGINX Metrics 服務器。 我想,我的設置和所有在線示例之間的區別(即使我使用相同的舵圖)是我有一個單獨的 NGINX 指標服務,在不同的端口上運行。 所以OOB Prometheus 沒有被配置為檢查它。

- job_name: nginx-ingress
      metrics_path: /metrics
      scrape_interval: 5s
      static_configs:
        - targets:
          - nginx-ingress-controller-metrics:9913

將其添加到 prometheus configmap,並重新加載配置。

看來您已經從頭開始部署 Prometheus。 Nginx 入口指標僅在您通過prometheus-operator部署 Prometheus 時有效。

我認為您也可以使用在其他命名空間中找到您的選擇器並讓它們活躍起來。 我遇到了與您相同的 nginx 入口問題(相同的端口等)。 我不確定哪些是關鍵線,所以我把它們都加了進去,但它讓我的活了起來,我認為這對未來有更多的證明。

  values:
    prometheus:
      prometheusSpec:
        # Use all prometheus rules on the cluster
        ruleNamespaceSelector:
          any: true
        ruleSelectorNilUsesHelmValues: false

        # Use all service monitors on the cluster
        serviceMonitorNamespaceSelector:
          any: true
        serviceMonitorSelectorNilUsesHelmValues: false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM