Azure のアプリケーションおよびリソースの監視Monitoring Azure applications and resources

監視とは、ビジネス アプリケーションやそのアプリが使用するリソースのパフォーマンス、正常性、可用性を見極めるために、データを収集し、分析することを指します。Monitoring is the act of collecting and analyzing data to determine the performance, health, and availability of your business application and the resources it depends on. 効果的な監視戦略を策定すれば、アプリケーションの各種コンポーネントの動作状況を詳細に把握できるだけでなく、問題が顕在化する前に対処できるよう、重大な問題を事前に通知させることでアップタイムを向上できます。An effective monitoring strategy will help you understand the detailed operation of the different components of your application and to increase your uptime by proactively notifying you of critical issues so that you can resolve them before they become problems.

Azure には、監視領域における特定のロールやタスクを個別に実行するサービスが豊富に用意されています。また、それらが組み合わされた包括的なソリューションを使用すれば、アプリケーションやそれを下支えする Azure リソースからテレメトリを収集、分析し、それに基づいて対処できます。Azure includes multiple services that individually perform a specific role or task in the monitoring space and together deliver a comprehensive solution for collecting, analyzing and acting on telemetry from your application and the underlying Azure resources supporting them. また、オンプレミスの重要なリソースを監視して、ハイブリッド監視環境を構築することもできます。They can also work to monitor critical on-premises resources in order to provide a hybrid monitoring environment. アプリケーションの包括的な監視戦略を策定するための最初のステップは、利用可能なツールとデータの把握です。Understanding the tools and data that are available is the first step in developing a complete monitoring strategy for your application.

次の図は、各種コンポーネントが連携して Azure リソースの監視機能を提供する概念図を示しています。The following diagram shows a conceptual view of the different components that work together to provide monitoring of Azure resources. 以降のセクションで、それぞれを解説し、詳細な技術情報へのリンクを紹介します。Each of these is described in the following sections with links to detailed technical information.

監視の概要

Basic 監視機能Basic Monitoring

ベーシックな監視機能は、Azure リソースの監視に必要な基本機能です。Basic monitoring provides fundamental required monitoring across Azure resources. これに含まれるサービスは、構成が最小限で済み、高度な監視サービスで使用されるコア テレメトリを収集します。These services require minimal configuration and collect core telemetry that's leveraged by the premium monitoring services.

Azure MonitorAzure Monitor

Azure Monitor は、Azure サービスのベーシックな監視用に、メトリックアクティビティ ログ診断ログを収集します。Azure Monitor enables basic monitoring for Azure service by allowing collection of Metrics, Activity Logs, and Diagnostic logs. たとえば、アクティビティ ログでは、新しいリソースが作成または変更されたときに通知するよう設定できます。For example, the Activity log will tell you when new resources are created or modified. メトリックでは、各種リソースはもちろんのこと、仮想マシン内のオペレーティング システムについても、パフォーマンス統計情報を収集できます。Metrics are available that provide performance statistics for different resources and even the operating system inside of a virtual machine. これらのデータは Azure Portal のエクスプローラーを使って表示でき、Log Analytics に送信してトレンド把握や詳細な分析に使用したり、重大な問題を事前に通知するためのアラート ルールを作成したりすることもできます。You can view this data with one of the explorers in the Azure portal, send it to Log Analytics for trending and detailed analysis, or create alert rules to proactively notify you of critical issues.

サービス正常性Service Health

アプリケーションの正常性は、それが使用している Azure サービスの影響を受けます。The health of your application relies on the Azure services that it depends on. Azure Service Health は、アプリケーションに影響を与える可能性のある Azure サービスに問題が発生すると、それを特定します。この情報を活用して、保守スケジュールを計画できます。Azure Service Health identifies any issues with Azure services that might impact your application and also helps you plan for any schedule maintenance.

Azure AdvisorAzure Advisor

Azure Advisor は、リソースの構成と使用状況に関するテレメトリを常時監視し、ベスト プラクティスに基づいてユーザーの環境に合わせた推奨事項を提示します。Azure Advisor constantly monitors your resource configuration and usage telemetry to provide you personalized recommendations based on best practices. この推奨事項に従って、アプリケーションをサポートするリソースのパフォーマンス、セキュリティ、可用性の向上を図ることができます。Following these recommendations help you improve the performance, security, and availability of the resources supporting your applications.

高度な監視サービスPremium monitoring services

以下の Azure サービスでは、監視データの収集と分析に関する高度な機能が提供されます。The following Azure services provide rich capabilities for collecting and analyzing monitoring data. これらのサービスはベーシックな監視機能を基盤として Azure の共通機能を活用します。収集されたデータについて強力な分析を行い、アプリケーションやインフラストラクチャに関する他では得られない洞察を提供します。They build on basic monitoring and leverage common functionality in Azure and provide powerful analytics with collected data to give you unique insights to your applications and infrastructure. さまざまなユーザーを対象とした各種シナリオにおいても、状況に応じたデータを提供します。They present data within the context of particular scenarios targeted to different audiences.

