メトリックを使用した Azure Data Explorer のパフォーマンス、正常性、および使用状況の監視

Azure Data Explorer のメトリックは、Azure Data Explorer クラスター リソースの正常性とパフォーマンスに関する主要な指標を提供します。 この記事で詳細に説明するメトリックを使用して、特定のシナリオでの Azure Data Explorer クラスターの使用状況、正常性、パフォーマンスをスタンドアロン メトリックとして監視します。 また、Azure ダッシュボードAzure アラート の操作の基本としてメトリックを使用できます。

Azure メトリックス エクスプローラーの詳細については、メトリックス エクスプローラーに関する記事を参照してください。

前提条件

メトリックを使用して Azure Data Explorer のリソースを監視する

  1. Azure portal にサインインします。
  2. Azure Data Explorer クラスターの左側のペインで、「メトリック」を検索します。
  3. [メトリック] を選択して [メトリック] ペインを開き、クラスターの分析を開始します。 Azure portal でメトリックを検索して選択する。

[メトリック] ペインで作業する

[メトリック] ペインで、追跡する特定のメトリックを選択し、データを集計する方法を選択して、ダッシュボードに表示するメトリック グラフを作成します。

Azure Data Explorer クラスターの [リソース][メトリック名前空間] は事前に選択されています。 次の図の中の番号は、その下の番号付きリストに対応しています。 これらは、メトリックの設定と表示に関するさまざまなオプションについて説明します。

[メトリック] ウィンドウ。

  1. メトリック グラフを作成するには、メトリック名と、メトリックあたりの適切な集計を選択します。 さまざまなメトリックの詳細については、「サポートされている Azure Data Explorer メトリック」を参照してください。
  2. 同じグラフにプロットされた複数のメトリックを表示する場合は、 [メトリックの追加] を選択します。
  3. 1 つのビューに複数のグラフを表示する場合は、 [+ New chart](+ 新規グラフ) を選択します。
  4. 時間範囲を変更する場合は、時刻の選択ツールを使用します (既定: 過去 24 時間)。
  5. ディメンションを持つメトリックには、[フィルターの追加] および [Apply Splitting](分割の適用) を使用します。
  6. グラフ構成をダッシュボードに追加して、再度表示できるようにする場合は、 [ダッシュボードにピン留めする] を選択します。
  7. 設定した条件を使用してメトリックを視覚化するには、 [新しいアラート ルール] を設定します。 新しいアラート ルールにはターゲット リソース、メトリック、分割、およびグラフからのフィルター ディメンションが含まれます。 これらの設定は、アラート ルールの作成ウィンドウで変更します。

サポートされている Azure Data Explorer メトリック

Azure Data Explorer のメトリックを使用すると、リソースの全体的なパフォーマンスと使用の両方に関する分析情報、およびインジェストやクエリなどの特定のアクションに関する情報を得ることができます。 この記事のメトリックは、使用法の種類別にグループ化されています。

メトリックの種類には、以下のものがあります。

Azure Data Explorer 用の Azure Monitor のメトリックのアルファベット順一覧については、サポートされる Azure Data Explorer クラスターのメトリックに関する記事を参照してください。

クラスターのメトリック

クラスターのメトリックは、クラスターの全般的な正常性を追跡します。 たとえば、リソースとインジェストの使用と応答性があります。

メトリック 単位 集計 メトリックの説明 Dimensions
キャッシュ使用率 (非推奨) Percent Avg、Max、Min クラスターで現在使用中の割り当てられたキャッシュ リソースの割合。 キャッシュとは、定義されているキャッシュ ポリシーに従ってユーザー アクティビティに割り当てられた SSD のサイズのことです。

80% 以下の平均キャッシュ使用率が、クラスターにとって持続可能な状態です。 平均キャッシュ使用率が 80% を超える場合、ストレージ最適化価格レベルにクラスターを
スケールアップするか、より多くのインスタンスに
スケールアウトします。 あるいは、キャッシュ ポリシーを調整して、キャッシュに格納する日数を減らします。 キャッシュ使用率が 100% を超える場合、キャッシュされるデータのサイズが、クラスター上の合計キャッシュ サイズを超えています。
このメトリックは非推奨となっており、後方互換対応のために提供されています。 代わりに、"キャッシュ使用率係数" メトリックを使用してください。
なし
キャッシュ使用率 Percent Avg、Max、Min クラスター内のホット キャッシュ専用の使用済みディスク領域の割合。
100% は、ホット データに割り当てられたディスク領域が最適に利用されていることを意味します。 アクションは必要なく、クラスターは全く問題ありません。
100% 未満は、ホット データに割り当てられたディスク領域が十分に使用されていないことを意味します。
100% を超える場合は、クラスターのディスク領域が、キャッシュ ポリシーで定義されているホット データを収容するのに十分な大きさではないことを意味します。 すべてのホット データに十分な領域を確保するには、ホット データの量を減らすか、クラスターをスケールアウトする必要があります。自動スケールを有効にすることをお勧めします。
なし
CPU Percent Avg、Max、Min クラスター内のマシンで現在使用中の割り当てられたコンピューティング リソースの割合。

