Applies to:Azure SQL Managed Instance
Azure SQL Managed Instanceを監視する方法について説明します。
この記事では、次の内容について説明します。
- このサービスに対して収集できる監視データの種類。
- そのデータを分析する方法。
メモ
このサービスやAzure Monitorについて既に理解していて、監視データの分析方法を知りたい場合は、この記事の最後にある「Analyze」セクションを参照してください。
Azure リソースに依存する重要なアプリケーションとビジネス プロセスがある場合は、システムのアラートを監視して取得する必要があります。 Azure Monitor サービスは、システムのすべてのコンポーネントからメトリックとログを収集して集計します。 Azure Monitorは、可用性、パフォーマンス、回復性のビューを提供し、問題を通知します。 Azure ポータル、PowerShell、Azure CLI、REST API、またはクライアント ライブラリを使用して、監視データを設定および表示できます。
- Azure Monitorの詳細については、Azure Monitorの概要を参照してください。
- Azureリソースの一般的な監視方法の詳細については、「Monitor Azure resources with Azure Monitor」を参照してください。
この記事の機能に加えて、SQL データベース エンジンには、クエリ ストアや動的管理ビュー (DMV) など、Azure SQL Managed Instanceが使用する独自の監視および診断機能があります。 詳細については、次の記事をご覧ください。
- モニターのパフォーマンスを クエリ ストア を使用して監視する
- 動的管理ビューを使用して Azure SQL Managed Instance のパフォーマンスを監視する
Azure SQL Managed Instanceのすべての監視とパフォーマンスの側面の詳細については、Azure SQL Databaseと Azure SQL Managed Instance の
分析情報
Azureの一部のサービスには、Azure ポータルに組み込みの監視ダッシュボードがあり、サービスを監視するための開始点を提供します。 これらのダッシュボードは insights と呼ばれ、Azure ポータルの Insights Hub Azure Monitor で見つけることができます。
Database Watcher (プレビュー)
Database Watcher は、データベースのパフォーマンス、構成、正常性の詳細ビューを提供するために、ワークロード監視データを詳細に収集します。 Azure ポータルのダッシュボードでは、Azure SQL資産の単一ウィンドウビューと、監視対象の各リソースの詳細ビューが提供されます。 データは、Azure サブスクリプションの中央データ ストアに収集されます。 収集されたデータのクエリ、分析、エクスポート、視覚化、およびダウンストリーム システムとの統合を行うことができます。
Database Watcher の詳細については、以下の記事を参照してください。
- Azure SQL ワークロードをデータベース ウォッチャー (プレビュー) でモニターする
- クイックスタート: Azure SQL (プレビュー) を監視するためのデータベース ウォッチャーを作成します
- Database Watcher の作成と構成 (プレビュー)
- Database Watcher のデータ コレクションとデータセット (プレビュー)
- Database Watcher の監視データの分析 (プレビュー)
- Database Watcher に関するよくあるご質問
リソースの種類
Azureでは、リソースの種類と ID の概念を使用して、サブスクリプション内のすべてを識別します。 リソースの種類は、Azureで実行されているすべてのリソースのリソース ID の一部でもあります。 たとえば、仮想マシンの 1 つのリソースの種類は Microsoft.Compute/virtualMachines です。 サービスとそれに関連付けられるリソースの種類の一覧については、リソース プロバイダーに関するページをご覧ください。
Azure Monitor同様に、コア監視データは、リソースの種類 (namespaces とも呼ばれます) に基づいてメトリックとログに編成されます。 リソースの種類に応じてさまざまなメトリックとログが使用できます。 サービスは、複数のリソースの種類に関連付けられる可能性があります。
SQL Managed Instanceのリソースの種類の詳細については、「SQL Managed Instance監視データリファレンスを参照してください。
データ ストレージ
Azure Monitorの場合:
- メトリック データは、Azure Monitor メトリック データベースに格納されます。
- ログ データは、Azure Monitor ログ ストアに格納されます。 Log Analyticsは、このストアに対してクエリを実行できるAzure ポータルのツールです。
- Azure アクティビティ ログは、Azure ポータル内の独自のインターフェイスを持つ別のストアです。
必要に応じて、メトリックおよびアクティビティ ログ データをAzure Monitorログ ストアにルーティングできます。 その後、Log Analyticsを使用してデータのクエリを実行し、他のログ データと関連付けることができます。
多くのサービスでは、診断設定を使用して、メトリックとログ データをAzure Monitor外の他のストレージの場所に送信できます。 たとえば、Azure Storage、ホストされたパートナー システム、非Azureパートナーシステムなどは、Event Hubs を使用します。
データAzure Monitor格納する方法の詳細については、「Azure Monitor データ プラットフォーム」を参照してください。
Azure Monitorのプラットフォーム メトリック
Azure Monitorは、ほとんどのサービスにプラットフォーム メトリックを提供します。 これらのメトリックは次のとおりです。
- 名前空間ごとに個別に定義されます。
- Azure Monitor時系列メトリック データベースに格納されます。
- 軽量であり、凖リアルタイムのアラートをサポートできます。
- リソースのパフォーマンスを時間の経過と共に追跡するために使用されます。
Collection: Azure Monitor はプラットフォーム メトリックを自動的に収集します。 構成は必要ありません。
Routing: プラットフォームの一部のメトリックを Azure Monitor ログや Log Analytics にルーティングし、他のログデータと共にクエリを実行することも可能です。 各メトリックの DS エクスポート設定を確認して、診断設定を使用してメトリックをAzure Monitorログ/Log Analyticsにルーティングできるかどうかを確認します。
- 詳細については、「メトリック診断設定」を参照してください。
- サービスの診断設定を構成するには、
Azure Monitor を参照してください。
Azure Monitor内のすべてのリソースについて収集できるすべてのメトリックの一覧については、Azure Monitor の
SQL Managed Instanceで使用可能なメトリックの一覧については、「SQL Managed Instance監視データリファレンスを参照してください。
Azure Monitor のリソースログ
リソース ログは、Azure リソースによって実行された操作に関する分析情報を提供します。 ログは自動的に生成されますが、ログを保存またはクエリするにはAzure Monitorログにルーティングする必要があります。 ログはカテゴリに分類されています。 特定の名前空間に複数のリソース ログ カテゴリが含まれる場合があります。
収集: リソース ログは、"診断設定" を作成してログを 1 つ以上の場所にルーティングするまでは収集および保存されません。 診断設定を作成するときは、収集するログのカテゴリを指定します。 Azure ポータル、プログラム、Azure Policyなど、診断設定を作成して維持するには、複数の方法があります。
Routing: 他のログ データでクエリを実行できるように、リソース ログを Azure Monitor ログにルーティングすることをお勧めします。 Azure Storage、Azure Event Hubs、特定のMicrosoft監視パートナーなどのその他の場所も利用できます。 詳細については、「Azure リソース ログとリソース ログの宛先を参照してください。
リソース ログの収集、格納、およびルーティングの詳細については、Azure Monitor の
Azure Monitorで使用可能なすべてのリソース ログ カテゴリの一覧については、Azure Monitor でサポートされているリソース ログ を参照してください。
Azure Monitor内のすべてのリソース ログには同じヘッダー フィールドがあり、その後にサービス固有のフィールドが続きます。 共通スキーマの概要については、Azure Monitor リソース ログ スキーマを参照してください。
Azure SQL Managed Instance のログ
Auditing for Azure SQL Managed Instance はデータベース イベントを追跡し、Azure ストレージ アカウントの監査ログに書き込みます。 詳細については、「get started with SQL Managed Instance auditingを参照してください。
Azure SQL Managed Instanceで使用できるリソース ログと診断の詳細については、「診断テレメトリのストリーミング エクスポートの構成」を参照してください。
使用可能なリソース ログ カテゴリ、関連するLog Analytics テーブル、およびSQL Managed Instanceのログ スキーマについては、「SQL Managed Instance監視データリファレンスを参照してください。
Azure アクティビティ ログ
アクティビティ ログには、そのリソースの外部から見た各Azure リソースの操作を追跡するサブスクリプション レベルのイベントが含まれています。たとえば、新しいリソースの作成や仮想マシンの起動などです。
Collection: アクティビティ ログ イベントが自動的に生成され、Azure ポータルで表示するために別のストアに収集されます。
Routing: アクティビティ ログ データを Azure Monitor ログに送信して、他のログ データと共に分析できます。 Azure Storage、Azure Event Hubs、特定のMicrosoft監視パートナーなどのその他の場所も利用できます。 アクティビティ ログのルーティング方法の詳細については、「Azure アクティビティ ログの概要を参照してください。
監視データを分析する
監視データを分析するためのツールは多数あります。
Azure Monitor ツール
Azure Monitorでは、次の基本的なツールがサポートされています。
Metrics エクスプローラーは、Azure リソースのメトリックを表示および分析できるAzure ポータルのツールです。 詳細については、「Azure Monitor のメトリック エクスプローラーを使用してメトリックを分析する」を参照してください。
Log Analytics は、Azure ポータルのツールで、Kusto クエリ言語 (KQL) を使用してログ データのクエリと分析を行うことができます。 詳細については、「Get started with log queries in Azure Monitor」を参照してください。
アクティビティログは、Azureポータルで閲覧や基本的な検索を行うためのユーザーインターフェースを備えています。 より詳細な分析を行うには、データをAzure Monitorログにルーティングし、Log Analyticsでより複雑なクエリを実行する必要があります。
より複雑な視覚化を可能にするツールは次のとおりです。
- Dashboards Azure ポータルでさまざまな種類のデータを 1 つのウィンドウに結合できます。
- Workbooks は、Azure ポータルで作成できるカスタマイズ可能なレポートです。 ワークブックには、テキスト、メトリック、ログクエリを含めることができます。
- Grafana。運用ダッシュボードに優れたオープン プラットフォーム ツール。 Grafana を使用して、Azure Monitor以外の複数のソースからのデータを含むダッシュボードを作成できます。
- Power BI は、さまざまなデータ ソース間で対話型の視覚化を提供するビジネス分析サービスです。 これらの視覚化を利用するために、Azure Monitorからログ データを自動的にインポートするようにPower BIを構成できます。
Azure Monitor エクスポート ツール
次の方法を使用して、Azure Monitorから他のツールにデータを取り込むことができます。
Metrics:REST API を使用してメトリックAzure Monitor メトリック データベースからメトリック データを抽出します。 この API では、取得したデータを絞り込むためのフィルター式がサポートされています。 詳細については、「Azure Monitor REST API リファレンスを参照してください。
ログ: REST API または関連するクライアント ライブラリを使用します。
もう 1 つのオプションは、ワークスペース データのエクスポートです。
REST API for Azure Monitorの使用を開始するには、REST API の監視に関するチュートリアルAzureを参照してください。
Kusto クエリ
Kusto クエリ言語 (KQL) を使用して、Azure Monitor ログ/Log Analytics ストアの監視データを分析できます。
重要
ポータルのサービスのメニューから Logs を選択すると、クエリ スコープが現在のサービスに設定された状態でLog Analyticsが開きます。 このスコープは、ログ クエリにその種類のリソースのデータのみが含まれることを意味します。 他のAzure サービスからのデータを含むクエリを実行する場合は、
サービスに対する一般的なクエリの一覧については、Log Analytics クエリ インターフェイスを参照してください。
Azure SQL Managed Instanceを監視するには、次のサンプル クエリを使用します。
例 A:avg_cpu の使用率が 95% を超えるすべてのマネージド インスタンスを表示します。
let cpu_percentage_threshold = 95;
let time_threshold = ago(1h);
AzureDiagnostics
| where Category == "ResourceUsageStats" and TimeGenerated > time_threshold
| summarize avg_cpu = max(todouble(avg_cpu_percent_s)) by _ResourceId
| where avg_cpu > cpu_percentage_threshold
例 B:storage_space_used_mb_s を reserved_storage_mb_s で割ったストレージ使用率が 90% を超えるマネージド インスタンスをすべて表示します。
let storage_percentage_threshold = 90;
AzureDiagnostics
| where Category =="ResourceUsageStats"
| summarize (TimeGenerated, calculated_storage_percentage) = arg_max(TimeGenerated, todouble(storage_space_used_mb_s) *100 / todouble (reserved_storage_mb_s))
by _ResourceId
| where calculated_storage_percentage > storage_percentage_threshold
警告
Azure Monitorアラートは、監視データに特定の条件が見つかった場合に事前に通知します。 アラートにより、ユーザーが気付く前に、管理者が問題を識別して対処できます。 詳細については、「Azure Monitor アラート」を参照してください。
Azure リソースに関する一般的なアラートには多くのソースがあります。 Azure リソースの一般的なアラートの例については、「サンプル ログ アラート クエリを参照してください。 Azure Monitor ベースライン アラート (AMBA) サイトには、重要なプラットフォーム メトリック アラート、ダッシュボード、ガイドラインを実装するための半自動化された方法が用意されています。 このサイトは、Azure ランディング ゾーン (ALZ) の一部であるすべてのサービスを含む、Azure サービスの継続的に拡張されるサブセットに適用されます。
一般的なアラート スキーマは、Azure Monitorアラート通知の使用を標準化します。 詳細については、「共通アラート スキーマ」をご覧ください。
アラートの種類
Azure Monitor データ プラットフォーム内の任意のメトリックまたはログ データ ソースに対してアラートを生成できます。 監視するサービスと収集する監視データに応じて、さまざまな種類のアラートがあります。 アラートの種類に応じて、さまざまな利点と欠点があります。 詳細については、適切な種類の監視アラートの選択に関するページをご覧ください。
次の一覧では、作成できるAzure Monitorアラートの種類について説明します。
- メトリック アラートでは、リソース メトリックを定期的に評価します。 メトリックには、プラットフォーム メトリック、カスタム メトリック、Azure Monitorからメトリックに変換されたログ、または Application Insights メトリックを指定できます。 メトリック警告では、複数の条件と動的しきい値を適用することもできます。
- Log alerts を使用すると、ユーザーはLog Analytics クエリを使用して、定義済みの頻度でリソース ログを評価できます。
- アクティビティ ログ アラートは、定義された条件と一致する新しいアクティビティ ログ イベントが発生したときにトリガーされます。 Resource Healthアラートとサービス正常性アラートは、サービスおよびリソース正常性に関して報告するアクティビティ ログ アラートです。
一部のAzureサービスでは、スマート検出アラート、Prometheus アラート、または で推奨されるアラート ルールもサポートされています。
一部のサービスでは、同じAzure リージョンに存在する同じ種類の複数のリソースに同じメトリック アラート ルールを適用することで、大規模に監視できます。 監視対象リソースごとに個別の通知が送信されます。 サポートされているAzure サービスとクラウドに関しては、「Monitor multiple resources with one alert rule」を参照してください。
メモ
サービスで実行されるアプリケーションを作成または実行している場合は、Azure Monitor application insights により多くの種類のアラートが提供される場合があります。
SQL Managed Instance に関するアラート ルール
次の表に、Azure SQL Managed Instanceの一般的なアラート ルールと推奨されるアラート ルールを示します。 購入モデルに応じて、さまざまなオプションが表示される場合があります。
| シグナル名 | オペレーター | 集計の種類 | しきい値 | 説明 |
|---|---|---|---|---|
Average CPU percentage |
より大きい | 平均 | 80 | CPU の平均使用率が 80% を超える場合 |
Resource Health |
現在のリソースの状態 | NA | 機能低下または利用不可 | リソースの障害を検出する。これには、Azure によるものでもユーザーによるものでも関係なく含まれます。 |
Advisor の推奨事項
一部のサービスでは、リソースの操作中にクリティカルな条件や差し迫った変更が発生した場合は、ポータルのサービス [概要] ページにアラートが表示されます。 アラートの詳細と推奨される修正は、左側のメニューの [監視] の下の [アドバイザーのレコメンデーション] に表示されます。 通常の操作中、アドバイザーのレコメンデーションは表示されません。
Azure Advisorの詳細については、「Azure Advisorの概要を参照してください。
関連するコンテンツ
- Azure SQL Managed Instance監視データリファレンス
- Azure Monitorを使用したAzureリソースの監視