

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Logs Insights QL の使用を開始する: クエリチュートリアル
<a name="CWL_AnalyzeLogData_Tutorials"></a>

以下のセクションでは、Logs Insights QL の使用を開始する際に役立つサンプルのクエリのチュートリアルをご覧いただけます。

**Topics**
+ [チュートリアル: サンプルクエリを実行および変更する](CWL_AnalyzeLogData_RunSampleQuery.md)
+ [チュートリアル: 集計関数を使用してクエリを実行する](CWL_AnalyzeLogData_AggregationQuery.md)
+ [チュートリアル: ログフィールド別にグループ化された視覚化を生成するクエリを実行する](CWL_AnalyzeLogData_VisualizationFieldQuery.md)
+ [チュートリアル: 時系列の視覚化を生成するクエリを実行する](CWL_AnalyzeLogData_VisualizationQuery.md)

# チュートリアル: サンプルクエリを実行および変更する
<a name="CWL_AnalyzeLogData_RunSampleQuery"></a>

以下のチュートリアル通りに、CloudWatch Logs Insights の使用を開始できます。Logs Insights QL のサンプルクエリを実行し、次にこのクエリを変更して再実行する方法を示します。

クエリを実行するには、CloudWatch Logs に保存済みのログが必要です。CloudWatch Logs をすでに使用していて、ロググループとログストリームが設定済みである場合は、開始する準備が整っています。また、 AWS CloudTrail、Amazon Route 53、または Amazon VPC などのサービスを使用し、それらのサービスから CloudWatch Logs に移動するようにログを設定している場合は、既にログが存在する可能性があります。CloudWatch Logs にログを送信する方法の詳細については、「[CloudWatch Logs の開始方法](CWL_GettingStarted.md)」を参照してください。

CloudWatch Logs Insights のクエリは、ログイベントから一連のフィールドを返すか、ログイベントに対して実行された数学的な集約やその他のオペレーションの結果を返します。このチュートリアルでは、ログイベントのリストを返すクエリを示します。

## サンプルクエリを実行する
<a name="CWL_AnalyzeLogData_RunQuerySample"></a>

**CloudWatch Logs Insights サンプルクエリを実行するには**

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

1. ナビゲーションペインで、**[Logs]** (ログ)、**[Logs Insights]** (ログのインサイト) の順に選択します。

   **[Logs Insights]** (ログのインサイト) ページでは、Logs Insights QL のクエリエディタにデフォルトクエリが表示されます。デフォルトでは、最新の 20 件のログイベントが返されます。

1. **[Select log group]** (ロググループの選択) ドロップダウンから、クエリを実行するロググループを 1 つ以上選択します。

    これが CloudWatch のクロスアカウントオブザーバビリティのモニタリングアカウントの場合は、モニタリングアカウントだけでなくソースアカウントのロググループも選択できます。1 つのクエリで複数のアカウントのログを一度にクエリできます。

   ロググループは、ロググループ名、アカウント ID、またはアカウントラベルでフィルタリングできます。

   標準ログクラスのロググループを選択すると、CloudWatch Logs Insights はグループ内のデータフィールドを自動的に検出します。検出されたフィールドを表示するには、ページの右上あたりにある **[Fields]** (フィールド) メニューを選択します。
**注記**  
検出されたフィールドは、標準ログクラスのロググループでのみサポートされます。ログクラスの詳細については、「[ログクラス](CloudWatch_Logs_Log_Classes.md)」を参照してください。

1. (オプション) 時間間隔セレクタを使用して、クエリを実行する期間を選択します。

   5～30 分間隔、1 時間、3 時間、12 時間間隔、またはカスタム時間枠を選択できます。

1. **[Run]** (実行) を選択して結果を表示します。

   このチュートリアルでは、最近追加されたログイベントが 20 件表示されます。

   また、CloudWatch Logs は、このロググループのログイベントを時間の経過に従って棒グラフで表示します。この棒グラフは、表に示されるイベントだけでなく、クエリと時間範囲に一致するロググループ内のイベントの分布も示します。

1. 返されたログイベントのすべてのフィールドを表示するには、番号付きイベントの左にある三角形のドロップダウンアイコンを選択します。

## サンプルクエリを変更する
<a name="CWL_AnalyzeLogData_ModifySampleQuery"></a>

このチュートリアルでは、サンプルクエリを変更して、最新のログイベントを 50 件表示します。

前のチュートリアルをまだ実行していない場合は、今すぐ実行してください。このチュートリアルは、前のチュートリアルが終了した箇所から開始します。

