Azureのサービスが正常に動作しているかどうか、いちいちポータル画面を開いてチェックするのは大変ですよね? Azureの監視機能を使えば、エラーの発生などを自動通知させることができます。
クラウドサービスを利用していると、正常に動作しているかどうか不安になることがあります。もちろん、オンプレミスのサーバであっても、正常に動いているかどうか常に監視する必要はあるのですが、手元にサーバ本体がないだけに気になるところです。Azure上に構築した環境の監視はいったいどうなっているのでしょうか。今回はAzureサービスの管理/監視機能について見ていきます。
Azure上に作成した仮想マシンやWeb Appsのサービスが正常に動作しているかどうかをチェックしたいことがあります。
せっかく作ったWebサイトやサービスが、過負荷や障害、設定ミスなどでアクセスできなくなった場合(仮想マシンやWebサーバが応答しなくなった場合)、それを速やかに検出できないと、ユーザーに迷惑が掛かりますし、場合によっては大きな機会損失になるでしょう。また迅速なトラブル対応(スケールアップやスケールアウト、不具合修正など)もできません。
そこで役に立つのがAzureの監視機能です。これを使うと、エラーや過負荷状態の発生などを検出して、例えば管理者にメールを送信したり、仮想マシンを再起動したりといった操作が可能になります。
Azureで利用可能な監視関連の機能としては、次のようなものがあります。これを組み合わせて、Azure上の仮想マシンやWeb Appsなどの動作状態を監視します。
機能 | 概要 |
---|---|
監視ツール | 監視ツールやイベント、ログなどの結果を統合管理するためのサービス |
メトリック | CPUやメモリ、ネットワークトラフィック、ストレージの利用サイズ、エラーの数、各リソースカウンターの値など、計数可能な値を提供する機能 |
アラート | メトリックやアクティビティログ、診断ログなどを条件として、指定されたアクションを起動する機能 |
自動スケール/Runbookなど | あるアラートが発生した場合に、仮想マシンをスケールアップ/スケールアウトしたり、特定の処理(仮想マシンの再起動など)を実行したりする |
アクティビティログ | Azureのインフラストラクチャが提供するログ機能 |
診断ログ | Azure上の仮想マシンやWeb Appsなどが提供するログ機能 |
Azure診断 | Azure VM上のアプリやOSが持つ各種診断機能(パフォーマンスカウンタやログなど)を監視対象とする機能 |
Azureで利用可能な監視関連の機能 |
今回は監視機能のうち、「アラート」機能を使ってみます。
アラートとは、メトリック(トラフィックやエラー数などの“計測値”)の値などを利用してあらかじめ条件を設定しておくと、それに合致する状態が発生した場合に、例えばメールを送信したり、Runbookと呼ばれる自動処理を起動したりする機能です。システムが正常に稼働しているか、何か障害が発生していないかを、管理者が把握するための機能です。
前述の通り、Azureの監視機能にはさまざまなものが用意されていますが、アラートを使ってタイムリーな異常検出をするのは、監視の基本といってよいでしょう。
Azureのアラート機能は次のような構成になっています。
アラートなどの条件として利用できる監視対象としては、次のようなものがあります(主要なもののみ)。
項目 | 対象 |
---|---|
リソースメトリック関連 | ・CPU使用率 ・ネットワークトラフィック量 ・ディスク入出力量 ・ディスクI/O回数 ・CPU課金金額(利用料/残金) |
HTTPサーバ関連 | ・ワーキングセットサイズ ・応答時間 ・トラフィック量 ・HTTP 1xx/2xx/3xx/4xx/5xxなどのエラー数 ・HTTP要求数 |
ログ関連 | ・特定の診断ログイベントの発生。ログの種類やレベル、ステータスでフィルタ可能 ・特定のアクティビティログイベントの発生。ログの種類やレベル、ステータスでフィルタ可能 |
Azure診断 | ・仮想マシン上のWindows OSやLinuxなどに含まれている固有の情報(パフォーマンスカウンタ、イベントログ、IISログ、アプリケーションログなどを取得可能) |
アラートの主な監視対象 |
他にも多数の対象を条件にできますが、詳細は以下のサイトを参照してください。
アラートのルールに合致した場合に実行可能なアクションとしては次のようなものがあります(主要なもののみ)。
今回は、適用範囲の広いメール送信の方法について具体的に見ていきましょう。
Azureのアラートでは、メール送信やSMS送信以外にも、Webhookで他のWeb APIを呼び出したり、Runbookでスクリプトを自動実行したりできます。必要な情報が、必要なタイミングで、必要なメンバーに届くように、アクションを組み合わせて利用するなどするとよいでしょう。
Copyright© Digital Advantage Corp. All Rights Reserved.