Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Google StackdriverでKubernetesのモニタリングに挑戦してみよう

KubernetesによるスケーラブルなWebアプリ環境の構築 第5回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/02/21 14:00

 本連載では、オープンソースのオーケストレーションシステムである「Kubernetes」を用いて、スケーラブルで運用しやすいWebアプリケーションを構築する方法を紹介します。前回は継続的インテグレーションするための仕組みの構築方法について解説をしました。今回はモニタリングツールの導入とモニタリング方法ついて紹介します。

目次

はじめに

 今回は「Google Stackdriver(以下、Stackdriver)」を使ったモニタリングの方法を紹介します。Stackdriverを使う理由としては、Google Kubernetes Engine(以下、Kubernetes Engine)では標準でStackdriverに対応しており、導入が極めて簡単であるためです。

 最初にStackdriverの簡単な説明とKubernetes Engineにおける基本的な使い方を解説します。その後、カスタム指標と呼ばれる仕組みを使い、Stackdriverが収集する指標をユーザーが自由に追加できる方法を紹介します。

Stackdriverについて

 StackdriverはGoogle Cloud Platformのサービスで、以下の機能が利用可能です。

  • モニタリング
  • ロギング
  • 診断機能

 本記事ではモニタリングの機能に関してのみ説明します。Stackdriverのモニタリングはアプリケーションの動作状況を視覚的に確認ができる機能です。

 アプリケーションの動作状況は、「指標」というシステムを評価するための測定値として収集されます。具体的にはCPU使用率やディスク使用率などが指標になります。Stackdriverではその収集した指標をグラフ化したり、指標の値をトリガーにしたアラートを設定したりすることができます。

Stackdriverのダッシュボード
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の使い方に関して紹介します。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト 吉海 将太(ヨシカイ ショウタ)

     株式会社カブクのサーバーサイドエンジニアです。APIの開発(Python,GO,AppEngine)とKubernetesによるインフラ環境の構築を担当しています。好きな獣はチベットスナギツネです。 Twitter: @yoshikai_ Faceb...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:KubernetesによるスケーラブルなWebアプリ環境の構築
All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5