2019年も本日で最後となりました。
年末も、趣味でKubernetesやGKEで遊んでいるわけですが、ちょっとあまり触れてなかったGCPの監視ツールであるStackdriver Monitoring をつかって、GKEのリソース管理を試してみました。
Stackdriver Monitoring とは
Google Cloudで提供されているモニタリング(監視)ツール。AWSでいうCloudWatchに相当するツール。もともとは、Stackdriverという会社が提供していたものであったが、2014年にGoogleが買収して、Google Cloudの中に組み込んだプロダクト。
- インスタンスのCPU使用率、メモリ使用率といったメトリックス
- インシデント管理
- アラートを飛ばす
- ダッシュボード
- プロジェクト単位での管理
Stackdriver Kubernetes Engine Monitoring を使い方
まずは、前提条件として、GKEクラスタの設定で「Stackdriver Kubernetes Engine Monitoring」が有効になっていることが必要です。クラスタを構築すると、デフォルトで有効になっているが、念の為にご確認ください。
Stackdriver Monitoringの「モニタリングの概要」で、「Resource dashboards」の「Kubernetes Engine(new)」をクリックすると、「Stackdriver Kubernetes Engine Monitoring」の画面が立ち上がります。
Kubernetes Engineでは、Namespace単位でCPU使用率、メモリ使用率が可視化できる。
Namespaceをドリルダウンをすると、コンテナ単位でのCPU使用率、メモリ使用率も確認することが可能。
稼働時間監視とアラート設定
Stackdriverを使ってWebアプリの死活監視、稼働時間監視といったことももちろんできます。例えば、GKE上に構成したRedmineの稼働時間をチェック。
下記スクリーンショットのように設定することで、↑の画面のようなダッシュボードを作成することもできます。
また、アラート設定を行うと、Redmineのサービスがダウンしたときに、以下のようなグラフやインシデント管理を行うことができるようになります。
これらのアラートは、メールはもちろんのこと、SlackやWebhookで通知させることも可能です。
簡単にStackdriver Kubernetes Engine Monitroingを紹介させていただきました。次回は、もう少し深い部分で監視できるかどうかを試したいと思います。
それでは、みなさんよいお年を。