はじめに
今回は「Google Stackdriver(以下、Stackdriver)」を使ったモニタリングの方法を紹介します。Stackdriverを使う理由としては、Google Kubernetes Engine(以下、Kubernetes Engine)では標準でStackdriverに対応しており、導入が極めて簡単であるためです。
最初にStackdriverの簡単な説明とKubernetes Engineにおける基本的な使い方を解説します。その後、カスタム指標と呼ばれる仕組みを使い、Stackdriverが収集する指標をユーザーが自由に追加できる方法を紹介します。
Stackdriverについて
StackdriverはGoogle Cloud Platformのサービスで、以下の機能が利用可能です。
- モニタリング
- ロギング
- 診断機能
本記事ではモニタリングの機能に関してのみ説明します。Stackdriverのモニタリングはアプリケーションの動作状況を視覚的に確認ができる機能です。
アプリケーションの動作状況は、「指標」というシステムを評価するための測定値として収集されます。具体的にはCPU使用率やディスク使用率などが指標になります。Stackdriverではその収集した指標をグラフ化したり、指標の値をトリガーにしたアラートを設定したりすることができます。
この図のように、複数のグラフをひとつのダッシュボードにまとめて表示することができます。この画像ではGKEのコンテナのCPU使用率とメモリー使用率を表示しています。
ちなみにStackdriverは、一部機能が有料になっています。料金の詳細は公式Webサイトを確認してください。
Stackdriverで収集されるKubernetes Engineの指標について
Stackdriverでは大きく分けて2つのKubernetes Engineの指標を取得できます。
GKEのコンテナの指標
- CPU使用率
- ディスク使用率
- ページフォールト(メジャー)
- ページフォールト(マイナー)
- メモリー消費量
ノード(GCEのVM)のメトリクス
- CPU使用率
- ディスク読み込みI/O
- ディスク書き込みI/O
- ネットワーク インバウンド トラフィック
- ネットワーク アウトバウンド トラフィック
これらの指標であれば、GKEのクラスタのメニューからStackdriverを有効にするだけで収集されるようになります。
Stackdriver Monitoring Console
Stackdriverでは、Monitoring Consoleを使って各種指標の可視化やアラートの設定ができます。今回は可視化の機能にフォーカスして説明します。
可視化には大きく分けて「Resource」「Group」「Dashboard」の3種類があります。
Resourcesは指標をひとつ指定して可視化することができる機能で、Groupは特定の集団ごとに指標を可視化する機能です。Groupはユーザーが定義することができます。
Dashboardはユーザーが自由に複数のグラフを追加して可視化できるものになります。例えばGKEのCPU使用率やメモリー使用率をまとめて可視化したい際などに使用します。
今回はDashboardの使い方に関して紹介します。