Stackdriver Monitoring Console Dashboadの使い方
それでは実際にDashboardを使ってみましょう。まず、GKEでStackdriverを有効化する必要があります。
Stackdriverの有効化
Kubernetes EngineへStackdriverを導入するのは簡単で、Kubernetes Engineの[編集]から、Stackdriver MonitoringとStackdriver Loggingを有効にするだけです。今回は既存のクラスタに対してStackdriverを有効化する手順を説明します。
手順は以下の通りです。
- GCP Consoleから[Kubernetes Engine]のメニューにアクセス
- 編集したいクラスタの[編集](鉛筆のアイコン)をクリック
- Stackdriver Monitoringのプルダウンメニューから[有効]を選択する
- [保存]を押して設定を有効化する
![Stackdriverを有効化](http://cz-cdn.shoeisha.jp/static/images/article/10644/10644_002_s.png)
Stackdriverアカウントを作成する
Stackdriver Monitoringを使うためには、そのプロジェクトでホストされるStackdriverアカウントを作成する必要があります。そのため、以下の公式ガイドの「アカウントを管理する」に記載されている「Stackdriver アカウントを作成する」の手順を行いStackdriverアカウントを作成しましょう。
この手順を最後まで行うと以下の画面が表示されるはずです。
![Welcome to Stackdriver Monitoring!](http://cz-cdn.shoeisha.jp/static/images/article/10644/10644_003_s.png)
余談ですが、アカウントのProfile settingsからMonitoringページのテーマを変更することができます。テーマはライトかダークを選択することができき、筆者はダークが好きなのでダークに変更しています。
![Profile settings](http://cz-cdn.shoeisha.jp/static/images/article/10644/10644_004_s.png)
Dashboardにアクセス
次にDashboardにアクセスしてGKEのコンテナの使用率の指標を可視化してみましょう。
手順は以下の通りです。
- Stackdriver Monitoringのページの[Dashboard]をクリックして出てくるメニューから[Create Dashboard]をクリックしてDashboardを作成
- 作成したDashboardの画面に遷移したら[Add Chart]をクリック
- 下記のAdd Chart CPU Usageの図を参考に、Add Chartの「Resource Type」には「GKE Container」、「Metric Type」には「CPU Usage(使用率)」を指定。(注:Stackdriverのアカウントを作成した直後などは「Resource Type」に「GKE Container」が現れない場合があるようです。その場合は少し時間を置いてから試してください)
- [Save]を押してChartを保存
![Add Chart CPU Usage](http://cz-cdn.shoeisha.jp/static/images/article/10644/10644_005_s.png)
以上の手順で新しく作成したDashboardに、追加したCPU Usage(使用率)のChartが下図のように表示されるはずです。
![Dashboard](http://cz-cdn.shoeisha.jp/static/images/article/10644/10644_006_2_s.png)
この図では「GKE Container - CPU Usage」に、コンテナごとのCPU使用率が表示さています。Chartでは[Toggle Legend]のボタンを押すことで、コンテナのCPU使用率がリストで確認できるようになっており、リストに表示されているコンテナ名か描画されたグラフをクリックすることで、クリックしたコンテナにフォーカスしたグラフ表示に切り替えることができます。
![ひとつのコンテナにフォーカスしたグラフ](http://cz-cdn.shoeisha.jp/static/images/article/10644/10644_007_2_s.png)
この図はglbcというコンテナのCPU使用率にフォーカスした表示したものです。ちなみにglbcはGCE Load-Balancer Controllerのことで、GKEのIngressのコントローラーになります。GKEではこのコントローラーを経由してGCPのLoad-Balancerを操作してIngressの機能を実現しています。より詳細を知りたい方は、公式のGitHubのレポジトリを参照してください。
Stackdriverのカスタム指標
Stackdriverはカスタム指標の機能を使うことより、ユーザーが独自に指標を定義することができます。これによって、どのような指標でもカスタム指標として定義してしまえば、Stackdriverで収集できるようになります。カスタム指標はStackdriverの有料機能のため、その点は注意してください。