**注記**  
CloudWatch Logs Insights に用意されている一部のサンプルクエリでは、`limit` の代わりに `head` または `tail` コマンドを使用します。これらのコマンドは非推奨であり、`limit` に置き換えられています。ユーザーが記述するすべてのクエリで、`limit` または `head` の代わりに `tail` を使用します。

**CloudWatch Logs Insights のサンプルクエリを変更するには**

1. クエリエディタで、**20** を **50** に変更し、[**実行**] を選択します。

   新しいクエリの結果が表示されます。デフォルトの時間範囲でロググループに十分なデータがあるとして、これで 50 件のログイベントが一覧表示されます。

1. (オプション) 作成したクエリは保存できます。このクエリを保存するには、[**保存**] を選択します。詳細については、「[CloudWatch Logs Insights クエリの保存と再実行](CWL_Insights-Saving-Queries.md)」を参照してください。

## サンプルクエリにフィルターコマンドを追加する
<a name="CWL_AnalyzeLogData_FilterQuery"></a>

このチュートリアルでは、クエリエディタを使用してクエリに対してより強力な変更を行う方法を示します。このチュートリアルでは、取得したログイベントのフィールドに基づいて、前のクエリの結果をフィルタリングします。

前のチュートリアルをまだ実行していない場合は、今すぐ実行してください。このチュートリアルは、前のチュートリアルが終了した箇所から開始します。

**前のクエリにフィルターコマンドを追加するには**

1. フィルタリングするフィールドを決定します。過去 15 分間に選択したロググループに含まれるログイベントで CloudWatch Logs により検出された最も一般的なフィールドと、各フィールドが出現するログイベントの割合を確認するには、ページの右側にある [**Fields (フィールド)**] を選択します。

   特定のログイベントに含まれているフィールドを表示するには、その行の左にあるアイコンを選択します。

   ログ内のイベントに応じて、ログイベントに [**awsRegion**] フィールドが表示される場合があります。このチュートリアルの残りの部分では、フィルターフィールドとして [**awsRegion**] を使用しますが、このフィールドが使用できない場合は、別のフィールドを使用できます。

1. クエリエディタボックスで [**50**] の後にカーソルを置き、Enter キーを押します。

1. 新しい行で、最初に \$1 (パイプ文字) とスペースを入力します。CloudWatch Logs Insights クエリのコマンドは、パイプ文字で区切る必要があります。

1. **filter awsRegion="us-east-1"** と入力します。

