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 that it depends on. 効果的な監視戦略を策定することで、アプリケーションのコンポーネントの動作状況を詳細に把握できます。An effective monitoring strategy helps you understand the detailed operation of the components of your application. また、問題が顕在化する前に解決できるように重大な問題を事前に通知して、アップタイムを向上させることも可能です。It also helps you increase your uptime by proactively notifying you of critical issues so that you can resolve them before they become problems.

Azure には、監視領域において特定の役割やタスクを個別に実行するサービスが複数用意されています。Azure includes multiple services that individually perform a specific role or task in the monitoring space. また、これらのサービスが組み合わされた包括的なソリューションを使用すれば、アプリケーションやそれらのサービスを支える Azure リソースからテレメトリを収集、分析し、それに基づいて対処できます。Together, these services deliver a comprehensive solution for collecting, analyzing, and acting on telemetry from your application and the Azure resources that support 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 components that work together to provide monitoring of Azure resources. 以降のセクションでは、これらのコンポーネントについて解説し、詳細な技術情報へのリンクを紹介します。The following sections describe these components and provide links to detailed technical information.

監視の概要

共有機能Shared Capabilities

コアおよび詳細な監視サービスは、次の機能を提供する機能を共有します。The core and deep monitoring service share functionality which provides the following capabilities.

アラートAlerts

Azure アラートは、重大な状態を事前に通知し、可能であれば修正のためのアクションを実行します。Azure alerts proactively notify you of critical conditions and potentially take corrective action. アラートのルールには、メトリックやログなど各種ソースのデータを活用できます。Alert rules can use 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 start external actions by using webhooks and integrate with your ITSM tools.

ダッシュボードDashboards

Azure ダッシュボードを使用すると、さまざまな種類のデータを組み合わせて、Azure Portal 内の 1 つのウィンドウに表示できます。You can use Azure dashboards to combine different kinds of data into a single pane in the Azure portal. ダッシュボードは、他の Azure ユーザーと共有することができます。You can then share the dashboard with other Azure users.

たとえば、以下を組み合わせてダッシュボードを作成できます。For example, you can create a dashboard that combines:

  • メトリックのグラフが表示されているタイルTiles that show a graph of metrics
  • アクティビティ ログの表A table of activity logs
  • Application Insights の使用状況グラフA usage chart from Application Insights
  • Log Analytics のログ検索の結果The output of a log search in Log Analytics

また、Log Analytics データを Power BI にエクスポートすることもできます。You can also export Log Analytics data to Power BI. そこで、追加の視覚化を利用できます。There, you can take advantage of additional visualizations. また、組織内外のユーザーがデータを利用できるように設定することもできます。You can also make the data available to others within and outside your organization.

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

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

コアな監視Core monitoring

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

Azure MonitorAzure Monitor

Azure Monitor は、Azure サービスのコアな監視用に、メトリックアクティビティ ログ、および診断ログを収集します。Azure Monitor enables core monitoring for Azure services by allowing the collection of metrics, activity logs, and diagnostic logs. たとえば、アクティビティ ログでは、新しいリソースが作成または変更されたときに通知するよう設定できます。For example, the activity log tells you when new resources are created or modified.

メトリックでは、各種リソースはもちろんのこと、仮想マシン内のオペレーティング システムについても、パフォーマンス統計情報を収集できます。Metrics are available that provide performance statistics for different resources and even the operating system inside a virtual machine. Azure Portal で、いずれかのエクスプローラーを使用してこのデータを表示し、これらのメトリックに基づいてアラートを作成することができます。You can view this data with one of the explorers in the Azure portal and create alerts based on these metrics. Azure Monitor では非常に高速なメトリックのパイプライン (5 分から 1 分) が提供されるため、タイム クリティカルなアラートと通知に使用してください。Azure Monitor provides the fastest metrics pipeline (5 minute down to 1 minute), so you should use it for time critical alerts and notifications.

これらのメトリックとログを Azure Log Analytics に送信してトレンド把握や詳細な分析に使用したり、追加のアラート ルールを作成し、分析結果として重大な問題について事前に通知を受けたりすることもできます。You can also send these metrics and logs Azure Log Analytics for trending and detailed analysis, or create additional alert rules to proactively notify you of critical issues as a result of that analysis.

注意

診断設定を使用した Log Analytics への多ディメンション メトリックの送信は現在サポートされていません。Sending multi-dimensional metrics to Log Analytics via diagnostic settings is not currently supported. ディメンションを含むメトリックは、ディメンション値間で集計され、フラット化された単一ディメンションのメトリックとしてエクスポートされます。Metrics with dimensions are exported as flattened single dimensional metrics, aggregated across dimension values.

"": イベント ハブの "受信メッセージ" メトリックは、キュー単位のレベルで調査およびグラフ化できます。For example: The 'Incoming Messages' metric on an Event Hub can be explored and charted on a per queue level. ただし、Log Analytics にエクスポートすると、メトリックは、イベント ハブ内のすべてのキューのすべての受信メッセージとして表されます。However, when exported to Log Analytics the metric will be represented as all incoming messages across all queues in the Event Hub.

Azure AdvisorAzure Advisor

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

サービス正常性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 affect your application. Service Health は、予定メンテナンスの計画にも役立ちます。Service Health also helps you plan for scheduled maintenance.

アクティビティ ログActivity Log

アクティビティ ログは、Azure リソースの動作状況に関するデータを提供します。Activity Log provides data about the operation of an Azure resource. 次の情報が表示されます。This information includes:

  • リソースの構成変更。Configuration changes to the resource.
  • サービス正常性インシデント。Service health incidents.
  • リソースの有効活用に関する推奨事項。Recommendations on better utilizing the resource.
  • 自動スケール操作に関する情報。Information related to autoscale operations.

特定のリソースのログは Azure Portal のそのリソースのページで確認できます。You can view logs for a particular resource on its page in the Azure portal. また、アクティビティ ログ エクスプローラーでは、複数のリソースのログを表示できます。Or you can view logs from multiple resources in Activity Log Explorer.

アクティビティ ログ エントリを Log Analytics に送信することもできます。You can also send activity log entries to Log Analytics. そこで、管理ソリューション、仮想マシン上のエージェント、および他のソースで収集されたデータを使って、ログを分析できます。There, you can analyze the logs by using data collected by management solutions, agents on virtual machines, and other sources.

詳細な監視サービスDeep monitoring services

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

詳細なアプリケーション監視Deep application monitoring

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

Azure Application Insights を使用すると、クラウドにホストされているかオンプレミスかにかかわらず、アプリケーションの可用性、パフォーマンス、使用状況を監視できます。You can use Azure Application Insights to monitor availability, performance, and usage of your application, whether it's hosted in the cloud or on-premises.

Application Insights と連携するようにアプリケーションをインストルメント化すると、詳細な洞察を取得し、DevOps のシナリオを実装することができます。By instrumenting your application to work with Application Insights, you can achieve deep insights and implement DevOps scenarios. そのため、ユーザーからの報告を待たずに、エラーを速やかに特定して診断できます。You can 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 には、収集されたデータを操作するための豊富なツールが用意されています。Application Insights has extensive tools for interacting with the data that it collects. Application Insights では、そのデータは共通リポジトリに格納されます。Application Insights stores its data in a common repository. アラート、ダッシュボード、Log Analytics クエリ言語を使用した詳細分析などの共有機能を活用できます。It can take advantage of shared functionality such as alerts, dashboards, and deep analysis with the Log Analytics query language.

詳細なインフラストラクチャ監視Deep infrastructure monitoring

Log AnalyticsLog Analytics

Log Analytics は、Azure の監視の中心的役割を果たすサービスで、さまざまなリソース (Microsoft 以外のツールを含む) から収集したデータを単一のリポジトリに格納します。Log Analytics plays a central role in Azure monitoring by collecting data from a variety of resources (including non-Microsoft tools) into a single repository. そこで、強力なクエリ言語を使用してデータを分析することができます。There, you can analyze the data by using 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 use its analytics engine. データは、Azure Monitor、管理ソリューション、およびクラウドやオンプレミスの仮想マシンにインストールされたエージェントからも収集されます。Data is also collected from Azure Monitor, management solutions, and agents installed on virtual machines in the cloud or on-premises. この共有機能は、環境の全体像を把握するうえで役に立ちます。This shared functionality helps you form a complete picture of your environment.

管理ソリューション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 that they collect.

Azure およびサード パーティの各種サービスを監視するさまざまな管理ソリューションが Microsoft とサード パーティから提供されています。Management solutions are available from Microsoft and partners to provide monitoring for various Azure and third-party services. 監視ソリューションの例を次に示します。Examples of monitoring solutions include:

利用可能なすべての管理ソリューションを Azure Portal の [監視] 画面に表示できます。You can view all available management solutions in the Azure Portal under the Monitor screen.

ネットワーク監視Network Monitoring

Azure かオンプレミスかに関係なく、連携してネットワークのさまざまな面を監視するためのツールがいくつかあります。There are several tools that work together to monitor various aspects of your network, whether in Azure or on-premises.

Network Watcher は、Azure の各種ネットワーク シナリオに応じた監視と診断の機能を提供します。Network Watcher provides scenario-based monitoring and diagnostics for different network scenarios in Azure. 将来の分析に使用できるように、Azure メトリックおよび診断にデータが格納されます。It stores data in Azure metrics and diagnostics for further analysis. 次のソリューションと連携して、ネットワークのさまざまな面を監視します。It works with the following solutions for monitoring various aspects of your network.

Network Performance Monitor (NPM) は、パブリック クラウド、データ センター、オンプレミス環境間の接続を監視するクラウドベースのネットワーク監視ソリューションです。Network Performance Monitor (NPM) is a cloud-based network monitoring solution that monitors connectivity across public clouds, datacenters, and on-premises environments.

ExpressRoute モニターは、Azure ExpressRoute 回線を介したエンド ツー エンド接続とパフォーマンスを監視する NPM 機能です。ExpressRoute Monitor is an NPM capability that monitors the end-to-end connectivity and performance over Azure ExpressRoute circuits.

DNS Analytics は、DNS サーバーに基づいて、セキュリティ、パフォーマンス、および操作に関連する分析情報を提供するソリューションです。DNS Analytics is a solution that provides security, performance, and operations-related insights, based on your DNS servers.

サービス エンドポイント モニターは、アプリケーションの到達可能性をテストし、オンプレミス、通信事業者ネットワーク、クラウド/プライベート データ センターの間のパフォーマンス ボトルネックを検出します。Service Endpoint Monitor tests the reachability of applications and detects performance bottlenecks across on-premises, carrier networks, and cloud/private data centers.

サービス マップ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 内のイベント、パフォーマンス データ、管理ソリューションが統合されます。It integrates events, performance data, and management solutions in Log Analytics. このデータは、各コンピューターのコンテキストや環境内の他の要素との関係の中で把握することができます。You can then view this data in the context of each computer and its relation to the rest of your environment.

Service Map は Application Insights のアプリケーション マップに似ています。Service Map is similar to Application Map in Application Insights. Service Map では、アプリケーションをサポートしているインフラストラクチャ コンポーネントに焦点が当てられています。It focuses on the infrastructure components that support your applications.

シナリオ例Example scenarios

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

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

Azure App Service、Azure Storage、および SQL データベースを使用する、Azure にデプロイされた Web アプリケーションがあるとします。Consider a web application deployed in Azure through Azure App Service, Azure Storage, and a SQL database. 開始するには、Azure Portal のリソース ページで、そのリソースのメトリックアクティビティ ログにアクセスします。You start by accessing metrics and activity logs for these resources on their pages in the Azure portal. アプリケーションへの要求数、平均応答時間などの重要情報を確認します。You look for critical information, such as the number of requests to the application and average response time. 構成の変更も特定します。You also identify any configuration changes.

次に、ポータルの Monitor に移動して、各種リソースのメトリックとログをまとめて確認します。You 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. これらのルールにより、平均応答時間がしきい値を超えた場合などに事前通知が行われます。These rules proactively notify you when, for example, average response time increases beyond a threshold. アプリケーションの日々のパフォーマンスをすばやく把握するには、重要な KPI を示すメトリックのグラフが表示される Azure ダッシュボードを作成します。To get a quick view of your application's daily performance, you create an Azure dashboard to show graphs of metrics that represent critical KPIs.

アプリケーションの詳細な監視を行うには、Application Insights と連携するようアプリケーションを構成します。To perform deeper monitoring of your application, you configure it for Application Insights. アプリケーションの動作状況やパフォーマンスに関する詳しい洞察を提供する追加データを収集できるようになります。You can now collect additional data that provides further insight into the operation and performance of your application. Application Insights では、アプリのコンポーネント間の基盤となる関係が検出されます。Application Insights detects the underlying relationships between your app’s components. アプリケーション マップエンドツーエンドのトレースを組み合わせて視覚的に表示し、問題が発生しているコンポーネント、依存関係、または例外を正確に診断できます。It allows for visual representation via 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 ソリューションを追加します。To gain further visibility into services used in your application, you add the SQL Analytics solution to collect additional data in Log Analytics.

しばらく運用した後で、サイトのパフォーマンスがしきい値以下に低下した期間について根本原因を調査することにしたとします。After some time, you decide to investigate the root cause for periods when performance on the site has fallen below a threshold. Log Analytics を使用してクエリを作成します。You write a query by using Log Analytics. これは、Application Insights で収集された使用状況およびパフォーマンスに関するデータと、アプリケーションをサポートしている Azure Portal リソースの構成およびパフォーマンスに関するデータを関連付ける際に役立ちます。It helps you correlate the usage and performance data collected by Application Insights with configuration and performance data across the Azure resources that support your application.

仮想マシンの監視Monitoring virtual machines

Azure で Windows 仮想マシンと Linux 仮想マシンが混在して実行されているとします。You have a mix of Windows and Linux virtual machines running in Azure. Azure Monitor を使用してアクティビティ ログホスト レベル メトリックを確認します。You use Azure Monitor to view activity logs and host-level metrics. Microsoft Azure 診断の拡張機能を仮想マシンに追加して、ゲスト オペレーティング システムからメトリックを収集します。You 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 like 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 the 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 管理ソリューションを追加します。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. Service Map により重要なプロセスが検出され、仮想マシンと他のサービスとの接続が特定されます。Service Map 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 you create an alert rule to proactively notify you when the condition is detected.

次の手順Next steps

各項目の詳細情報Learn more about:

  • Azure Monitor。コアな監視のメトリックとアラートの使用を開始します。Azure Monitor to get started with core monitoring metrics and alerts.
  • Application Insights (App Service Web アプリの問題を診断する場合)。Application Insights if you're trying to diagnose problems in your App Service web app.
  • Log Analytics。収集した監視データとログを分析する場合は、こちらをご覧ください。Log Analytics for analyzing collected monitoring data and logs.