アプリケーション インサイトApplication Insights

Application Insights では、クラウドにホストされているかオンプレミスかにかかわらず、アプリケーションの可用性、パフォーマンス、使用状況を監視できます。Application Insights allows you to monitor availability, performance, and usage of your application whether it's hosted in the cloud or on-premises. Application Insights と連携するようにアプリケーションを構成すると、詳細な洞察を取得して、ユーザーからの報告を待たずに、エラーを速やかに特定して診断できます。By instrumenting your application to work with Application Insights, you can achieve deep insights allowing you to quickly identify and diagnose errors without waiting for a user to report them. 収集した情報を活用すれば、アプリケーションのメンテナンスや機能強化に関する選択を十分な情報に基づいて判断することができます。With the information that you collect, you can make informed choices on your application's maintenance and improvements. Application Insights では、収集されたデータを操作するための豊富なツールが用意されているだけでなく、データを共通リポジトリに格納しておき、Log Analytics クエリ言語を使用して、アラート、ダッシュボード、詳細分析などの共有機能を活用することもできます。In addition to the extensive tools for interacting with the data it collects, Application Insights stores its data in a common repository to leverage shared functionality such as alerts, dashboards, and deep analysis with the Log Analytics query language.

Log AnalyticsLog Analytics

Log Analytics は、Azure の監視の中心的役割を果たすサービスで、さまざまなリソースから収集したデータを単一のリポジトリに格納し、強力なクエリ言語を使用してデータを分析することができます。Log Analytics plays a central role in Azure monitoring by collecting data from a variety of resources into a single repository where it can be analyzed with a powerful query language. Application Insights と Azure Security Center では、Log Analytics データ ストアにデータを格納し、Log Analytics の分析エンジンを活用しています。Application Insights and Azure Security Center store their data in the Log Analytics data store and leverage its analytics engine. これらのデータと、Azure Monitor、管理ソリューション、クラウドやオンプレミスの仮想マシンにインストールされたエージェントによって収集されたデータを組み合わせることで、環境の全体像を詳細に把握することができます。This combined with data collected from Azure Monitor, management solutions, and agents installed on virtual machines in the cloud or on-premises allow you to form a complete picture of your entire environment.

サービス マップService Map

Service Map は、他のコンピューターの各種プロセスや依存関係、外部プロセスを使用して仮想マシンを分析し、IaaS 環境に関する洞察を提供します。Service Map provides insight into your IaaS environment by analyzing virtual machines with their different processes and dependencies on other computers and external processes. Log Analytics 内のイベント、パフォーマンス データ、管理ソリューションが Service Map で統合されるため、データを各コンピューターのコンテキストや環境内の他の要素との関係の中で把握することができます。It integrates events, performance data, and management solutions in Log Analytics so that you can view this data in the context of each computer and its relation to the rest of your environment. Service Map は Application Insights のアプリケーション マップに似ていますが、Service Map ではアプリケーションをサポートしているインフラストラクチャ コンポーネントに焦点が当てられています。Service Map is similar to the application map in Application Insights but focuses on the infrastructure components supporting your applications.

Network WatcherNetwork Watcher

Network Watcher は、Azure の各種ネットワーク シナリオに応じた監視と診断の機能を提供します。Network Watcher provides scenario-based monitoring and diagnostics for different network scenarios in Azure. 将来の分析に使用できるように Azure のメトリックおよび診断データを格納し、Log Analytics の管理ソリューションと連携して、ネットワーク リソースの包括的な監視を行います。It stores data in Azure metrics and diagnostics for further analysis and works with management solutions in Log Analytics for complete monitoring of your network resources.

管理ソリューションManagement solutions

管理ソリューションは、特定のアプリケーションまたはサービスに関する洞察を提供するロジックを 1 つにまとめたものです。Management solutions are packaged sets of logic that provide insights for a particular application or service. 管理ソリューションは Log Analytics を使用して、収集した監視データの格納と分析を行います。They rely on Log Analytics to store and analyze the monitoring data they collect. Azure とサード パーティの各種サービスを監視するさまざまな管理ソリューションが Microsoft とサード パーティから提供されています。Management solutions are available from Microsoft and partners that provide monitoring for various Azure and third party services. 監視ソリューションの例には、コンテナー ホストの把握と管理に役立つコンテナー監視ソリューションや、Azure SQL Database のパフォーマンス メトリックの収集と可視化を行う Azure SQL Analytics などがあります。Example of monitoring solutions include Container Monitoring which helps you view and manage your container hosts and Azure SQL Analytics which collects and visualizes performance metrics for SQL Azure databases.

