MENU
カテゴリー
アーカイブ

Prometheus を使って OpenLens で Metrics を表示してみる

OpenLens を最初に起動したときのクラスタの様子はこちら。寂しい。
なので、Metrics を表示してみる。

※参考としたサイト

目次

Helm で Prometheus をインストールする

Namespace の追加

Promethus をインストールすると多くのリソースが作られるから、次のコマンドを実行して専用の Namespace を作る。いろいろなサイトで紹介されている、分かりやすい monitoring とした。

kubectl create namespace monitoring

OpenLens から追加することも可能。

Helm でリポジトリを取得する

次のコマンドで prometheus-community.github.io のリポジトリを取得する。

$ helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
$ helm repo update

OpenLens で追加する場合は、左上のバーガーメニューから「File」「Preferences」を選んで「Kubernetes」をクリックすると次の画面となる。
画面下のほうにスクロールした Helm Chart のところで、リストボックス「Repositories」をクリックして「prometheus-community」を選択すれば追加可能。削除もここからゴミ箱で OK。

オプション設定ファイルを取得する

つぎのとおり values.yaml を取得する。
もちろん、https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/values.yaml から直接ダウンロードでも何でも OK。

wget https://raw.githubusercontent.com/prometheus-community/helm-charts/main/charts/kube-prometheus-stack/values.yaml

values.yaml を編集する

たくさん設定できる項目がある。
とりあえず、ロードバランサーとして MetalLBをデプロイしている自分の環境だと service のところを Type: Cluster から Type: LoadBalancer にしないと Metrics を表示しない(7箇所)。
機能が多すぎて到底使いこなせるとは思えないけれど、自鯖ということで、まずは動作させてみよう。

OpenLens の場合、画面左のメニュー「Hem」の「Charts」から「kube-prometheus-stack」を選択する。

右上の青ボタンの「インストール」をクリックする。

画面下部に values.yaml の内容が表示される。
ここで Ctrl+F として出てくるテキストボックスに「type: clusterIP」と入力すると、該当箇所(7箇所)がハイライトされるので、直接「LoadBalancer」に修正することができる。
修正後はターミナルエリアで右クリックして書き込みを忘れないように。

インストール

コマンドの場合は次の通り、オプションファイル values.yaml を指定してインストールする。

$ helm upgrade --install -f values.yaml kube-prometheus-stack prometheus-community/kube-prometheus-stack -n monitoring
Release "kube-prometheus-stack" has been upgraded. Happy Helming!
NAME: kube-prometheus-stack
LAST DEPLOYED: Wed Nov  8 21:23:47 2023
NAMESPACE: monitoring
STATUS: deployed
REVISION: 2
NOTES:
kube-prometheus-stack has been installed. Check its status by running:
  kubectl --namespace monitoring get pods -l "release=kube-prometheus-stack"

Visit https://github.com/prometheus-operator/kube-prometheus for instructions on how to create & configure Alertmanager and Prometheus instances using the Operator.

OpenLens からなら、先の画面から「Install」をクリックして暫く待つ。
いつまでたってもインストールが終わらないようなら、OpenLens を再起動してもう一度、インストールを実行してみる。

OpenLens の設定

Metric の設定を初期値の Lens から Auto Detect Prometheus に変更しておく。

インストールが終了してから OpenLens を再起動すれば、無事に Metric が表示される。

感想

クラスタの様子をコマンドで確認してみると、

