1. 程式人生 > 其它 >【K8s教程】使用 Prometheus 和 Grafana 來抓取 NGINX Ingress 控制器的指標

【K8s教程】使用 Prometheus 和 Grafana 來抓取 NGINX Ingress 控制器的指標

參考:https://kubernetes.github.io/ingress-nginx/user-guide/monitoring/

前提條件

控制器應配置為匯出指標

helm upgrade ingress-controller ingress-nginx/ingress-nginx \
--namespace ingress-nginx \
--set controller.metrics.enabled=true \
--set-string controller.podAnnotations."prometheus\.io/scrape"="true" \
--set-string controller.podAnnotations."prometheus\.io/port"="10254"

或者:

..
controller:
  metrics:
    enabled: true
    service:
      annotations:
        prometheus.io/port: "10254"
        prometheus.io/scrape: "true"
..

如果您不使用 helm ,則必須像這樣編輯清單:

服務清單:

apiVersion: v1
kind: Service
metadata:
 annotations:
   prometheus.io/scrape: "true"
   prometheus.io/port: "10254"
..
spec:
  ports:
    - name: prometheus
      port: 10254
      targetPort: prometheus
      ..

DaemonSet 清單:

..
ports:
  - name: prometheus
    containerPort: 10254
  ..

部署和配置 Prometheus 伺服器說明

參考:https://github.com/kubernetes/ingress-nginx/tree/main/deploy/prometheus

部署和配置 Grafana 說明

參考:https://github.com/kubernetes/ingress-nginx/tree/main/deploy/grafana

注意事項

萬用字元入口

預設情況下,請求指標標有主機名。 當您有萬用字元域入口時,該入口將沒有指標(以防止指標在基數上爆炸)。 要在這種情況下獲取指標,您需要使用以下命令執行入口控制器 --metrics-per-host=false(您將失去主機名的標籤,但仍然有入口的標籤)。

作者:Varden 出處:http://www.cnblogs.com/varden/ 本文內容如有雷同,請聯絡作者! 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。