共有機能Shared functionality

以下の Azure ツールは、高度な監視サービスに重要な機能を提供します。The following Azure tools provide critical functionality to the premium monitoring services. これらの機能はさまざまなサービスで共有されているため、ユーザーは各種サービスで共通の機能や構成を利用することができます。They are shared by multiple services allowing you to leverage common functionality and configurations across multiple services.

アラートAlerts

Azure アラートは、重大な状態を事前に通知し、可能であれば修正のためのアクションを実行します。Azure Alerts proactively notify you of critical conditions and potentially take corrective action. アラートのルールには、メトリックやログなど各種ソースのデータを使用できます。Alert rules can leverage data from multiple sources including metrics and logs. また、アラートごとに通知の受信者とアクションをセットにしたアクション グループも設定できます。They use Action Groups which contain unique sets of recipients and actions in response to an alert. 環境の要件に応じて、アラートで webhook を使用して外部アクションを起動したり、ITSM ツールと連携したりすることもできます。Based on your requirements, you can have alerts launch external actions using webhooks and integrate with your ITSM tools.

ダッシュボードDashboards

Azure ダッシュボードを使用すると、さまざまな種類のデータを組み合わせて Azure Portal 内の 1 つのウィンドウに表示し、他の Azure ユーザーと共有することができます。Azure Dashboards allow you to combine different kinds of data into a single pane in the Azure portal and share with other Azure users. たとえば、メトリックのグラフ、アクティビティ ログの表、Application Insights の使用状況グラフ、Log Analytics のログ検索の結果を組み合わせて 1 つのダッシュボードを作成できます。For example, you could create a dashboard that combines tiles showing a graph of metrics, a table of activity logs, a usage chart from Application Insights, and the output of a log search in Log Analytics.

また、Log Analytics データを Power BI にエクスポートして、視覚化の向上を図ったり、社内外のユーザーがデータを利用できるようにしたりできます。You can also export Log Analytics data to Power BI to take advantage of additional visualizations and also to make the data available to others within and outside of your organization.

メトリックス エクスプローラーMetrics Explorer

メトリックは、Azure リソースによって生成される数値で、これを基にしてリソースの動作状況やパフォーマンスを把握できます。Metrics are numerical values generated by Azure resources that help you understand the operation and performance of the resource. また、メトリックを Log Analytics に送信して、他のソースから収集されたデータと合わせて分析できます。You can send metrics to Log Analytics for analysis with data from other sources.

アクティビティ ログActivity Logs

アクティビティ ログは、Azure リソースの動作状況に関するデータを提供します。Activity Logs provide data about the operation of Azure resources. 具体的には、リソース構成の変更、サービス正常性インシデント、リソースの有効活用に関する推奨事項、自動スケール操作に関する情報などがあります。This includes such information as configuration changes to the resource, service health incidents, recommendations on better utilizing the resource, and information related to autoscale operations. 特定のリソースのログは Azure Portal のそのリソースのページで確認できます。また、アクティビティ ログ エクスプローラーでは、複数のリソースのログを表示できます。You can view logs for a particular resource on its page in the Azure portal or view logs from multiple resources in Activity Log Explorer. アクティビティ ログを Log Analytics に送信すれば、管理ソリューションや仮想マシン上のエージェントなど他のソースで収集されたデータを使って分析できます。You can also send Activity logs to Log Analytics so they can be analyzed with data collected by management solutions, agents on virtual machines, and other sources.

シナリオ例Example scenarios

以降では、さまざまなシナリオで Azure の各種監視ツールを活用する方法を概要的な例を挙げて紹介します。Following are high level examples that illustrate how you would leverage different monitoring tools in Azure for different scenarios.

Web アプリケーションの監視Monitoring a web application

Azure にデプロイされ、App Services、Azure Storage、SQL データベースを使用する Web アプリケーションがあるとします。Consider a web application deployed in Azure using App Services, Azure Storage, and a SQL database. このアプリケーションを監視するには、まず、使用するリソースごとに Azure Portal の各リソースのページでメトリックアクティビティ ログにアクセスします。You could start by accessing metrics and activity logs for each of these individual resources on their pages in Azure portal. ここで、アプリケーションの要求数や平均応答時間などの重要情報を確認したり、構成の変更を特定したりできます。This would include critical information such as the number of requests to the application and average response time in addition to identifying any configuration changes.

Azure Portal で Azure Monitor にアクセスすると、各種リソースのメトリックとログをまとめて確認できます。You could then go to Monitor in the portal in order to view metrics and logs for the different resources together. メトリックの標準パラメーターを確認したら、平均応答時間がしきい値を超えた場合などに事前通知するアラート ルールを作成します。As you determine standard parameters for the metrics, you create alert rules to proactively notify you when, for example, average response time increases beyond a threshold. アプリケーションの日々のパフォーマンスをすばやく把握するには、重要な KPI を示すメトリックのグラフが表示される Azure ダッシュボードを作成します。In order to get a quick view of your application's daily performance, you create an Azure dashboard to show graphs of metrics representing critical KPIs.

