概要
Prometheusを手軽にインストールしたかったので、色々探してみたところkube-prometheusがよさそうなので、インストールしてみる。
https://github.com/coreos/kube-prometheus
パッケージの中には、
– Prometheus Operator
– Prometheus/AlertManagerの冗長化
– Prometheus用node-exporter
– Kubernetesのメトリクスを取得するアダプタ
– Grafana
が含まれている。 インストールも簡単で必要最低限のダッシュボードが提供されているため、まずは試してみたい人に最適。
インストール
公式にある通りマニフェストを適用するだけ。
git clone https://github.com/coreos/kube-prometheus.git
cd kube-prometheus/
kubectl create -f manifests/setup
until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done
kubectl create -f manifests/
正常にPod群が立ち上がると以下のようになる。
$ kubectl -n monitoring get pod
NAME READY STATUS RESTARTS AGE
alertmanager-main-0 2/2 Running 0 4d22h
alertmanager-main-1 2/2 Running 0 4d22h
alertmanager-main-2 2/2 Running 2 4d22h
grafana-5c55845445-hgv4l 1/1 Running 1 5d
kube-state-metrics-957fd6c75-dw4qh 3/3 Running 3 5d
node-exporter-4zmms 2/2 Running 3 5d
node-exporter-h5qrv 2/2 Running 2 5d
node-exporter-zk255 2/2 Running 2 5d
prometheus-adapter-5949969998-pr55z 1/1 Running 1 5d
prometheus-k8s-0 3/3 Running 4 5d
prometheus-k8s-1 3/3 Running 4 5d
prometheus-operator-574fd8ccd9-7vkls 2/2 Running 2 5d
UIの確認
全てのPodがREADYの状態になったあと、各UIにアクセスして正常か確認する。
まずPrometheus。
kubectl --namespace monitoring port-forward svc/prometheus-k8s 9090
上記コマンドを実行後にhttp://localhost:9090にアクセスするとPrometheusのUIが現れる。
アラートなどを見ると既に定義されているものが確認できる。
次に、Alert Managerを確認する。同様にポートフォワーディングを行って、UIにアクセス。
kubectl --namespace monitoring port-forward svc/alertmanager-main 9093
最後に、Grafanaからメトリクスの確認。
kubectl --namespace monitoring port-forward svc/grafana 3000
デフォルトで複数のダッシュボードが定義されており、ノードの監視などベーシックなものは追加する必要がないのがとても良い。
今日はここまで。とりあえず、インストールは完了。
次回以降でメトリクスの追加などを試す。