1. [**Run (実行)**] を選択します。

   クエリが再度実行されます。今回は、新しいフィルターに一致する 50 件の最新の結果が表示されます。

   別のフィールドにフィルターを適用してエラーが発生した場合は、必要に応じてフィールド名をエスケープします。フィールド名に英数字以外の文字が含まれている場合は、フィールド名の前後にバッククォート文字 (`) を挿入します (例: **`error-code`="102"**)。

   英数字以外の文字を含むフィールド名にはバッククォート文字を使用する必要がありますが、値には必要ありません。値は常に引用符 (") で囲まれます。

Logs Insights QL には、強力なクエリ機能として、複数の正規表現のコマンドとサポート、算術演算、統計演算などが含まれています。詳細については、「[CloudWatch Logs Insights 言語のクエリ構文](CWL_QuerySyntax.md)」を参照してください。

# チュートリアル: 集計関数を使用してクエリを実行する
<a name="CWL_AnalyzeLogData_AggregationQuery"></a>

集約関数は、`stats` コマンドで使用できます。また、他の関数の引数としても使用できます。このチュートリアルでは、指定したフィールドを含むログイベントの数をカウントするクエリコマンドを実行します。このクエリコマンドは、指定したフィールドの値でグループ化された合計数を返します。集計関数の詳細については、「Amazon CloudWatch Logs ユーザーガイド**」の「[サポートされているオペレーションと関数](https://docs.aws.amazon.com/en_us/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html#CWL_QuerySyntax-operations-functions)」を参照してください。

**集計関数を使用したクエリの実行方法**

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

1. ナビゲーションペインで、**[Logs]** (ログ)、**[Logs Insights]** (ログのインサイト) の順に選択します。

1. **Logs Insights QL** タブが選択されていることを確認します。

1. **[Select log group]** (ロググループの選択) ドロップダウンから、クエリを実行するロググループを 1 つ以上選択します。

    これが CloudWatch のクロスアカウントオブザーバビリティのモニタリングアカウントの場合は、モニタリングアカウントだけでなくソースアカウントのロググループも選択できます。1 つのクエリで複数のアカウントのログを一度にクエリできます。

   ロググループは、ロググループ名、アカウント ID、またはアカウントラベルでフィルタリングできます。

   ロググループを選択すると、標準クラスロググループの場合 CloudWatch Logs Insights はロググループ内のデータフィールドを自動的に検出します。検出されたフィールドを表示するには、ページの右上あたりにある **[Fields]** (フィールド) メニューを選択します。

1. クエリエディタでデフォルトのクエリを削除し、次のコマンドを入力します。

   ```
   stats count(*) by fieldName
   ```

1. *fieldName* を **[Fields]** (フィールド) メニューから検出されたフィールドに置換します。

   **[Fields]** (フィールド) メニューはページの右上にあり、CloudWatch Logs Insights がロググループ内で検出したすべての検出フィールドがそこに表示されます。

1. **[Run]** (実行) を選択してクエリの結果を表示します。

   クエリの結果には、クエリコマンドに一致するロググループ内のレコード数と、指定したフィールドの値でグループ化された合計数が表示されます。

# チュートリアル: ログフィールド別にグループ化された視覚化を生成するクエリを実行する
<a name="CWL_AnalyzeLogData_VisualizationFieldQuery"></a>

`stats` 関数を使用するクエリを実行して、返された値をログエントリ内の 1 つ以上のフィールドの値別にグループ化すると、結果を棒グラフ、円グラフ、折れ線グラフ、積み上げ面グラフとして表示できます。これにより、ログの傾向をより効率的に視覚化できます。

**視覚化用のクエリを実行するには**

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

1. ナビゲーションペインで、**[Logs]** (ログ)、**[Logs Insights]** (ログのインサイト) の順に選択します。

1. **[Select log group]** (ロググループの選択) ドロップダウンから、クエリを実行するロググループを 1 つ以上選択します。

    これが CloudWatch のクロスアカウントオブザーバビリティのモニタリングアカウントの場合は、モニタリングアカウントだけでなくソースアカウントのロググループも選択できます。1 つのクエリで複数のアカウントのログを一度にクエリできます。

   ロググループは、ロググループ名、アカウント ID、またはアカウントラベルでフィルタリングできます。

1. クエリエディタで、現在の表示内容を削除し、以下の `stats` 関数を入力して、[**クエリの実行**] を選択します。

   ```
   stats count(*) by @logStream 
       | limit 100
   ```

   結果には、各ログストリームのロググループ内のログイベント数が表示されます。結果は 100 行に制限されます。

1. [**Visualization (視覚化)**] タブを選択します。

1. [**線**] の横にある矢印を選択し、[**バー**] を選択します。

   棒グラフが表示され、ロググループ内のログストリームごとに棒が表示されます。

# チュートリアル: 時系列の視覚化を生成するクエリを実行する
<a name="CWL_AnalyzeLogData_VisualizationQuery"></a>

`bin()` 関数を使用するクエリを実行して、返された値を期間別にグループ化すると、結果を折れ線グラフ、積み上げ面グラフ、円グラフ、棒グラフとして表示できます。これにより、時間の経過に伴うログイベントの傾向をより効率的に視覚化できます。

**視覚化用のクエリを実行するには**

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

1. ナビゲーションペインで、**[Logs]** (ログ)、**[Logs Insights]** (ログのインサイト) の順に選択します。

1. **Logs Insights QL** タブが選択されていることを確認します。

1. **[Select log group]** (ロググループの選択) ドロップダウンから、クエリを実行するロググループを 1 つ以上選択します。

    これが CloudWatch のクロスアカウントオブザーバビリティのモニタリングアカウントの場合は、モニタリングアカウントだけでなくソースアカウントのロググループも選択できます。1 つのクエリで複数のアカウントのログを一度にクエリできます。

   ロググループは、ロググループ名、アカウント ID、またはアカウントラベルでフィルタリングできます。

1. クエリエディタで、現在の表示内容を削除し、以下の `stats` 関数を入力して、[**クエリの実行**] を選択します。

   ```
   stats count(*) by bin(30s)
   ```

   結果として、CloudWatch Logs が 30 秒間隔で受信したロググループ内のログイベントの数が表示されます。

1. [**Visualization (視覚化)**] タブを選択します。

   結果が折れ線グラフとして表示されます。棒グラフ、円グラフ、積み上げ面グラフに切り替えるには、グラフの右上で [**Line (線)**] を選択します。