アプリケーションの詳細な監視を行うには、Application Insights と連携するようアプリケーションを構成します。To perform deeper monitoring of your application, you configure it for Application Insights. アプリケーションの動作状況やパフォーマンスに関する詳しい洞察を提供する追加データを収集できるようになります。You can now collect additional data providing further insight into the operation and performance of your application. Application Insights では、アプリケーションの基盤となるコンポーネント間の関係を検出し、アプリケーション マップエンドツーエンドのトレースを組み合わせて視覚的に表示します。これを基に、コンポーネント、依存関係、問題発生時の例外を正確に診断できます。Application Insights detects the underlying relationships between your app’s components allowing for visual representation via the Application Map coupled with end-to-end tracing to diagnose the exact component, dependency, or exception where a problem has occurred. また、可用性テストを作成して、複数のリージョンからアプリケーションを事前にテストします。You create Availability tests to proactively test your application from different regions. 開発者をサポートするために、Profiler を有効にします。これで、要求や例外を特定のコード業まで絞り込むことができます。To help your developers, you enable the Profiler so you can track requests and any exceptions down to a specific line of code.

アプリケーションで使用されているサービスを詳細に把握するには、Log Analytics に追加データを収集する SQL Analytics ソリューションを追加します。In order to gain further visibility into services used in your application, you add the SQL Analytics solution to collect additional data into Log Analytics. しばらく運用した後で、サイトのパフォーマンスがしきい値以下に低下した期間について根本原因を調査することにしたとします。After some time, you decide to investigate the root cause for time periods when performance on the site has fallen below threshold. その場合は、Log Analytics を使用してクエリを作成し、Application Insights で収集された使用状況およびパフォーマンスに関するデータと、アプリケーションをサポートしている Azure Portal リソースの構成およびパフォーマンスに関するデータを関連付けます。You write a query using Log Analytics to correlate the usage and performance data collected by Application Insights with configuration and performance data across the Azure resources supporting your application.

仮想マシンの監視Monitoring virtual machines

Azure で Windows 仮想マシンと Linux 仮想マシンが混在して実行されているとします。You have a mix of Windows and Linux virtual machines running in the Azure. Azure Monitor を使用してアクティビティ ログホスト レベル メトリックを確認し、Microsoft Azure 診断の拡張機能を仮想マシンに追加して、ゲスト オペレーティング システムからメトリックを収集します。You use Azure Monitor to view activity logs and host level metrics and then add the Azure Diagnostics extension to the virtual machines in order to collect metrics from the guest operating system. 次に、プロセッサ使用率やメモリなどの基本メトリックがしきい値を超えたときに事前通知するためのアラート ルールを作成します。You then create alert rules to proactively notify you when basic metrics such processor utilization and memory cross thresholds.

ビジネス アプリケーションを実行している仮想マシンの詳細情報を収集するには、各マシンで Log Analytics ワークスペースを作成し、VM 拡張機能を有効にします。To collect more details about virtual machines running a business application, you create a Log Analytics workspace and enable the VM extension on each machine. アプリケーションに関する各種データの収集を構成し、日々の運用状況やパフォーマンスをレポートするビューを作成します。You configure collection of different data sources for your application and create views to report on its daily operation and performance. また、特定のエラー イベントを受信したときに通知するアラート ルールを作成します。You then create alert rules to notify you when particular error events are received. インストールされているエージェントの正常性を継続的に監視するには、Agent Health 管理ソリューションを追加します。In order to continuously monitor the health of the installed agent, you add the Agent Health management solution.

アプリケーションに関する詳しい洞察を取得するには、仮想マシンに依存関係エージェントを追加し、仮想マシンを Service Map に追加します。To gain further insight into the application you add the dependency agent to the virtual machines in order to add them to Service Map. これにより、重要なプロセスが検出され、仮想マシンと他のサービスとの接続が特定されます。It discovers critical processes and identifies connections between machines with other services. サービスの停止が報告されたときには、Service Map を使ってフォレンジクスを実行し、問題が発生している仮想マシンを特定します。After a reported outage, you use Service Map to perform forensics to identify the particular machines that experienced the problem. また、今後問題が発生したときに特定するためのクエリを Log Analytics データに対して作成し、重大な状態が検出されたときに事前通知するためのアラート ルールを作成します。You then create a query on the Log Analytics data to identify the issue in the future and create an alert rule to proactively notify you when the condition has been detected.

次の手順Next steps

項目ごとに詳しい情報を確認できます。Learn more about