

# CloudWatch による Athena クエリメトリクスのモニタリング
<a name="query-metrics-viewing"></a>

Athena は、[[publish query metrics to CloudWatch]](athena-cloudwatch-metrics-enable.md) (CloudWatch にクエリメトリクスを投稿する) オプションが選択されている場合に、クエリ関連のメトリクスを Amazon CloudWatch に発行します。CloudWatch でカスタムダッシュボードを作成し、メトリクスのアラームとトリガーを設定する、または Athena コンソールから事前入力されているダッシュボードを直接使用することができます。

ワークグループでのクエリにクエリメトリクスを有効にすると、そのメトリクスが各ワークグループごとに、Athena コンソールにある **[Workgroups]** (ワークグループ) パネルの **[Metrics]** (メトリクス) タブに表示されます。

Athena は、以下のメトリクスを CloudWatch コンソールに発行します。
+ `DPUAllocated` — クエリを実行するためにキャパシティ予約にプロビジョニングされた DPU (データ処理ユニット) の総数。
+ `DPUConsumed` — 予約の特定の時間に、`RUNNING` 状態のクエリによってアクティブに消費される DPU 数。ワークグループがキャパシティ予約に関連付けられている場合にのみ発行される指標であり、予約に関連付けられているすべてのワークグループが含まれます。
+ `DPUCount` — クエリによって消費される DPU の最大数は、クエリの完了時に 1 回だけ発行されます。
+ `EngineExecutionTime` — クエリの実行にかかったミリ秒数。
+ `ProcessedBytes` — Athena が DML クエリごとにスキャンしたバイト数。
+ `QueryPlanningTime` — Athena がクエリ処理フローの計画にかかったミリ秒数。
+ `QueryQueueTime` — クエリがリソースを待ってキューに並んでいたミリ秒数。
+ `ServicePreProcessingTime` — クエリエンジンにクエリを送信する前に Athena がクエリを前処理するためにかかったミリ秒数。
+ `ServiceProcessingTime` — クエリエンジンがクエリの実行を終了した後に Athena がクエリ結果を処理するためにかかったミリ秒数。
+ `TotalExecutionTime` — Athena が DDL クエリまたは DML クエリの実行にかかったミリ秒数。