80% 以下の平均 CPU 使用率が、クラスターにとって持続可能です。 CPU の最大値は 100% であり、これは、データを処理する計算リソースがそれ以上ないことを示します。
クラスターのパフォーマンスが良くない場合は、特定の CPU がブロックされていないか判別するために、CPU の最大値を確認してください。
なし
インジェストの使用率 Percent Avg、Max、Min 割り当てられた合計リソースからのデータのインジェストに使用された実際のリソースと、インジェストを実行するために容量ポリシーに割り当てられた合計リソースの間の比率。 既定の容量ポリシーでは、同時実行のインジェスト操作は 512 以下、またはインジェストに使用されるクラスター リソースは 75% 以下です。

80% 以下の平均インジェスト使用率が、クラスターにとって持続可能な状態です。 インジェスト使用率の最大値は 100% であり、これは、すべてのクラスター インジェスト機能が使用され、インジェストがキューに入れられる結果となる可能性を示します。
なし
InstanceCount Count Avg インスタンスの総数。
キープ アライブ Count Avg クラスターの応答性を追跡します。

応答性の高いクラスターは 1 の値を返し、ブロックまたは切断されたクラスターは 0 を返します。
スロットルされたコマンドの合計数 Count Avg、Max、Min、Sum 同時 (並列) コマンドの最大許容数に達したために、クラスター内でスロットルされた (拒否された) コマンドの数。 なし
エクステントの合計数 Count Avg、Max、Min、Sum クラスター内のデータ エクステントの合計数。

データ エクステントのマージは CPU 負荷が高いアクティビティであるため、このメトリックの変化は、データ構造の大幅な変更とクラスターでの高負荷を示している可能性があります。
なし
フォロワーの待機時間 ミリ秒 Avg、Max、Min フォロワー データベースには、リーダー データベースの変更が同期されます。 この同期により、データが利用可能になるまでに数秒から数分のデータ遅延が発生します。

このメトリックは、タイム ラグの長さを測定します。 タイム ラグは、リーダーに取り込まれたデータの全体的なサイズと速度、フォローされているデータベースの数、リーダーに対して実行された内部操作 (マージ/リビルド操作) の速度など、いくつかの要因に依存します。

これはクラスター レベルのメトリックです。フォロワーは、フォローされているすべてのデータベースのメタデータをキャッチします。 このメトリックは、このプロセスの待機時間を表します。
なし

メトリックのエクスポート

エクスポートのメトリックは、エクスポート操作の全般的な正常性とパフォーマンス (遅延、結果、レコード数、使用状況など) を追跡します。

メトリック 単位 集計 メトリックの説明 Dimensions
連続エクスポートによるエクスポートされたレコード数 Count SUM すべての連続エクスポート ジョブでエクスポートされたレコードの数。 ContinuousExportName
連続エクスポートの最大遅延 Count Max クラスター内の連続エクスポート ジョブによって報告された遅延 (分単位)。 なし
保留中の連続エクスポートの数 Count Max 保留中の連続エクスポート ジョブの数。 これらのジョブは実行する準備ができていますが、キューで待機中になっています。これは、容量不足が原因である可能性があります。
連続エクスポートの結果 Count Count 各連続エクスポート実行の失敗および成功の結果。 ContinuousExportName
エクスポート使用率 Percent Max クラスター内のエクスポート容量の合計のうち、使用されているエクスポート容量 (0 から 100 の間)。 なし

インジェストのメトリック

インジェストのメトリックは、インジェスト操作の全般的な正常性とパフォーマンス (待機時間、結果、量など) を追跡します。 分析を調整するには、次のようにします。

  • グラフにフィルターを適用して、ディメンション別に部分的なデータをプロットします。 たとえば、特定の Database へのインジェストを調べます。
  • グラフに分割を適用して、各種コンポーネント別にデータを視覚化します。 このプロセスは、Blobs received など、インジェスト パイプラインの各ステップによって報告されるメトリックを分析するのに役立ちます。
