「Azure」における「PaaS系」を監視する方法

1.はじめに

Azureのみならず、どのようなアプリケーションシステム、利用中のサービスが正常に稼働しているのかを知るために、毎度のように管理ポータルを立ち上げるこの一連の動作が大変な時があります。
今回はAzureで稼働中のアプリケーションやサービスを一括監視できるツール「Azure Monitor」の概要に触れながら「PaaS」系の監視についてご紹介していきます。

2.「Azure Monitor」で監視

1.Azure Monitor

「Azure Monitor」は複数のツールで構成されており、クラウド上で稼働している仮想マシンやアプリケーションなどと、オンプレミスの利用に関わる統計情報を収集して、万が一の障害発生に備え支援する監視ツールになります。
監視はクラウド利用状況全体を把握することが可能としています。これにより、監視対象から収集した情報を分析していきます。分析の結果は「Log Analytics」にある「ダッシュボード」、もしくは「Monitorブック」のいずれかから情報を得ることができます。
「ダッシュボード」は、ログクエリの可視化を行うだけでなく、組織内で情報を共有できるように、内部のITデータとの関連付けを行って検索できるようにします。
「Monitor ブック」は、対話型レポートの作成を可能としています。このレポートは、組織で運用しており、同一のリソースを共有しているメンバーに限り、そのレポートを編集することができます。

2.監視対象のデータリソース

監視対象となる「データリソース」は「IaaS系」や「PaaS系」と呼ばれるクラウドサービスの形式を監視することができます。
「IaaS系」は主に、「仮想マシンのメモリやディスク容量など」と「オペレーティングシステム」などの「インフラストラクチャー」は「Azure Monitor for VMs」を用いてデータの検出を実行します。
一方の「PaaS系」は主に「アプリケーション」「サブスクリプション」「テナント」など、アプリを稼働させるためのプラットフォームを「Azure Application Insights」「Azure Monitor for Containers」の2つを用いてアプリケーションのデータを検出していきます。

3.PaaSの監視

1.「PaaS」の概要

上段でも軽く「PaaS」について記述しましたが、改め詳しく説明します。
「PaaS」とは、クラウドサービスを司る3つある形態のうちの1つに分類し「Platform as a Service」の頭文字をとって「PaaS(パース)」と呼びます。
「PaaS」は主にアプリケーションソフトを稼働させるために必要なハードウェアやオペレーティングシステムなどのプラットフォームをインターネット上で提供しています。
「PaaS」を使用していく利点は主に2つ存在します。1つは「初期投資」や「ランニングコスト」の削減です。そしてもう1つが「スピーディなシステム開発」が行えることです。
逆に不利点としてはストレージやCPUなどをユーザーサイドでは選べないといった「自由度の低さ、狭さ」と、改善はされつつあるも不安が残る「セキュリティ」の2点です。

2.PaaSを監視していくには

アプリケーションを稼働させるためのプラットフォームである「PaaS」の監視に適している「Azure Monitor」の機能として「Application Insights」というものがあります。
「Azure Application Insights」とは、ホスト先がクラウドもしくはオンプレミスのいずれかを問うことなく、Webアプリケーションのパフォーマンス、使用状況を監視する機能になります。
「.Net」や「Node.js」などの多様なプラットフォームで機能しているだけでなく、「DevOpsプロセス」をサポートしている「Visual Studio」との統合、さらにあらゆる開発ツールとの接続ポイントを有しています。
「Azure Application Insights」機能を使う利点は「ホスト先を問わない」だけではありません。稼働中のアプリに異常があった場合、「自動的に異常を検出して、分析したのちに問題解決をしてくれる」点です。この異常検知は、アプリケーションに「インストルメンテーション」という、「ソフトアェアの状態に関するデータ報告を行ってくれる機構」をインストールすることによって、テレメトリデータを収集する仕組みとなっています。これにより、Webページ中に組まれたJavaScriptの監視やバックグラウンドの監視が可能となります。
また収集したデータは、スマート検出から手動アラートといったシンプルな方法のほかに、アプリケーションマップ、メトリックスエクスプローラーなどの表示方法があります。これらの表示方法と合わせて、ダッシュボードより、複数のデータを組み合わせて表示することも可能として、それを組織内で共有することができます。

そのほか、「Azure Monitor for Containers」という、コンテナー化したアプリケーションのデプロイと管理を行う「Azure Kubernetes Service(ASK)」の管理機能も「PaaS系」の監視を行うことができます。
特にコンテナーを監視していく場合に複数のアプリケーションを含めた、大規模な運用クラスターを実行する必要性があります。「Kubernetes」は、使用可能とするコントローラーやノード、コンテナーからMetrics API経由でメモリやプロセッサメトリックからログを収集して、パフォーマンスの把握を行うことができます。
収集されたメトリックやログは、Linux向けにコンテナー化された「Log Analyticsエージェント」を使用することで自動的に収集されます。メトリックは「メトリックストア」へ、ログデータは関連付けられた「ログストア」へと、それぞれの保存先に書き込まれます。

4.まとめ

クラウド上に「PaaS」を導入する際はメリットとデメリットが、作業にどのような影響を及ぼすのかを事前に理解したうえで検討をしましょう。また、導入後の「PaaS」の稼働の監視は、「Azure Monitor」の機能の1つである「Application Insights」を利用アプリに設定することで、パフォーマンスに関するログデータを収集してくれるだけでなく、それを可視化、組織内で情報の共有も容易にできます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です