Amazon CloudWatch Logs
ユーザーガイド

チュートリアル: サンプルクエリを実行および変更する

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

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

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

サンプルクエリを実行する

最初にサンプルクエリを実行します。

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

  1. https://console.aws.amazon.com/cloudwatch/にある CloudWatch コンソールを開きます。

  2. ナビゲーションペインで、[Insights] を選択します。

    画面の上部にクエリエディタがあります。CloudWatch Logs Insights を初めて開くと、このボックスにデフォルトクエリが表示されます。デフォルトでは、最新の 20 件のログイベントが返されます。

  3. クエリエディタの上で、クエリを実行する対象のロググループを選択します。

    ロググループを選択すると、CloudWatch Logs Insights はロググループのデータのフィールドを自動的に検出し、右側のペインの [Discovered fields (検出済みフィールド)] に表示します。また、このロググループのログイベントを時間の経過に従って棒グラフで表示します。この棒グラフは、表に示されるイベントだけでなく、クエリと時間範囲に一致するロググループ内のイベントの分布を示します。

  4. [クエリの実行] を選択します。

    クエリの結果が表示されます。この例では、タイプを問わず、最新の 20 件のログイベントが結果として表示されます。

  5. 返されたログイベントのいずれかについて、すべてのフィールドを表示するには、そのログイベントの左側にある矢印を選択します。

サンプルクエリを変更する

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

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

注記

CloudWatch Logs Insights に用意されている一部のサンプルクエリでは、limit の代わりに head コマンドや tail コマンドを使用しています。これらのコマンドは廃止済みであり、limit に置き換えられています。limit を使用し、tail in all queries you write.head は使用しないでください。

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

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

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

サンプルクエリにフィルターコマンドを追加する

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

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

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

  1. フィルタリングするフィールドを決定します。特定のログイベントに含まれているフィールドを表示するには、その行の左にある矢印を選択します。[Discovered fields (検出済みフィールド)] 領域に、このロググループが過去 15 分間に受信したログイベントにおいて、CloudWatch Logs が検出した最も一般的なフィールドと、各フィールドが表示されているログイベントの割合 (%) が表示されます。[Discovered fields (検出済みフィールド)] が表示されていない場合は、画面の右上にある左矢印を選択し、右側のパネルを開きます。

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

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

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

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

  5. [クエリの実行] を選択します。

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

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

    バックティック文字 (`) は、フィールド名に英数字以外の文字が含まれている場合に必要ですが、値には必要ありません。値は、常に二重引用符 (") で囲みます。

CloudWatch Logs Insights には、強力なクエリ機能として、複数の正規表現のコマンドとサポート、算術オペレーション、統計オペレーションなどが含まれています。詳細については、「CloudWatch Logs Insights クエリ構文」を参照してください。