Azure 第24回『Azure Monitorでシステムを丸ごと監視!』

Azure Monitor でシステム監視を行う

Azure Monitor は Microsoft Azure で提供されている監視ソリューションです。Azure 内の仮想マシンやアプリケーションだけでなく、AWS・GCP などの他のクラウドやオンプレミス環境で実行されている仮想マシン・物理マシン・アプリケーションなどさまざまなデータソースから監視データを収集し、収集したデータを可視化・分析し、その結果に対する対応を行うことができる包括的なサービスとなっています。

Azure Monitor のメリット

Azure Monitor による監視を適切に行うことで、以下のようなメリットが得られます。

  • パフォーマンスとコストの最適化
    パフォーマンスのボトルネックと領域を特定することで、リソースの使用率や効率、コストパフォーマンスを向上させることができます。
  • プロアクティブな管理
    プロアクティブな対策が可能になり、事後対応的な対策に比べてダウンタイムや中断などの問題を防ぐことができます。
  • 信頼性
    問題が発生した場合、問題の素早い識別、トラブルシューティング、回復が行えます。
  • 容量計画
    過去の使用パターンの分析を通じて、今後の容量の予測・計画やインフラストラクチャのスケーリングに役立ちます。
  • セキュリティの監視
    セキュリティの脅威、侵害、疑わしいアクティビティを検出して対応し、システムのセキュリティ体制を維持します。
  • コンプライアンスとガバナンスの監視
    標準、規制、ポリシーへの準拠を監視できます。

Azure Monitor では Azure・他のクラウド・オンプレミスのすべての場所をまとめて監視することができるので、組織の保有する IT リソース全体に対して、上記のようなメリットを得ることができます。

Azure Monitor のアーキテクチャ

Azure Monitor のアーキテクチャは以下の概念図で表すことができます。

Azure Monitor はさまざまなデータソースから収集されたデータを適切な形式で適切な場所に蓄積し、それを分析や可視化などに利用するための一連のサービスの総称です。

Azure Monitor の要素

Azure Monitor は以下の要素で構成されます。

データソース

監視対象から収集されるデータです。以下が収集の対象となるソースです。
・アプリケーションやワークロード
・仮想マシンのオペレーティングシステムやコンテナー
・Azure 自身のプラットフォーム
・ユーザーが Azure Monitor API を利用して送信するカスタムソース

収集されるデータは以下のようなものです。
・メトリック
・ログ
・トレース(.NET/.NET Core および Python アプリケーション)
・変更点(Azure での変更の履歴)

データ収集・転送・変換

データソースから送られたデータを収集し、適切なデータプラットフォームに転送します。必要があればデータ形式の変換も行います。

データプラットフォーム

分析や可視化などの利用のためにデータを蓄積する場所です。データの種類に応じて以下のような保存場所が利用されます。
・メトリック:Azure Monitor メトリックデータベース
・ログ:Log Analytics ワークスペース
・トレース:Log Analytics ワークスペース
・変更点:Azure Resource Graph

データ利用

収集したデータからのインサイトを得る、データを可視化する、データを分析する、データに応じた対応を行うなど、データを利用する機能です。

  • インサイト

    ◆Application Insights:
    Web アプリケーションの可用性、パフォーマンス、使用状況を監視します。
    ◆Container Insights:
    Azure Kubernetes Service の Kubernetes クラスターにデプロイされているコンテナー ワークロードのパフォーマンスを視覚化します。
    ◆VM Insights:
    Azure VM を監視します。Windows VM と Linux VM のパフォーマンスと正常性が分析できます。またオンプレミスまたは別のクラウド プロバイダーでホストされている VMの監視もサポートされています。
    ◆Network Insights:
    ネットワーク リソースの正常性とメトリックを、トポロジを通じて包括的かつ視覚的に把握できます。

  • 視覚化
    グラフや表などによる視覚化を行えます。

    ◆Azure ダッシュボード:
    さまざまな種類のデータを組み合わせて、Azure portal 内の 1つのペインに表示できます。 ダッシュボードは、他の Azure ユーザーと共有することもできます。
    ◆Azure workbook:
    Azure portal 内でデータを分析し、高度な視覚的レポートを作成するための柔軟なキャンバスを提供します。チーム間でリアルタイムにデータが更新される共有が可能です。
    ◆Power BI:
    さまざまなデータ ソースにわたって対話型の視覚化を提供するビジネス分析サービスです。Azure Monitor からログ データを自動的にインポートするように Power BI を構成して利用します。
    ◆Grafana:
    運用ダッシュボードに優れたオープン プラットフォームです。 Grafana のすべてのバージョンには、Azure Monitor のメトリックとログを視覚化するための Azure Monitor データソース プラグインが含まれています。

  • 分析
    監視データを分析できる組み込みのツールです。

    ◆メトリックス エクスプローラー:
    リソースの正常性と使用率を調べる、正確に分析するために役立ちます。
    ◆Log Analytics:
    ログデータにクエリを実行して、収集されたデータをすばやく取得、統合、分析できます。クエリは Kusto クエリ言語(KQL)で記述しますが、多数のテンプレートが用意されています。
    ◆変更の分析:
    サブスクリプションでのリソースの変更を確認して、どの変更によって問題が発生した可能性があるかをユーザーが把握するために役立つ診断ツールです。

  • 対応
    重要なイベントに対して、管理者への通知やエラー状態の修正を試みる自動化されたプロセスです。

    ◆AIOps:
    機械学習を使用して、アプリケーション、サービス、IT リソースから Azure Monitor に収集したデータを処理して自動的に操作します。
    ◆Azure Monitor アラート:
    メトリックやログを基に、電子メールや SMS 通知の送信などで管理者にアラートを送信します。
    ◆自動スケーリング:
    メトリックなどに応じて、アプリケーションの負荷を処理するために実行するリソースの数を動的に制御します。

  • SCOM マネージド インスタンス
    SCOM マネージド インスタンスは System Center Operations Manager (SCOM) の機能を提供する Azure のマネージド サービスです。オンプレミス環境で SCOM を利用した監視を行っている場合、その資産(管理パック)を Azure に移行することが可能です。
    SCOM マネージド インスタンスによる監視と Azure Monitor のクラウドネイティブな監視機能は併用できるので、オンプレミスの環境をクラウドリフトする場合、監視ソリューションを SCOM からAzure Monitor のクラウドネイティブな機能へ徐々に移行させることができます。
  • 統合
    Azure Monitor を他の Azure サービスや外部(サードパーティー)のソリューションと統合できます。

    ◆Event Hubs を利用して Azure Monitor データを外部の SEIM や監視ツールにリアルタイムで提供できます。また Azure ストレージにデータをエクスポートして、長期間の安価な保持を行えます。
    ◆多くのサードパーティ製のソリューションが Azure Monitor との統合機能を提供しています。相互運用を容易にするため Elastic、Datadog、Logz.io、Dynatrace など Azure でホスト可能な製品も提供されています。
    ◆Azure Monitor REST API や Azure Logic Apps、Azure Functions を利用して、独自のカスタム ソリューションやワークフローを作成できます。
    ◆アプリケーションの領域では、Azure DevOps・GitHub と統合してソフトウェア開発ライフサイクルに Azure Monitor での監視を組み込むことが可能です。

このように、Azure Monitor は監視データの収集から利用まで含んだ包括的なソリューションとなっています。

Azure 仮想マシンの診断設定

Azure 仮想マシンを Azure Monitor で監視するよう構成してみましょう。
Azure ポータルで作業する場合、一般的な診断設定は仮想マシンの作成時に有効にすることも、仮想マシンの作成後に有効にすることもできます。
監視で収集されるデータは診断用のストレージアカウントに送信・保存されます。

診断設定(仮想マシン作成時)

仮想マシンを作成する際の [監視] タブで [OS のゲスト診断を有効にする] にチェックを入れます。
既存の診断ストレージアカウントがある場合は、診断ストレージアカウントを選択します。無ければ新規作成できます。

診断設定(既存の仮想マシン)

既存の仮想マシンで診断設定が有効になっていない場合は、仮想マシンのブレードのナビゲーションで [診断設定] を選択します。
診断ストレージアカウントを選択して、[ゲストレベルの監視を有効にする] をクリックします。

診断設定の詳細

診断設定が有効になると、仮想マシンのブレードのナビゲーション [診断設定] から診断設定の詳細を確認・変更できます。

Azure 仮想マシンのログ設定

オペレーティングシステムのログを含む詳細なログ収集の設定は仮想マシンの作成後に行います。
収集したログは Log Analytics ワークスペースに送信され、保存されます。

