PrometheusとGrafanaによるKubernetes‐Nginxイングルコントローラの監視
5906 ワード
私はどのようにNginx Kubernetes Ingress Controllerをセットアップすることができるかを説明しました、しかし、我々は現在これをモニターすることができますか?この記事では、プロメテウスとグラファナをどのように利用してイングルのコントローラーで何が起きているのかを視覚化するためにどのように利用できるかについて、本論文で取り上げたい.
必要条件
次のコンポーネントを実行すると、次のコンポーネントが実行されます.
ingress-nginx
名前空間ingress
ルートプロメテウスの設置
参照を開くと
ingress-nginx
online プロメテウスをインストールするのはとても簡単であるべきです.PromeTusサーバーを配備して構成するには、次の手順を実行します.
kubectl apply --kustomize github.com/kubernetes/ingress-nginx/deploy/prometheus/
これが完了すると(~ 2分)、作成されたすべての出力が表示されます.serviceaccount/prometheus-server created
role.rbac.authorization.k8s.io/prometheus-server created
rolebinding.rbac.authorization.k8s.io/prometheus-server created
configmap/prometheus-configuration-hct76d4c56 created
service/prometheus-server created
deployment.apps/prometheus-server created
「ハード」部分に今すぐに-私たちのnginxを再構成します.Note: at the time of writing (20-SEP-2020) the documentation was incomplete, making me spend 5h on the issue of reconfiguring nginx...
Nginxの再構成
メトリックがプロメテウスに送られるのを許すためにNGinxを再構成することは簡単な仕事として聞こえるかもしれません、しかし、実際にそれはそうです.この点に関して公式文書が不足しているように見えるrecent pull request 必要ですServiceMonitor 使用する.
ServiceMonitorのインストールは良いオプションですが、official repository これはまだ“ベータ”であることを示していますので、このオプションを設定するのに最適なオプションではありません.
幸いにも私たちのために我々は常に我々の定義で値をチェックすることができますhelm chart , それは、我々がまだ利用できることを示しますprometheus annotations .
そのため、以下のコマンドでヘルムチャートをアップグレードします.
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"
これを以下のコマンドで検証するとhelm get values ingress-controller --namespace ingress-nginx
私たちの価値観は次のように設定されます.controller:
metrics:
enabled: true
service:
annotations:
prometheus.io/port: "10254"
prometheus.io/scrape: "true"
今すぐプロメテウスダッシュボードを開きます.kubectl get nodes
と外部IPアドレスを取得し、プロメテウスポートを介してkubectl get svc -A
) と入力を開始ng
それは私たちのメトリックを示しています!グラファナのインストール
ここからは、フィニッシュラインにスムーズに乗る!我々は、単に次のことができますofficial documentation Grafanaをインストールします.
kubectl apply --kustomize github.com/kubernetes/ingress-nginx/deploy/grafana/
これが完了したら、prometheusと同じようにして、ブラウザでgrafanaダッシュボードを開きます.kubectl get nodes
; kubectl get svc -A
) ここで使用できるadmin:admin
当社の資格情報として次の手順を実行します.http://CLUSTER_IP_PROMETHEUS_SVC:9090
) 結論
この記事では、以前のアプリケーションのInteressコントローラを監視する方法を学びました.これの目標は、次のポストには自動的に生成されたインフラは、着信要求に基づいてスケールすることができます!
Note: feel free to check the original post at my blog https://xaviergeerinck.com
Reference
この問題について(PrometheusとGrafanaによるKubernetes‐Nginxイングルコントローラの監視), 我々は、より多くの情報をここで見つけました https://dev.to/xaviergeerinck/monitoring-the-kubernetes-nginx-ingress-controller-with-prometheus-and-grafana-35giテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol