Azure SQL データベース と Azure SQL Managed Instance のパフォーマンスに関する問題を含んだ Intelligent Insights のパフォーマンス診断ログを使用する
適用対象:Azure SQL DatabaseAzure SQL Managed Instance
このページでは、Intelligent Insights によって生成される、Azure SQL データベース と Azure SQL Managed Instance のパフォーマンス診断ログの使用方法、その形式、およびカスタム開発ニーズに対応するために含まれるデータについて説明します。 この診断ログは、Azure Monitor ログ、Azure Event Hubs、Azure Storage、または DevOps のカスタム アラートおよびレポート機能を提供する第三者製ソリューションに送信できます。
注意
Intelligent Insights はプレビュー機能であり、西ヨーロッパ、北ヨーロッパ、米国西部 1、米国東部 1 の各リージョンでは利用できません。
ログ ヘッダー
診断ログでは、JSON 標準形式を使用して Intelligent Insights の結果を出力します。 Intelligent Insights ログにアクセスするための正確なカテゴリ プロパティは固定値 "SQLInsights" であり、Azure Monitor SQL Insights (プレビュー) を使用した監視 Azure SQL データベース とは無関係です。
ログのヘッダーは共通で、エントリが作成された日時を示すタイムスタンプ (TimeGenerated) で構成されます。 これには、エントリに関連する特定のデータベースを参照するリソース ID (ResourceId) も含まれます。 カテゴリ (Category)、レベル (Level)、操作名 (OperationName) は固定のプロパティで、これらの値は変化しません。 これらは、ログ エントリが情報であり、Intelligent Insights (SQLInsights) から取得されたものであることを示します。
"TimeGenerated" : "2017-9-25 11:00:00", // time stamp of the log entry
"ResourceId" : "database identifier", // value points to a database resource
"Category": "SQLInsights", // fixed property
"Level" : "Informational", // fixed property
"OperationName" : "Insight", // fixed property
問題 ID と影響を受けているデータベース
問題識別プロパティ (issueId_d) では、パフォーマンスの問題点を解決まで一意に追跡できます。 ログ内の複数のイベント レコードで同じ問題点の状態が報告されている場合は、それらのレコードで同じ問題 ID が共有されます。
診断ログでは、問題 ID と共に、診断ログにレポートされている問題点に関連する特定のイベントの開始 (intervalStartTime_t) と終了 (intervalEndTme_t) のタイムスタンプがレポートされます。
Elastic Pool (elasticPoolName_s) プロパティは、問題のあるデータベースが属するElastic Poolを示します。 データベースがElastic Poolに属していない場合、このプロパティには値がありません。 問題点が検出されたデータベースは、データベース名 (databaseName_s) プロパティで公開されます。
"intervalStartTime_t": "2017-9-25 11:00", // start of the issue reported time stamp
"intervalEndTme_t":"2017-9-25 12:00", // end of the issue reported time stamp
"elasticPoolName_s" : "", // resource elastic pool (if applicable)
"databaseName_s" : "db_name", // database name
"issueId_d" : 1525, // unique ID of the issue detected
"status_s" : "Active" // status of the issue – possible values: "Active", "Verifying", and "Complete"
検出された問題点
Intelligent Insights パフォーマンス ログの次のセクションには、ビルトイン人工知能によって検出されたパフォーマンスの問題点が含まれています。 検出結果は JSON 診断ログ内のプロパティで公開されます。 これらの検出結果は、問題点のカテゴリ、問題点の影響、影響を受けるクエリ、およびメトリックで構成されます。 検出プロパティには、検出されたパフォーマンスの問題点が複数含まれる場合もあります。
検出されたパフォーマンスの問題点は、次の検出プロパティ構造でレポートされます。
"detections_s" : [{
"impact" : 1 to 3, // impact of the issue detected, possible values 1-3 (1 low, 2 moderate, 3 high impact)
"category" : "Detectable performance pattern", // performance issue detected, see the table
"details": <Details outputted> // details of an issue (see the table)
}]
検出可能なパフォーマンス パターンと、診断ログに出力される詳細を次の表に示します。
検出カテゴリ
カテゴリ (category) プロパティは、検出可能なパフォーマンス パターンのカテゴリを示します。 検出可能なパフォーマンス パターンについて考えられるすべてのカテゴリについては、次の表をご覧ください。 詳細については、Intelligent Insights を使用したデータベース パフォーマンスに関する問題点のトラブルシューティングに関する記事をご覧ください。
診断ログ ファイルに出力される詳細は、検出されたパフォーマンスの問題点に応じて異なります。
検出可能なパフォーマンス パターン | 出力される詳細 |
---|---|
リソースの上限に到達 | |
ワークロードの増加 | |
メモリ不足 | |
ロック | |
MAXDOP の増加 | |
ページラッチの競合 | |
インデックスの不足 | |
新しいクエリ | |
異常な待機の統計 | |
tempdb の競合 |
|
Elastic Poolの DTU の不足 | |
プランの回帰 | |
データベース 範囲の構成値の変更 | |
処理速度が遅いクライアント | |
価格レベルのダウングレード |
影響
影響 (impact) プロパティは、検出された動作がどの程度データベースの問題に影響しているかを示します。 影響の範囲は 1 から 3 で、3 が最も影響が大きいことを示し、2 は中程度、1 が最も影響が小さいことを示します。 影響値は、特定のニーズに応じて、カスタム警告の自動化のための入力として使用されることがあります。 影響を受けているクエリ (QueryHashes) プロパティでは、特定の検出の影響を受けているクエリ ハッシュのリストを示します。
影響を受けているクエリ
Intelligent Insights ログの次のセクションでは、検出されたパフォーマンスの問題点の影響を受けた特定のクエリに関する情報を示します。 この情報は、impact_s プロパティに埋め込まれたオブジェクトの配列として公開されます。 影響プロパティは、エンティティとメトリックで構成されます。 エンティティは特定のクエリを参照します (タイプ: Query)。 値 (Value) プロパティでは一意のクエリ ハッシュが公開されます。 さらに、公開された各クエリの後に、検出されたパフォーマンスの問題を示すメトリックと値が続きます。
次のログの例では、ハッシュ 0x9102EXZ4 のクエリの実行時間が増加したことが検出されています (メトリック: DurationIncreaseSeconds)。 110 秒という値は、この特定のクエリの実行に 110 秒長くかかったことを示しています。 複数のクエリが検出される可能性があるため、この特定のログ セクションには複数のクエリ エントリが含まれることがあります。
"impact" : [{
"entity" : {
"Type" : "Query", // type of entity - query
"Value" : "query hash value", // for example "0x9102EXZ4" query hash value },
"Metric" : "DurationIncreaseSeconds", // measured metric and the measurement unit (in this case seconds)
"Value" : 110 // value of the measured metric (in this case seconds)
}]
メトリック
レポートされた各メトリックの測定単位はメトリック (metric) プロパティで示されます。可能な値は秒、個数、割合です。 測定されたメトリックの値は値 (value) プロパティでレポートされます。
DurationIncreaseSeconds プロパティでは、測定単位を秒で示します。 CriticalErrorCount の測定単位はエラーの数を表す数値です。
"metric" : "DurationIncreaseSeconds", // issue metric type – possible values: DurationIncreaseSeconds, CriticalErrorCount, WaitingSeconds
"value" : 102 // value of the measured metric (in this case seconds)
根本原因分析と向上に関する推奨事項
Intelligent Insights パフォーマンス ログの最後の部分には、識別されたパフォーマンスの低下の問題点の根本原因の自動分析に関連する情報が示されます。 この情報は、根本原因分析 (rootCauseAnalysis_s) プロパティでわかりやすい表現で示されます。 改善に関する推奨事項は、可能な限りログに表示されます。
// example of reported root cause analysis of the detected performance issue, in a human-readable format
"rootCauseAnalysis_s" : "High data IO caused performance to degrade. It seems that this database is missing some indexes that could help."
Intelligent Insights パフォーマンス ログは、Azure Monitor ログ、または DevOps のカスタム アラートおよびレポート機能を提供する第三者製ソリューションで使用できます。
次のステップ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示