$ kubectl get all -A
NAMESPACE              NAME                                                                  READY   STATUS    RESTARTS       AGE
kube-flannel           pod/kube-flannel-ds-97gjk                                             1/1     Running   1              4d6h
kube-flannel           pod/kube-flannel-ds-j8kt9                                             1/1     Running   1              4d6h
kube-flannel           pod/kube-flannel-ds-q88kf                                             1/1     Running   1              4d6h
kube-flannel           pod/kube-flannel-ds-wmb87                                             1/1     Running   1              4d6h
kube-system            pod/coredns-5dd5756b68-67dvx                                          1/1     Running   10             11d
kube-system            pod/coredns-5dd5756b68-qtd4k                                          1/1     Running   10             11d
kube-system            pod/csi-nfs-controller-c544c88c-k5hdt                                 4/4     Running   25 (18h ago)   4d23h
kube-system            pod/csi-nfs-node-cvvfx                                                3/3     Running   3              4d23h
kube-system            pod/csi-nfs-node-tv7sc                                                3/3     Running   9              4d23h
kube-system            pod/csi-nfs-node-x6shz                                                3/3     Running   15             4d23h
kube-system            pod/csi-nfs-node-xzqjm                                                3/3     Running   6              4d23h
kube-system            pod/etcd-k8s-node1                                                    1/1     Running   15             11d
kube-system            pod/kube-apiserver-k8s-node1                                          1/1     Running   14             11d
kube-system            pod/kube-controller-manager-k8s-node1                                 1/1     Running   42 (18h ago)   11d
kube-system            pod/kube-proxy-2vhl6                                                  1/1     Running   5              11d
kube-system            pod/kube-proxy-ddnxk                                                  1/1     Running   10             11d
kube-system            pod/kube-proxy-fjmft                                                  1/1     Running   2              11d
kube-system            pod/kube-proxy-w2x8c                                                  1/1     Running   6              11d
kube-system            pod/kube-scheduler-k8s-node1                                          1/1     Running   43 (18h ago)   11d
kube-system            pod/snapshot-controller-6597bcc578-82jwz                              1/1     Running   8 (18h ago)    4d9h
kubernetes-dashboard   pod/kubernetes-dashboard-798dd48467-bssc9                             1/1     Running   10             10d
metallb-system         pod/controller-786f9df989-pm56k                                       1/1     Running   1              4d9h
metallb-system         pod/speaker-568dn                                                     1/1     Running   18 (24h ago)   11d
metallb-system         pod/speaker-5h8rf                                                     1/1     Running   10 (24h ago)   11d
metallb-system         pod/speaker-vxr4n                                                     1/1     Running   12 (24h ago)   11d
metallb-system         pod/speaker-wqpkz                                                     1/1     Running   4 (24h ago)    11d
minecraft              pod/minecraft-6b854f7d5c-m76zb                                        1/1     Running   2 (24h ago)    4d3h
monitoring             pod/alertmanager-kube-prometheus-stack-1699-alertmanager-0            2/2     Running   0              13m
monitoring             pod/kube-prometheus-stack-1699-operator-7db99bb58-vnn6j               1/1     Running   0              14m
monitoring             pod/kube-prometheus-stack-1699453681-grafana-f8fb64478-tdpsb          3/3     Running   0              14m
monitoring             pod/kube-prometheus-stack-1699453681-kube-state-metrics-7c58f5clz6d   1/1     Running   0              14m
monitoring             pod/kube-prometheus-stack-1699453681-prometheus-node-exporter-h6zhz   1/1     Running   0              14m
monitoring             pod/kube-prometheus-stack-1699453681-prometheus-node-exporter-qclkt   1/1     Running   0              14m
monitoring             pod/kube-prometheus-stack-1699453681-prometheus-node-exporter-t2hgf   1/1     Running   0              14m
monitoring             pod/kube-prometheus-stack-1699453681-prometheus-node-exporter-wwqsr   1/1     Running   0              14m
monitoring             pod/prometheus-kube-prometheus-stack-1699-prometheus-0                2/2     Running   0              13m

NAMESPACE              NAME                                                                TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                         AGE
default                service/kubernetes                                                  ClusterIP      10.96.0.1        <none>        443/TCP                         11d
kube-system            service/kube-dns                                                    ClusterIP      10.96.0.10       <none>        53/UDP,53/TCP,9153/TCP          11d
kube-system            service/kube-prometheus-stack-1699-coredns                          ClusterIP      None             <none>        9153/TCP                        14m
kube-system            service/kube-prometheus-stack-1699-kube-controller-manager          ClusterIP      None             <none>        10257/TCP                       14m
kube-system            service/kube-prometheus-stack-1699-kube-etcd                        ClusterIP      None             <none>        2381/TCP                        14m
kube-system            service/kube-prometheus-stack-1699-kube-proxy                       ClusterIP      None             <none>        10249/TCP                       14m
kube-system            service/kube-prometheus-stack-1699-kube-scheduler                   ClusterIP      None             <none>        10259/TCP                       14m
kube-system            service/kube-prometheus-stack-1699-kubelet                          ClusterIP      None             <none>        10250/TCP,10255/TCP,4194/TCP    13m
kubernetes-dashboard   service/kubernetes-dashboard                                        ClusterIP      10.96.253.32     <none>        443/TCP                         10d
metallb-system         service/webhook-service                                             ClusterIP      10.106.140.148   <none>        443/TCP                         11d
minecraft              service/minecraft                                                   LoadBalancer   10.100.250.166   10.1.11.11    25565:32003/TCP                 4d3h
monitoring             service/alertmanager-operated                                       ClusterIP      None             <none>        9093/TCP,9094/TCP,9094/UDP      13m
monitoring             service/kube-prometheus-stack-1699-alertmanager                     LoadBalancer   10.96.170.245    10.1.11.2     9093:31760/TCP,8080:30164/TCP   14m
monitoring             service/kube-prometheus-stack-1699-operator                         LoadBalancer   10.99.36.115     10.1.11.1     443:30794/TCP                   14m
monitoring             service/kube-prometheus-stack-1699-prometheus                       LoadBalancer   10.96.220.255    10.1.11.3     9090:31640/TCP,8080:32658/TCP   14m
monitoring             service/kube-prometheus-stack-1699453681-grafana                    ClusterIP      10.98.103.233    <none>        80/TCP                          14m
monitoring             service/kube-prometheus-stack-1699453681-kube-state-metrics         ClusterIP      10.96.61.154     <none>        8080/TCP                        14m
monitoring             service/kube-prometheus-stack-1699453681-prometheus-node-exporter   ClusterIP      10.101.199.213   <none>        9100/TCP                        14m
monitoring             service/prometheus-operated                                         ClusterIP      None             <none>        9090/TCP                        13m