メトリック 単位 集計 メトリックの説明 Dimensions
Batch blob count (バッチ BLOB 数) Count Avg、Max、Min 完了したインジェスト バッチ内のデータ ソースの数。 データベース
Batch duration (バッチ期間) Seconds Avg、Max、Min インジェスト フロー内のバッチ処理フェーズの期間。 データベース
バッチ サイズ バイト Avg、Max、Min インジェスト用に集計されたバッチで、予想される非圧縮のデータ サイズ データベース
Batches processed (処理されたバッチ) Count Sum、Max、Min インジェスト用に完了したバッチの数。
Batching Type: バッチを封印するためのトリガー。
バッチ処理の種類の完全な一覧については、バッチ処理の種類に関する記事を参照してください。
データベース、バッチ処理の種類
Blobs received (受信した BLOB) Count Sum、Max、Min コンポーネントによって入力ストリームから受信した BLOB の数。

[apply splitting](分割の適用) を使用して各コンポーネントを分析します。
データベース、コンポーネントの種類、コンポーネント名
Blobs processed (処理された BLOB) Count Sum、Max、Min コンポーネントによって処理された BLOB の数。

[apply splitting](分割の適用) を使用して各コンポーネントを分析します。
データベース、コンポーネントの種類、コンポーネント名
Blobs dropped (破棄された BLOB) Count Sum、Max、Min コンポーネントによって永久に破棄された BLOB の数。 このような BLOB ごとに、エラーの理由を含む Ingestion result メトリックが送信されます。

[apply splitting](分割の適用) を使用して各コンポーネントを分析します。
データベース、コンポーネントの種類、コンポーネント名
検出の待機時間 Seconds Avg データのエンキューから、データ接続によって検出されるまでの時間。 この時間は、Stage latency (ステージの待機時間) および Ingestion latency (インジェストの待ち時間) のメトリックには含まれません。

検出の待機時間は、次のような状況で増加する可能性があります。
  • リージョン間データ接続が使用される場合。

  • Event Hubs データ接続で、Event Hubs パーティションの数がデータ エグレス ボリュームに対して十分でない場合。
コンポーネントの種類、コンポーネント名
Events received (受信したイベント) Count Sum、Max、Min 入力ストリームからのデータ接続によって受信されたイベントの数。 コンポーネントの種類、コンポーネント名
Events processed (処理されたイベント) Count Sum、Max、Min データ接続によって処理されたイベントの数。 コンポーネントの種類、コンポーネント名
Events dropped (破棄されたイベント) Count Sum、Max、Min データ接続によって永久に破棄されたイベントの数。 このようなイベントごとに、失敗の理由を Ingestion result 持つメトリックが送信されます。 コンポーネントの種類、コンポーネント名
処理されたイベント (Event/IoT Hubs の場合) (非推奨) Count Max、Min、Sum Event Hub/IoT Hubから読み取られ、クラスターによって処理されたイベントの合計数。 これらのイベントは、次の状態で分割できます: Received、Rejected、Processed。
このメトリックは非推奨となっており、後方互換対応のために提供されています。 代わりに、'受信イベント'、'Events processed'、および 'Events dropped' メトリックを使用します。
Status
インジェストの待ち時間 Seconds Avg、Max、Min クラスターでデータが受信された時点からクエリー用に準備できるまでの、取り込まれたデータの待ち時間。 インジェストの待ち時間の長さは、インジェストのシナリオに応じて異なります。
Ingestion Kind: ストリーミング インジェストまたはキューインジェスト
インジェストの種類
インジェストの結果 Count SUM インジェストに失敗または成功したソースの合計数。
Status: 取り込みが成功した場合は [成功] 、失敗した場合は失敗のカテゴリ。 考えられる失敗のカテゴリの完全な一覧については、「Azure Data Explorer のインジェスト エラー コード」を参照してください。
Failure Status Type: 失敗が永続的か一時的か。 インジェストが成功した場合、このディメンションは None です。

注:
  • Event Hubs とIoT Hub インジェスト イベントは、1 つの BLOB に事前に集計され、取り込まれる単一のソースとして扱われます。 そのため、事前集計されたイベントは、事前集計後に 1 つのインジェスト結果として表示されます。

  • 一時的な障害は、限られた回数だけ内部的に再試行されます。 それぞれの一時的な障害は、一時的なインジェスト結果として報告されます。 そのため、1 回のインジェストで複数のインジェスト結果が発生する可能性があります。
