この記事では、Azure portal を使用してワークロードを監視する方法について説明します。 これには、 Synapse SQL のログ分析を使用してクエリの実行とワークロードの傾向を調査するための Azure Monitor ログの設定が含まれます。
Prerequisites
- Azure サブスクリプション: Azure サブスクリプションをお持ちでない場合は、開始する前に 無料の Azure アカウント を作成してください。
- SQL プール: SQL プールのログを収集します。 SQL プールがプロビジョニングされていない場合は、「SQL プールの作成」の手順 を参照してください。
Log Analytics ワークスペースを作成する
Azure portal で Log Analytics ワークスペースのページに移動するか、Azure サービスの検索ウィンドウを使用して新しい Log Analytics ワークスペースを作成します。
ワークスペースの詳細については、「 Log Analytics ワークスペースの作成」を参照してください。
リソース ログを有効にする
SQL プールからログを出力するように診断設定を構成します。 ログは、最も一般的に使用されるパフォーマンストラブルシューティング DMV と同等のテレメトリ ビューで構成されます。
現在サポートされているビューの一覧については、「 動的管理ビュー」を参照してください。
ログは、Azure Storage、Stream Analytics、または Log Analytics に出力できます。 このチュートリアルでは、[Log Analytics] を選択します。 必要なすべてのカテゴリとメトリックを選択し、[ Log Analytics ワークスペースに送信] を選択します。
[ 保存] を 選択して、新しい診断設定を作成します。 クエリにデータが表示されるまでに数分かかる場合があります。
Log Analytics に対してクエリを実行する
次の操作が可能な Log Analytics ワークスペースに移動します。
- ログ クエリを使用してログを分析し、再利用のためにクエリを保存する
- 再利用のためにクエリを保存する
- ログ アラートを作成する
- クエリ結果をダッシュボードにピン留めする
Kusto を使用したログ クエリの機能の詳細については、 Kusto クエリ言語 (KQL) の概要に関するページを参照してください。
サンプル ログ クエリ
クエリのスコープを Log Analytics ワークスペース リソースに設定します。
//List all queries
AzureDiagnostics
| where Category contains "ExecRequests"
| project TimeGenerated, StartTime_t, EndTime_t, Status_s, Command_s, ResourceClass_s, duration=datetime_diff('millisecond',EndTime_t, StartTime_t)
//Chart the most active resource classes
AzureDiagnostics
| where Category contains "ExecRequests"
| where Status_s == "Completed"
| summarize totalQueries = dcount(RequestId_s) by ResourceClass_s
| render barchart
//Count of all queued queries
AzureDiagnostics
| where Category contains "waits"
| where Type == "UserConcurrencyResourceType"
| summarize totalQueuedQueries = dcount(RequestId_s)
次のステップ
- Azure Monitor ログを設定して構成したら、チーム間で共有するように Azure ダッシュボードをカスタマイズ します。