ログ収集の有効化

  1. ログ収集を有効にするには、仮想マシンのブレードのナビゲーションで [ログ] を選択します。
  2. まだログ収集が有効になっていない場合は、[有効] ボタンをクリックします。
  3. [監視の構成] が表示されます。
    ログ収集をはじめて有効にする場合は、データ収集ルールが自動的に新規作成できます。
    既存のデータ収集ルールがある場合は、それを選択できます。
  4. [データ収集ルール] で [新規作成] を選択すると、既存の Log Analytics ワークスペースを指定できます。
  5. [監視の構成] で [構成] をクリックすると、データ収集ルールがデプロイされます。
    デプロイが完了したら、[ログ] を再表示すると以下のようにログのクエリ画面が表示されます。
    ※表示されない場合はブラウザーのページの再読み込み(F5 キー押下)を試してください。
  6. クエリを選択して実行すると、結果が表示されます。

データ収集ルールの編集

既定で作られたデータ収集ルールを編集して、追加のログを収集できます。

  1. Azure Monitor のブレードを開くため、Azure ポータルの検索ボックスに「モニター」と入力し、候補として表示される [モニター] をクリックします。
  2. モニターのブレードが表示されます。
  3. 左側のナビゲーションで [データ収集ルール] を選択します。
    既存のデータ収集ルールが一覧表示されます。
  4. 編集したいデータ収集ルールの名前をクリックします。
    データ収集ルールの画面が表示されますので、左のナビゲーションで [データソース] を選択します。
  5. 収集対象のデータソースが表示されます。[追加] をクリックします。
  6. 追加するソースの種類を選択します。ここではログを収集したい対象の仮想マシンのオペレーティングが Windows なので [Windows イベントログ] を選択します。
  7. 収集するソースの種類に応じて、収集する内容やレベルを設定する画面が表示されます。
    必要に応じた設定を行います。
  8. [データソースの追加] をクリックして、追加を行います。

情報の表示・確認

[モニター] の画面から、収集された情報の確認を行うこともできます。

アラート

左側のナビゲーションで [アラート] を選択すると、仮想マシンで構成されているアラート(警告)の履歴を確認できます。

アラートは一覧だけでなく、タイムラインとして表示することもできます。

メトリック

左側のナビゲーションで [メトリック] を選択すると、仮想マシンのメトリックを確認できます。
ディスクや CPU、ネットワークについてのメトリックをグラフで表示します。

ログ

左側のナビゲーションで [ログ] を選択すると、ログに対するクエリを実行できます。

変更分析

左側のナビゲーションで [ログ] を選択すると、リソースに対する変更操作の履歴が確認できます。

視覚化

Azure Monitor ではさまざまな方法でデータの視覚化が行えますが、最も手軽な方法は Azure Workbooks です。

  1. [モニター] の画面の左側のナビゲーションで [ブック] を選択します。
  2. 視覚化するためのテンプレートが表示されていますので、利用したいものを選択します。
    ここでは [仮想マシン] カテゴリの [主なメトリック] を選択します。
  3. メトリック情報がインフォグラフィックスとして表示されます。
  4. グラフィック内の数字をクリックすると、詳細な情報が表示されます。

    表示されたインフォグラフィックスやグラフは、Azure ダッシュボードにピン留めすることができます。

    必要なインフォグラフィックスやグラフをまとめてダッシュボードを構成します。
    以下は Azure ダッシュボードでの視覚化の例です。

まとめ

Azure Monitor は Azure ですぐに利用を開始できる、強力で包括的な監視ソリューションです。
Azureだけでなく、クラウドやオンプレミスの仮想マシン・物理マシン・アプリケーションなど幅広いデータソースから監視データを収集し、収集したデータを可視化・分析し、その結果に対する対応を行うことができます。
既存の System Center やサードパーティ製の監視ソリューションとの統合や相互運用も容易なので、クラウド移行の際の監視の継続性も確保できます。
また Azure Monitor は保存されるデータ量やアラートの通知の送信に対する従量課金で利用できるので、初期費用がかからず、すぐに使い始めることができます。
監視ソリューションの移行を含めて、オンプレミス環境から Azure への移行につきましては、お気軽に当社担当営業にご相談ください。また Azure に移行したシステムの Azure Monitor での監視に関するご相談も、当社担当営業までご連絡ください。

マルチクラウドの記事