「Azure Monitor」は、Azure上のリソースを監視するサービスだ。Azure仮想マシン、Blob Storage、Load Balancerなど様々なAzureインフラリソースから、CPU使用率やメモリー使用量のような性能関連情報、リソースの操作履歴、起動や停止といったイベントの履歴を取得し可視化する。しきい値を設定して、アラートを通知したり、仮想マシンの再起動のようなアクションを実行したりすることもできる。
2016年9月からパブリックプレビューが行われているものの、一般提供(GA)には至っていない。
Azureにおける監視サービスは、Azure Monitorが中核になる。ただし機能が限られており、他のサービスを組み合わせて使う(図1)。
データソースとなる監視対象は、Azure Monitor単体ではインフラリソースに限られる。アプリケーション監視サービス「Application Insights」を併用することで、アプリケーションも対象にできる。Azure上で稼働させるアプリケーションにApplication Insightsのエージェントを導入して、性能やエラーなどの情報を収集する。
収集したデータの利用については、他のサービスの機能も活用することで、グラフ表示などの可視化、ストレージに蓄積するアーカイブ、クエリー(検索)、Azureのサービスや外部サービスへの出力というルーティング、アラート通知やオートスケールの実行といったアクションが可能だ(図2)。
他のサービスは、Azure Monitorの画面から呼び出す(図3)。
例えば、前出のApplication Insightsは、アプリケーションのデータ可視化にも使う。Azure Monitorの画面からApplication Insightsを呼び出すと、受信リクエスト件数やリクエスト実行の失敗件数などの推移をグラフ化できる。
さらに、Azureポータルのメトリック機能を呼び出すことで、CPU使用率やディスク読み込み/書き込み性能などインフラリソースの数値データをグラフ表示できる。
「Azure Log Analytics」というログ分析サービスも、Azure Monitorの画面から容易に呼び出せる。Log Analyticsは運用管理SaaS(Software as a Service)である「Microsoft Operations Management Suite(OMS)」の一機能。独自の画面を備えており、クエリーを使ったログ分析が可能である。