SOURCE - Amazon CloudWatch Logs

SOURCE

クエリに SOURCE を含めると、AWS CLI または API を使用してクエリを作成する際、クエリに含めるロググループを指定するのに役立ちます。SOURCE コマンドは、CloudWatch コンソールではなく、AWS CLI および API でのみサポートされます。CloudWatch コンソールを使用してクエリを開始する場合は、コンソールインターフェイスを使用してロググループを指定します。

SOURCE を使用してクエリするロググループを指定するには、次のキーワードを使用できます。

  • namePrefix は、指定した文字列で始まる名前を持つロググループに対してクエリを実行します。これを省略すると、すべてのロググループがクエリされます。

    リストには最大 5 つのプレフィックスを含めることができます。

  • accountIdentifiers は、指定された AWS アカウントのロググループに対してクエリを実行します。これは、モニタリングアカウントでクエリを実行する場合にのみ機能します。これを省略した場合、デフォルトでは、リンクされたすべてのソースアカウントと現在のモニタリングアカウントをクエリします。クロスアカウントオブザーバビリティについて詳しくは「CloudWatch cross-account observability」を参照してください。

    リストには最大 20 個のアカウント識別子を含めることができます。

  • logGroupClass は、標準アクセスまたは低頻度アクセスのいずれかの指定されたログクラスにあるロググループに対してクエリを実行します。これを省略した場合、デフォルトの標準ログクラスが使用されます。ログクラスの詳細については、「ログクラス」を参照してください。

この方法でクエリを実行するために多数のロググループを指定できるため、作成したフィールドインデックスを利用するクエリでのみ SOURCE を使用することをお勧めします。インデックスフィールドの詳細については、「フィールドインデックスを作成してクエリパフォーマンスを改善し、スキャン量を削減する」を参照してください。

次の例では、アカウント内のすべてのロググループを選択します。これがモニタリングアカウントの場合、モニタリング全体のロググループとすべてのソースアカウントが選択されます。ロググループの総数が 10,000 を超える場合は、別のロググループ選択方法を使用してロググループの数を減らすように求めるエラーが表示されます。

SOURCE logGroups()

次の例では、111122223333 ソースアカウント内のロググループを選択します。CloudWatch のクロスアカウントオブザーバビリティのモニタリングアカウントでクエリを開始する場合は、すべてのソースアカウントだけではなくそのモニタリングアカウントのロググループもデフォルトで選択されます。

SOURCE logGroups(accountIdentifiers:['111122223333'])

次の例では、名前プレフィックスに基づいてロググループを選択します。

SOURCE logGroups(namePrefix: ['namePrefix1', 'namePrefix2'])

次の例では、低頻度アクセスログクラスのすべてのロググループを選択します。class 識別子を含めない場合、クエリはデフォルトである標準ログクラスのロググループにのみ適用されます。

SOURCE logGroups(class: ['INFREQUENT_ACCESS'])

次の例では、特定の名前プレフィックスで始まり、標準ログクラスにある 111122223333 アカウントのロググループを選択します。Standard がデフォルトのログクラス値であるため、このクラスはコマンドで説明されません。

SOURCE logGroups(accountIdentifiers:['111122223333'], namePrefix: ['namePrefix1', 'namePrefix2']

最後の例は、start-query AWS CLI コマンドで SOURCE コマンドを使用する方法を示しています。

aws logs start-query --region us-east-1 --start-time 1729728200 --end-time 1729728215 --query-string "SOURCE logGroups(namePrefix: ['Query']) | fields @message | limit 5"