状態、失敗の状態の種類
インジェストの量 (MB 単位) Count Max、Sum 圧縮前にクラスターにインジェストされたデータの合計サイズ (MB 単位)。 データベース
Queue length Count Avg コンポーネントの入力キュー内の保留中のメッセージの数。 バッチ処理マネージャー コンポーネントには、BLOB ごとに 1 つのメッセージがあります。 インジェスト マネージャー コンポーネントには、バッチごとに 1 つのメッセージがあります。 バッチは、1 つ以上の BLOB を持つ 1 つのインジェスト コマンドです。 コンポーネントの種類
Queue oldest message (キューの最も古いメッセージ) Seconds Avg コンポーネントの入力キュー内に最も古いメッセージが挿入されてからの経過時間 (秒)。 コンポーネントの種類
Received data size bytes (受信したデータ サイズ (バイト単位)) バイト Avg、Sum 入力ストリームからのデータ接続によって受信されたデータのサイズ。 コンポーネントの種類、コンポーネント名
ステージの待機時間 Seconds Avg メッセージが Azure Data Explorer によって受け付けられてから、そのコンテンツが処理のためにインジェスト コンポーネントによって受信されるまでの時間。

フィルターの適用を使用し、コンポーネントの種類 > StorageEngine を選択して、インジェストの合計待機時間を表示します。
データベース、コンポーネントの種類

ストリーミング インジェスト メトリック

ストリーミング インジェスト メトリックは、ストリーミング インジェスト データおよび要求率、期間、結果を追跡します。

メトリック 単位 集計 メトリックの説明 Dimensions
ストリーミング インジェストのデータ速度 Count RateRequestsPerSecond クラスターに取り込まれるデータの総量。 なし
ストリーミング インジェストの期間 ミリ秒 Avg、Max、Min すべてのストリーミング インジェスト要求の合計期間。 なし
ストリーミング インジェストの要求率 Count Count、Avg、Max、Min、Sum ストリーミングインジェスト要求の合計数。 なし
ストリーミング インジェストの結果 Count Avg 結果の種類別のストリーミング インジェスト要求の合計数。 結果

クエリのメトリック

クエリ パフォーマンス メトリックは、クエリ期間および同時クエリまたはスロットルされたクエリの合計数を追跡します。

メトリック 単位 集計 メトリックの説明 Dimensions
クエリ実行時間 ミリ秒 Avg、Min、Max、Sum クエリ結果を受け取るまでの合計時間 (ネットワーク待ち時間は含まれません)。 QueryStatus
QueryResult Count Count クエリの合計数。 QueryStatus
同時クエリの合計数 Count Avg、Max、Min、Sum クラスターで並列実行されるクエリの数。 このメトリックは、クラスターの負荷を見積もるのに適した方法です。 なし
スロットルされたクエリの合計数 Count Avg、Max、Min、Sum クラスター内のスロットルされた (拒否された) クエリの数。 許可される同時 (並列) クエリの最大数は、要求レート制限ポリシーで定義されます。 なし

具体化されたビューのメトリック

メトリック 単位 集計 メトリックの説明 Dimensions
MaterializedViewHealth 1、0 Avg ビューが正常と見なされる場合、値は 1 です。それ以外の場合は 0 です。 Database、MaterializedViewName
MaterializedViewAgeSeconds Seconds Avg ビューの age は、現在の時刻から、ビューによって処理された最後のインジェスト時間を引いた値で定義されます。 メトリック値は秒単位の時間です (値が小さいほど、ビューの "正常性は高い" です)。 Database、MaterializedViewName
MaterializedViewResult 1 Avg メトリックには、最後の具体化サイクルの結果を示す Result ディメンションが含まれます (設定可能な値の詳細については「MaterializedViewResult メトリック」を参照)。 メトリック値は常に 1 です。 Database、MaterializedViewName、Result
MaterializedViewRecordsInDelta レコード数 Avg ソース テーブルの処理されていない部分に現在あるレコードの数。 詳細については、「具体化されたビューのしくみ」を参照してください Database、MaterializedViewName
MaterializedViewExtentsRebuild エクステント数 Avg 具体化サイクルで更新が必要なエクステントの数。 Database、MaterializedViewName
MaterializedViewDataLoss 1 Max 未処理のソース データがリテンション期間に近づいたときに、メトリックが発生します。 具体化されたビューが異常であることを示します。 Database、MaterializedViewName、Kind