システム監視の必要性を感じ、Azure Monitorの導入を検討しようとしても、サービスの内容がよく分からないという方もいらっしゃるかもしれません。本記事では、Azure Monitorとはどのようなものかを解説し、導入のメリットや料金、設定方法などについて紹介します。また、Azure Monitorに関して、無料で利用できるサービス範囲についても説明します。
Azure Monitorでできる!システム監視の重要性
なぜシステム監視が重要なのでしょうか?それはシステム監視がシステムの安定稼働やトラブルの原因特定、障害回避などの観点から必要不可欠だからです。
システムの安定稼働は、ビジネスを行う上でチャンスを逃さず、損失を出さないために非常に重要です。もし、システムが何らかの原因で稼働しなくなり、自社のWebサイトで展開しているサービスが長時間提供できない状態に陥ると、その間はビジネスが成り立たなくなってしまいます。
システムの安定稼働を実現するには、システムを監視して障害発生の予兆を検知し、障害を回避する必要があります。しかし、残念ながら障害を回避できない場合もあるでしょう。その場合には、できるだけ早くトラブルの原因を特定し、原因を取り除いてシステムを復旧させなければなりません。常にシステムを監視していれば、障害発生時にもトラブルの原因が素早く特定できるでしょう。
Azure Monitorとは?
Azureを利用している場合には、Azure Monitorを使うことでシステム監視ができます。Azure Monitorというのは、Microsoft社がAzure上で提供しているシステム監視を行うマネージドサービスです。
メトリック監視とログ監視
Azure Monitorでは、メトリックとログという2種類のデータを集めて分析します。
ここでいうメトリックとは、決められた時間間隔で自動的に取得されるシステムの状況を反映した数値中心で構成されるデータのことです。例えば、特定時間における仮想マシンのCPU使用率を収集したデータがメトリックです。メトリックは、時系列データベースに格納されており軽量で扱いやすいため、スピードが要求される問題の検出やアラートに向いています。
また、ログとは、特定の時間にシステム内で発生したイベントに関するデータであり、イベントについての詳細なテキストデータを収集できます。Azure Monitorでは、仮想マシンのログに限らずオンプレミス環境下のログも取得可能です。集められたログは、Log Analyticsワークスペースに格納されクエリ言語を用いて分析できます。負荷が大きなシステムで大量に生成するログは、発生した問題の根本的な原因を特定するために欠かせないデータです。
Azure Monitorにできること
Azure Monitorを利用して、アプリケーションの可用性の分析、アプリケーション監視、ログ監視などができます。
アプリケーションの可用性の分析とは、利用者に要求されているアプリケーションが、どの程度の確率で使用できているかを分析することです。実行しているアプリケーションの可用性は、Application Insightsという機能を用いて監視することで、分析用のデータを集められます。
また、Application Insightsを用いたアプリケーション監視を行うと、アプリケーションの可用性を監視するだけでなく、自動的にアプリケーションのパフォーマンス異常も検出してくれます。アプリケーション監視では、アプリケーションの要求率、応答時間、エラー率などを監視し、イベントの追跡が可能です。
ログ監視は、Azureサービスとオンプレミス環境のログを統合的に収集して監視できる機能です。
Azure Monitorのメリット
Azure Monitorの監視機能によりシステムやサービスの稼働率を向上可能です。ここではそのメリットを紹介します。
迅速な異常検知による障害防止ができる
Azure Monitorの利用により、システムやサービスの障害を予知し迅速に対応できるようになります。
システムやサービスに障害が発生する際、通常では記録されないメトリックやログが出力されているケースが数多くあります。
例えば、サーバのハードディスクに障害が発生する場合は、セクターの破損や、論理エラーの発生といったログが、事前に出力されているケースがほとんどです。これらのログを検知し、事前にディスクを交換すれば、突然の障害によりシステムやサービスの停止を回避できるでしょう。
さらに、深夜などの利用しない時間帯に対策を施せば、機会の損失を最小限に抑えることも可能です。
このように、異常検知の機能を有効に活用すれば、障害予防が可能です。
Azureだけでなくオンプレミスも含めた包括的監視ができる
Azure Monitorによるメリットは、監視対象がMicrosoft Azureのサービスだけでなく、オンプレミス環境も監視対象にできる点です。
従来のシステムやサービスは、システム毎にログを収集し、監視する必要がありました。
例えば、営業支援システム(CRM)とグループウェアを導入していた場合、それぞれメトリックやログを取得し、障害の予兆を検知する必要がありました。別々にシステムのログを収集し分析する必要があるため、非常に時間や工数がかかります。
Azureサービスだけでなく、オンプレミス環境も一元管理できるため、包括的監視ができる点がメリットです。
外部ツールとの連携ができる
他の外部ツールと柔軟に連携できる点もメリットになります。
Azure MonitorはAPIを介してさまざまなツールと連携可能です。連携できる代表的なツールは以下の通りです。
- AWS(Amazon Web Services)
- Google Cloud Platform(GCP)
- IBM Cloud
- Oracle Cloud
- Salesforce
その上で、TeamsやSlackといったコミュニケーションツールにより異常検知を発報すれば、リアルタイムで障害対応が可能になるでしょう。
このように、Azure Monitorは他のシステムやサービスを統合管理できるメリットがあります。
Azure Monitorのデメリット
Azure Monitorはシステムを監視し、異常を検知できる優れたツールです。しかし、注意すべき点が2つあります。
- 想定以上のコストがかかる場合がある
ログなどの監視データは従量課金制です。異常により大量のログが発生した場合、想定外のコストがかかる場合があります。そのため、余裕を持った予算管理が必要です。 - 習熟に時間がかかる
Azure Monitorは非常に多くの機能を持っています。そのため、習熟には一定の学習が必要です。初心者にとっては使いこなすまでに時間がかかる可能性があるため、専門家に支援を依頼してもよいでしょう。
Azure Monitorの主な機能
Azure Monitorの主な機能としては、以下の5つがあります。
- Insight(洞察)
- Visualize(可視化)
- Analyze(分析)
- Respond(対応)
- Integrate(統合)
Insight(洞察)
1つ目のInsight(洞察)は、Application Insights、VM Insights、Network Insights、Container insightsなどを利用して、アプリケーション、仮想マシン、ネットワーク、コンテナなどのリソース使用状況やパフォーマンスの状況を監視する機能です。この機能で自動的に収集したメトリックとログについては、Azure Monitor上で詳細を確認できます。
例えば、Webページの読み込み時間が急激に遅くなった事象を、パフォーマンス状況の監視により検知できます。ネットワークの異常、ハードウェアの障害といった原因を特定し、対処が可能です。
Visualize(可視化)
2つ目のVisualize(可視化)は、Azureダッシュボード、カスタムビュー、ブックを利用して、クラウド全体の使用状況を見た目に分かりやすく表示する機能です。Power BIのような分析ツールと連携すれば、分析レポートとダッシュボードを統合することも可能です。
例えば、ネットワークのトラフィック量が増加している場合、その傾向をグラフで確認し、時間ごとの変動を把握できます。これにより想定外の通信が行われていないかを検知可能です。
Analyze(分析)
3つ目のAnalyze(分析)は、取得した情報について分析を行う機能です。メトリックエクスプローラーを用いると、対話的な操作でメトリックを扱えるため、メトリックアラートを作成可能です。
一方、ログについては、Log Analyticsを用いて、ログクエリを作成することで、収集したログデータを対話形式で操作して分析できます。
例えば、特定のエラーコードを持つログデータのみを抽出し、エラーの発生頻度や傾向を把握できます。Analyze機能により、トラブルシューティングの効率を大幅に向上できるでしょう。
Respond(対応)
4つ目のRespond(対応)は、取得したメトリックやログから、警告を発するためのルールをあらかじめ設定しておき、リソースが設定した範囲を逸脱した場合や問題を検出した場合にアラートする機能です。また、Respond(対応)には、アラートを自動で行う機能の他、自動的にリソースを追加したり削除したりすることで、アプリケーションに対する負荷を調整する自動スケールの機能もあります。
例えば、ハードディスクの使用率が閾値を超えた場合、ディスク容量をスケールアウトすればシステムの停止といった障害を回避できます。Respond機能は、問題が大きくなる前に対応できる必要不可欠な仕組みです。
Integrate(統合)
5つ目のIntegrate(統合)は、Azure Event Hubsなどを用いて、Azure Monitorで扱っているデータを取り出し、外部のパートナー製品へルーティングすることで、連携・統合できる機能です。また、統合においてはAzureの統合ソリューションであるLogic Appsのデータを集めたり、APIのエクスポートなどを行ったりします。
例えば、Teamsにアラートを送信し、問題が発生した際に担当者が即座に対応できる体制を整えることが可能です。Integrate機能により、全体の運用効率向上が期待できるでしょう。
Azure Monitorの料金体系
Azure Monitorの料金体系は、使用するデータの種類やボリュームに応じて異なります。メトリックやログの収集、アラート・通知の利用、さらに必要に応じて選べるオプション料金など、柔軟な課金システムが用意されています。料金体系は次の通りです。
メトリックの料金
メトリックの料金は、プラットフォームメトリックとカスタムメトリックで異なります。
プラットフォームメトリック | Azureサービスに含まれる基本的なリソースデータで、例えばCPU使用率やメモリ使用量などが含まれ、Azureの基本料金に含まれているため追加コストはかかりません。 |
カスタムメトリック | ユーザーが独自に設定した項目で、追加の費用が発生します。 例えば、特定のアプリケーションのパフォーマンスを監視するカスタムメトリックは、毎月一定のデータ量に対して課金され、超過分も追加料金が発生します。 カスタムメトリックの利用により、より詳細な監視が可能になる一方で、データ量に応じた費用の増加も考慮が必要です。 |
詳細は、Microsoft公式ページの「メトリック」タブを参照してください。
Azure Monitor の価格
ログの料金
ログの料金は、データの収集量や保持期間に応じて異なります。プランはインジェスト料金と保存料金の2種類です。
インジェスト料金 | 収集したログのデータ量にもとづいて課金されるため、収集データが多いほどコストがかかります。 |
保有延長料金 | 収集したデータを一定期間保存するための費用で、31日間の保持が無料です。それ以上の長期間保存は追加料金が発生します。 例えば、監査ログやエラーログなどを長期間保持する企業では、この追加料金がコストの増加につながるでしょう。ただし、保存期間の延長により、長期的なデータ分析やトレンド分析が可能になるというメリットもあります。 |
詳細は、Microsoft公式ページの「ログ」タブを参照してください。
Azure Monitor の価格
アラート・通知の料金
アラート料金は、特定の条件が満たされたときに通知を送信する際のコストで、アラートルールの数や評価頻度にもとづいて課金されます。複数のアラート条件を設定する企業では、アラートの管理と費用のバランスを考慮しながら利用することが重要です。
アラートの種類と内容は以下の通りです。
メトリック アラート | メトリックの監視頻度にもとづいて、時系列ごとに課金されます。 |
ログ アラート | ログ検索クエリの頻度と実行間隔によって課金されます。 大規模なログ監視が発生した場合は、ログクエリの評価頻度ごとに追加料金が発生します。 |
詳細は、Microsoft公式ページの「アラート」タブを参照してください。
Azure Monitor の価格
その他の料金
Azure Monitorでは、これら以外にもオプションの料金体系が存在します。
例えば、異常を検知した際に電話やSMSで通知する場合です。
いずれの場合も、件数やデータ量に応じた課金が行われるため、コストを考慮したオプションの選定が求められます。
詳細は、Microsoft公式ページを参照してください。
Azure Monitor の価格
Azure Monitorの使い方・設定方法
Azure Monitorを適切に利用するためには、基本的な設定や監視の設定を行う必要があります。ここでは、リソースの監視設定、収集データの確認、ログ設定の各ステップについて解説します。
リソースの監視設定
例として仮想マシンのリソースの監視設定を行うために、仮想マシンの設定変更が必要です。
具体的には、仮想マシンを作成した場合は、「監視」タブの「OS のゲスト診断を有効にする」にチェックを入れます。
既存の仮想マシンの場合は、「診断結果」で診断ストレージアカウントを選択し、「ゲストレベルの監視を有効にする」を選択することが必要です。
これらを有効にすると、診断内容の設定が可能になります。
収集データ確認
Azure Monitorでは、収集したデータをもとに以下の分析が可能です。
- アラート
アラートは文字通り警告です。CPUの使用率やディスクの使用率などが閾値を超えた場合に発生するアラートを確認できます。アラート確認により、ハードウェア障害といった不具合を未然に防止可能です。 - メトリック
CPUの使用率やディスクの使用率などのメトリックを確認できます。これによりリソースが正常に稼働しているか、異常なパターンが発生していないかを確認可能です。 - ログ
ログに対するクエリを実行できます。例えば、リソースの使用量を集計したり、メモリ使用率のパフォーマンスデータを分析可能です。これにより、ボトルネックとなる資源や時期を特定し、改善できるようになります。 - 変更分析
変更分析では、リソースの変更履歴が確認可能です。これにより、突然のパフォーマンス低下やエラーが発生した際、直近で行われた変更が原因となっているかどうかを分析できます。
ログ設定
Azure Monitorのログ設定では、「Log Analytics」ワークスペースを作成して、ログ収集先として設定します。その後、どのデータを収集するか、エラーや警告をどこまで収集するかを設定します。
例えば、セキュリティのイベントを監視したい場合、イベントログに含まれる特定のキーワードを条件にして、リアルタイムでアラートを設定することが可能です。これにより、意図しないアクセスや異常動作があった際に、即座に対応できる体制を構築できます。
不要なログ収集を設定した場合、不要なコストがかかる恐れがあります。ログの収集ルールは十分に精査した上で設定しましょう。
まとめ
Azure Monitorは、Azure上でシステム監視を行うMicrosoft社のマネージドサービスです。
Azure MonitorはAzureサービスのみならず、オンプレミス環境や別のクラウドサービスまでも一元管理できます。
システムを安定稼働させるためには、日ごろの監視による定量データの取得と、警告やエラーの素早い検知、障害箇所の速やかな特定が欠かせません。
Azure Monitorを利用して、社内のさまざまなシステムを一元管理し、障害に強い環境をつくり上げることが可能です。
システムの安定稼働にはシステム監視が必要不可欠になります。基本的な機能が無料で利用できるAzure Monitorの導入がおすすめです。