詳細については、このドキュメントで後述される「[Athena 向けの CloudWatch メトリクスとディメンションのリスト](#athena-cloudwatch-metrics-table)」を参照してください。

これらのメトリクスには、以下のディメンションがあります。
+ `CapacityReservation` — クエリの実行に使用されたキャパシティ予約の名前 (該当する場合)。
+ `QueryState` - `SUCCEEDED`、`FAILED`、または `CANCELED`
+ `QueryType` - `DML`、`DDL`、または `UTILITY`
+ `WorkGroup` – ワークグループの名前

Athena は、次のメトリクスを `AmazonAthenaForApacheSpark` 名前空間で CloudWatch コンソールに発行します。
+ `DPUCount` - 計算を実行するために、セッション中に消費された DPU の数。

このメトリクスには、次のディメンションがあります。
+ `SessionId` - 計算が送信されるセッションの ID。
+ `WorkGroup` - ワークグループの名前。

詳細については、このトピックで後述する「[Athena 向けの CloudWatch メトリクスとディメンションのリスト](#athena-cloudwatch-metrics-table)」を参照してください。Athena の使用状況のメトリクスについては、「[CloudWatch による Athena 使用状況メトリクスのモニタリング](monitoring-athena-usage-metrics.md)」を参照してください。

クエリメトリクスは、Athena コンソールまたは CloudWatch コンソールで表示できます。

## Athena コンソールでクエリメトリクスを表示する
<a name="query-metrics-viewing-athena-console"></a>

**ワークグループのクエリメトリクスを Athena コンソールに表示するには**

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) で Athena コンソールを開きます。

1. コンソールのナビゲーションペインが表示されない場合は、左側の展開メニューをクリックします。  
![展開メニューを選択します。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/nav-pane-expansion.png)

1. ナビゲーションペインで、[**Global networks (グローバルネットワーク)**] を選択します。

1. リストから目的のワークグループを選択し、**[Metrics]** (メトリクス) タブを選択します。

   メトリクスダッシュボードが表示されます。
**注記**  
ワークグループのメトリクスを最近有効にした場合や、最近のクエリアクティビティがない場合は、ダッシュボードのグラフが空になる可能性があります。クエリアクティビティは、次のステップで指定する間隔に応じて CloudWatch から取得されます。

1. **[Metrics]** (メトリクス) セクションで、CloudWatch からクエリメトリクスをフェッチするために Athena が使用するメトリクス間隔を選択するか、カスタム間隔を指定します。  
![Athena コンソールでワークグループのメトリクス取得間隔を指定します。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/wg-custom-interval.png)

1. 表示されたメトリクスを更新するには、更新アイコンをクリックします。  
![更新アイコンを選択します。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/wg-refresh-metrics.png)

1. 更新アイコンの横にある矢印をクリックして、メトリクス表示の更新頻度を選択します。  
![Athena コンソールのワークグループメトリクス表示に対する更新間隔を選択します。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/wg-choose-refresh-interval.png)

## CloudWatch コンソールでクエリメトリクスを表示する
<a name="query-metrics-viewing-cw-console"></a>

**Amazon CloudWatch コンソールでメトリクスを表示する**

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. ナビゲーションペインで、[**Metrics**]、[**All metrics**] を選択します。

1. **AWS/Athena** 名前空間を選択します。

## AWS CLI でクエリメトリクスを表示する
<a name="query-metrics-viewing-cli"></a>

**AWS CLI を使用してメトリクスを表示するには**
+ 次のいずれかを行います。
  + Athena のメトリクスを一覧表示するには、コマンドプロンプトを開き、次のコマンドを使用します。

    ```
    aws cloudwatch list-metrics --namespace "AWS/Athena"
    ```
  + すべての使用可能なメトリクスのリストを表示するには、次のコマンドを使用します。

    ```
    aws cloudwatch list-metrics"
    ```

## Athena 向けの CloudWatch メトリクスとディメンションのリスト
<a name="athena-cloudwatch-metrics-table"></a>

Athena で CloudWatch メトリクスを有効にしている場合、Athena がワークグループごとに以下のメトリクスを CloudWatch に送信します。次のメトリクスは `AWS/Athena` 名前空間を使用します。


| メトリクス名 | 説明 | 
| --- | --- | 
| DPUAllocated | クエリを実行するためにキャパシティ予約にプロビジョニングされた DPU (データ処理ユニット) の総数。 | 
| DPUConsumed | 予約の特定の時間に、RUNNING 状態のクエリによってアクティブに消費される DPU の数。このメトリックはワークグループがキャパシティ予約に関連付けられている場合にのみ発行され、予約に関連付けられているすべてのワークグループが含まれます。ワークグループをある予約から別の予約に移動した場合、指標にはそのワークグループが最初の予約に属していた時点のデータが含まれます。キャパシティ予約の詳細については、「[クエリ処理キャパシティを管理する](capacity-management.md)」を参照してください。 | 
| DPUCount | クエリによって消費される DPU の最大数は、クエリの完了時に 1 回だけ発行されます。この指標は、キャパシティ予約に関連付けられているワークグループにのみ発行されます。 | 
| EngineExecutionTime | クエリの実行にかかったミリ秒数。 | 
| ProcessedBytes | Athena が DML クエリごとにスキャンしたバイト数。(ユーザーによって、または制限に達した場合は自動的に) キャンセルされたクエリの場合、キャンセル前にスキャンされたデータの量も含まれます。このメトリクスは、DDL クエリではレポートされません。 | 
| QueryPlanningTime | Athena でクエリ処理フローの計画にかかったミリ秒数。これには、データソースからテーブルパーティションを取得するためにかかった時間も含まれます。クエリエンジンがクエリの計画を実行するため、クエリの計画時間は EngineExecutionTime のサブセットであることに注意してください。 | 
| QueryQueueTime | クエリがリソースを待ってキューに並んでいたミリ秒数。一時的なエラーが発生した場合は、クエリを自動的にキューに追加し直すことができます。 | 
| ServicePreProcessingTime | クエリエンジンにクエリを送信する前に Athena がクエリを前処理するためにかかったミリ秒数。 | 
| ServiceProcessingTime | クエリエンジンがクエリの実行を終了した後に Athena がクエリ結果を処理するためにかかったミリ秒数。 | 
| TotalExecutionTime | Athena が DDL クエリまたは DML クエリの実行にかかったミリ秒数。TotalExecutionTime には、QueryQueueTime、QueryPlanningTime、EngineExecutionTime、ServiceProcessingTime が含まれます。 | 

これらの Athena 用メトリクスには、以下のディメンションがあります。


| ディメンション | 説明 | 
| --- | --- | 
| CapacityReservation | クエリの実行に使用されたキャパシティ予約の名前 (該当する場合)。キャパシティ予約が使用されていないとき、このディメンションはデータを返しません。 | 
| QueryState | クエリの状態。<br />有効な統計: SUCCEEDED、FAILED、CANCELED。 | 
| QueryType | クエリタイプ。<br />有効な統計: `DDL`、`DML` または `UTILITY`。実行されたクエリステートメントのタイプ。`DDL` は DDL (データ定義言語) クエリステートメントを示します。`DML` は、`CREATE TABLE AS SELECT` などの DML (データ操作言語) クエリステートメントを示します。`UTILITY`は、`SHOW CREATE TABLE`、または `DESCRIBE TABLE` などの DDL と DML 以外のクエリステートメントを示します。 | 
| WorkGroup | ワークグループの名前。 | 