Prometheus Operatorを使ってPrometheus+Grafana検証環境を構築

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜
Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。
https://tech-lab.connpass.com/event/311864/

こんにちはサイオステクノロジー角川です。

Kubernetes環境の監視をおこなう際に監視ツールとしてPrometheusが多く使われます。
また、Prometheusで監視データを取得してGrafanaというモニタリングツールで監視データをグラフ化するという組み合わせが多く用いられます。

PrometheusとGrafanaを利用するにはそれぞれセットアップする必要がありますが、
kube-prometheus-stackというPrometheusのOperatorを利用することでKubernetes上に簡易にPrometheusとGrafana環境をインストールすることが出来ます。
簡易にセットアップ出来るためMinikubeなどローカルPC上で動作を確認する際に大変便利です。
今回はそのセットアップ手順についてご紹介します。

 

Namespaceを作成

Prometheus用にmonitoringというNamespaceを作成します。

$ kubectl create namespace monitoring

 

Helmリポジトリを追加

下記のようにHelmのリポジトリを追加します。

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

 

Helmインストール

追加したHelmリポジトリからkube-prometheus-stackのChartを取得して先程作成したmonitoringというNamespaceにインストールします。

$ helm install [NAME] prometheus-community/kube-prometheus-stack -n monitoring

上記の[NAME] は kube-prometheus-stack など任意の名前にしてください。

実行後、以下のような表示になりインストールがおこなわれたことが確認出来ます。

NAME: kube-prometheus-stack
LAST DEPLOYED: Wed Jul 20 12:00:00 2022
NAMESPACE: monitoring
STATUS: deployed
REVISION: 1
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.

 

Deploymentを確認

新規作成したmonitoringというNamespace内のDeploymentを確認します。

$ kubectl get deployment -n monitoring
NAME READY UP-TO-DATE AVAILABLE AGE
kube-prometheus-stack-grafana 1/1 1 1 10m
kube-prometheus-stack-kube-state-metrics 1/1 1 1 10m
kube-prometheus-stack-operator 1/1 1 1 10m
$

Serviceを確認

各サービス名とポート番号が確認出来ます。

$ kubectl get svc -n monitoring
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alertmanager-operated ClusterIP None <none> 9093/TCP,9094/TCP,9094/UDP 10m
kube-prometheus-stack-alertmanager ClusterIP 10.109.30.220 <none> 9093/TCP 10m
kube-prometheus-stack-grafana ClusterIP 10.105.183.129 <none> 80/TCP 10m
kube-prometheus-stack-kube-state-metrics ClusterIP 10.101.51.134 <none> 8080/TCP 10m
kube-prometheus-stack-operator ClusterIP 10.97.253.200 <none> 443/TCP 10m
kube-prometheus-stack-prometheus ClusterIP 10.110.5.17 <none> 9090/TCP 10m
kube-prometheus-stack-prometheus-node-exporter ClusterIP 10.100.136.84 <none> 9100/TCP 10m
prometheus-operated ClusterIP None <none> 9090/TCP 10m
$

 

Grafanaのモニタリング画面表示

下記のように先程Serviceを確認した際に表示されたサービス名とポート番号を指定してポートフォワードすることでブラウザからモニタリング画面の確認が出来ます。

$ kubectl port-forward svc/kube-prometheus-stack-grafana -n monitoring 8080:80

ブラウザで以下のように8080番ポートへアクセスすることでGrafanaのモニタリング画面が表示されます。
http://127.0.0.1:8080/

 

 

ログインユーザ名はadmin、パスワードはデフォルトでprom-operatorとなっています。

 

Prometheus画面表示

Grafanaのモニタリング画面と同様にPrometheusの画面も表示可能です。

$ kubectl port-forward svc/kube-prometheus-stack-prometheus -n monitoring 9090:9090

ブラウザで以下のように9090番ポートへアクセスすることでGrafanaのモニタリング画面が表示されます。
http://127.0.0.1:9090/

 

最後に

いかがだったでしょうか。

Kubernetes上に簡易にPrometheusとGrafanaをセットアップ出来、動作の確認がおこなえたと思います。

参考になりましたら幸いです。

 

Grafanaのサポートなら!

サイオスOSSよろず相談室にお任せください!
Grafanaだけでなく、各種最新のOSSにも取り組んでおり、現在、150種類以上のOSSのサポートに対応しております。商用製品のサポート品質に匹敵する手厚いサービスを各種OSSでご利用いただけます。

OSSサポートのことでお困りでしたら、お気軽にご相談ください!

 

アバター画像
About サイオステクノロジーの中の人 9 Articles
サイオステクノロジーで働く中の人です。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる