このエントリはQiita Advent Calendar 2017 Microsoft Azureサービスいちから紹介 の22日目です。
ナレッジコミュニケーションの大柳です(@oyngtmhr)。
22日目はAzure Monitorです。メトリックと呼ばれる様々なシステムの数値やログを監視して、通知やアクションが可能です。
概要
Azure Monitorではシステムから発生する様々なメトリクスを収集するとともに、収集したデータの分析や、アラート検知、自動アクションなどを可能にして、システムの稼働監視と、可用性向上に役立ちます。
機能
・ダッシュボード
基本情報、重要なアラートがサマリとして表示されます。
アラート件数:メトリックアラートとアクティビティログアラートの発生件数を確認できます。
アクティビティログエラー:Azureリソースで発生したエラーイベントの件数が確認できます。
Azure Service Health:計画的なメンテナンス イベントなどのサマリ情報が確認できます。
Application Insights:アプリケーションの要求率、応答時間、エラー率、可用性などのKPIを確認できます。
・メトリック
メトリックとしてCPU使用率、正常ホストの数などを取得できます。
すべてのメトリックは1分間隔で取得され、30日間保存されます。ストレージの保存期間を変更することで長期間保存することも可能です。また、メトリックが閾値を超えた場合に、アラートメールを送信したり、事前に設定したアクションを起動することも可能です。
利用できるメトリックは以下で確認できます。
https://docs.microsoft.com/ja-jp/azure/monitoring-and-diagnostics/monitoring-supported-metrics
・自動スケール
メトリクスが条件を満たすと、仮想マシンを追加または削除したりして、リソース量を自動的に調整することができます。
・アラート
アラートはメトリックアラートとアクティビティログアラートが利用できます。
メトリックアラートは、指定したメトリックの値が、割り当てたしきい値を超えた時と戻った時にトリガーされます。
アクティビティログアラートは、フィルター条件と一致するログイベントが生成されたときにトリガーされます。
・通知
メトリックアラートは、メール通知とwebhookにより通知が可能です。
アクティビティ・ログ・アラートでは、アクショングループが利用可能です。
アクショングループでは、電子メールアドレスやSMS番号、webhook URLが利用可能で、さらにグループ化して管理することができます。
・Azureのその他の監視ツール
Azure Monitorの他の監視ツールとして、Application Insights、Log Analyticsがあります。
Application Insightsではアプリケーションのパフォーマンスの監視とユーザー分析ができます。Application Insights SDKをアプリケーションに組み込んで、応答時間、例外のトレース、デバッグのスナップショット、実行プロファイルなどのデータにアクセスできます。
Log Analytics(旧称はOMS Log Analytics)では、ログデータとメトリックデータを取り込んで、ログ検索や分析ができます。
その他
・プレビューのほぼリアルタイムのメトリックアラート(Near-Real-Time Metric alerts)では、メトリック値の変化を1分間隔で監視でき、詳細なアラートルール設定や複数のメトリックを組み合わせたトリガーも設定できる。
料金
・1440個の監視データが1標準API呼び出しとしてカウントされます。1分おきに1日監視すると1440個(60分×24時間)の監視データが取得され、1標準API呼び出しとなります。
・1000標準API呼び出しごとに課金されます。
・SMS、メール通知、プッシュ通知、webhookは通知回数に応じて課金されます。
まとめ
標準で1分間隔でメトリクスが収集されるので、ほぼリアルタイムな監視が実現できます。通知系はアクショングループの標準対応化を今後期待したいです。