NAMESPACE        NAME                                                                       DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
kube-flannel     daemonset.apps/kube-flannel-ds                                             4         4         4       4            4           <none>                   11d
kube-system      daemonset.apps/csi-nfs-node                                                4         4         4       4            4           kubernetes.io/os=linux   4d23h
kube-system      daemonset.apps/kube-proxy                                                  4         4         4       4            4           kubernetes.io/os=linux   11d
metallb-system   daemonset.apps/speaker                                                     4         4         4       4            4           kubernetes.io/os=linux   11d
monitoring       daemonset.apps/kube-prometheus-stack-1699453681-prometheus-node-exporter   4         4         4       4            4           kubernetes.io/os=linux   14m

NAMESPACE              NAME                                                                  READY   UP-TO-DATE   AVAILABLE   AGE
kube-system            deployment.apps/coredns                                               2/2     2            2           11d
kube-system            deployment.apps/csi-nfs-controller                                    1/1     1            1           4d23h
kube-system            deployment.apps/snapshot-controller                                   1/1     1            1           4d23h
kubernetes-dashboard   deployment.apps/kubernetes-dashboard                                  1/1     1            1           10d
metallb-system         deployment.apps/controller                                            1/1     1            1           11d
minecraft              deployment.apps/minecraft                                             1/1     1            1           4d3h
monitoring             deployment.apps/kube-prometheus-stack-1699-operator                   1/1     1            1           14m
monitoring             deployment.apps/kube-prometheus-stack-1699453681-grafana              1/1     1            1           14m
monitoring             deployment.apps/kube-prometheus-stack-1699453681-kube-state-metrics   1/1     1            1           14m

NAMESPACE              NAME                                                                            DESIRED   CURRENT   READY   AGE
kube-system            replicaset.apps/coredns-5dd5756b68                                              2         2         2       11d
kube-system            replicaset.apps/csi-nfs-controller-c544c88c                                     1         1         1       4d23h
kube-system            replicaset.apps/snapshot-controller-6597bcc578                                  1         1         1       4d23h
kubernetes-dashboard   replicaset.apps/kubernetes-dashboard-798dd48467                                 1         1         1       10d
metallb-system         replicaset.apps/controller-786f9df989                                           1         1         1       11d
minecraft              replicaset.apps/minecraft-6b854f7d5c                                            1         1         1       4d3h
monitoring             replicaset.apps/kube-prometheus-stack-1699-operator-7db99bb58                   1         1         1       14m
monitoring             replicaset.apps/kube-prometheus-stack-1699453681-grafana-f8fb64478              1         1         1       14m
monitoring             replicaset.apps/kube-prometheus-stack-1699453681-kube-state-metrics-7c58f5c86   1         1         1       14m

NAMESPACE    NAME                                                                    READY   AGE
monitoring   statefulset.apps/alertmanager-kube-prometheus-stack-1699-alertmanager   1/1     14m
monitoring   statefulset.apps/prometheus-kube-prometheus-stack-1699-prometheus       1/1     14m

・・・いろいろリソースができている。

10.1.11.1:443 ・・・ Operator

10.1.11.2:9093 ・・・ Alertmanager

10.1.11.3:9090 ・・・ Prometheus

とりあえず動作させることができたものの、不要なリソースは動作させたくないからもっと調べてみよう。

コメント

コメントする

目次