翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CloudWatch Logs Insights クエリの保存と再実行
作成したクエリは、後で再度実行できるように保存できます。保存したクエリは、フォルダ構造が保持されるため、整理された状態を保つことができます。アカウントごとに、リージョンあたり最大 1000 件保存できます。
クエリは、ユーザー固有のレベルではなく、リージョン固有のレベルに保存されます。クエリを作成して保存すると、同じリージョンで CloudWatch Logs にアクセスできる他のユーザーは、リージョンで保存されたすべてのクエリとそのフォルダ構造を表示できます。
クエリを保存するには、アクセス許可 logs:PutQueryDefinition を持つロールにログインする必要があります。保存されたクエリのリストを表示するには、アクセス許可 logs:DescribeQueryDefinitions を持つロールにログインする必要があります。
注記
パラメータを使用してクエリを作成および保存できます。名前付きプレースホルダーを持つ再利用可能なテンプレートです。同じクエリの複数のバリエーションを異なる値で保存する代わりに、1 つのテンプレートを作成し、実行時に異なるパラメータ値を指定します。この機能は現在、Logs Insights クエリ言語を使用するクエリでのみサポートされています。詳細については、「パラメータを使用した保存済みクエリの使用」を参照してください。
ヒント
PutQueryDefinition で保存したクエリー用のフォルダを作成することができます。保存したクエリ用のフォルダを作成するには、スラッシュ (/) を使用して、目的のクエリ名の前に目的のフォルダ名を付加します: <。このリソースの更新の詳細については、「PutQueryDefinition」を参照してください。folder-name>/<query-name>
保存したクエリの新しいバージョンを保存するには
CloudWatch コンソールの https://console.aws.amazon.com/cloudwatch/
を開いてください。 -
ナビゲーションペインで、[Logs] (ログ)、[Logs Insights] (ログのインサイト) の順に選択します。
-
右側の [クエリ] を選択します。
-
[保存されたクエリ] リストからクエリを選択します。クエリエディタに表示されます。
-
クエリを修正します。作業を確認するために実行する必要がある場合は、[クエリの実行] を選択します。
-
新しいバージョンを保存する準備ができたら、[アクション]、[名前を付けて保存] の順に選択します。
-
クエリの名前を入力します。
-
(オプション) クエリを保存するフォルダを選択します。[新規作成] を選択して、フォルダを作成します。新しいフォルダを作成した場合、フォルダ名にスラッシュ (/) 文字を使用してフォルダ構造を定義できます。たとえば、新しいフォルダに
folder-level-1/folder-level-2という名前を付けると、folder-level-1という最上位フォルダが作成され、そのフォルダ内にfolder-level-2という別のフォルダが作成されます。クエリはfolder-level-2に保存されます。 -
(オプション) クエリのロググループまたはクエリテキストを変更します。
-
[Save] を選択します。
クエリを削除するには、logs:DeleteQueryDefinition アクセス許可を持つロールにログインする必要があります。
保存したクエリを編集または削除するには
CloudWatch コンソールの https://console.aws.amazon.com/cloudwatch/
を開いてください。 -
ナビゲーションペインで、[Logs] (ログ)、[Logs Insights] (ログのインサイト) の順に選択します。
-
右側の [クエリ] を選択します。
-
[保存されたクエリ] リストからクエリを選択します。クエリエディタに表示されます。
-
[アクション]、[編集]、または [アクション]、[削除] を選択します。
パラメータを使用した保存済みクエリの使用
パラメータを含む保存されたクエリは、名前付きプレースホルダーを持つ再利用可能なクエリテンプレートです。ほぼ同一のクエリの複数のコピーを維持する代わりに、テンプレートを保存し、クエリの実行時に異なるパラメータ値を指定できます。パラメータは CloudWatch Logs Insights クエリ言語でのみサポートされます。
仕組み
クエリを保存する場合、プレースホルダーはクエリ実行時に指定できる値を識別します。プレースホルダーは {{parameterName}}構文を使用します。以下は、 logLevelと の 2 つのパラメータErrorsByLevelを持つ という名前の保存済みクエリの例ですapplicationName。
fields @timestamp, @message | filter level = {{logLevel}} | filter applicationName = {{applicationName}}
保存済みクエリを実行するには、 というプレフィックスが付いたクエリ名を使用してクエリを呼び出し$、パラメータ値を渡します。CloudWatch Logs Insights クエリエンジンは、各プレースホルダーを置き換えます。パラメータにデフォルト値が含まれている場合、他の値が指定されていない場合はそれらの値が使用されます。
# Run query by using query name and passing parameter values explicitly $ErrorsByLevel(logLevel = "WARN", applicationName = "OrderService") # Run query without specifying parameter values - default values are used in this case. $ErrorsByLevel()
スペースまたは特殊文字を含む保存されたクエリ名は、バックティックで囲む必要があります。
$`Errors By Level`(logLevel = "WARN")
パラメータを含む保存済みクエリのサンプル
パラメータとして結果制限を追加する
クエリ名: パラメータErrorsByLevel付き logLevel (デフォルト: "ERROR")、 applicationName (デフォルト: "OrderService")、および maxResults (デフォルト: 50)
fields @timestamp, @message, @logStream | filter level = {{logLevel}} | filter applicationName = {{applicationName}} | sort @timestamp desc | limit {{maxResults}}
# Run the query using the query name and passing parameter values $ErrorsByLevel(logLevel = "WARN", applicationName = "OrderService", maxResults = 100)
パラメータで複数の保存されたクエリを使用する
以下の例では、 ErrorsByLevelおよび として定義された 2 番目の保存RecentN済みクエリ sort @timestamp desc | limit {{count}} (パラメータ 、countデフォルト ) を使用します20。CloudWatch Logs Insights クエリエンジンは、各クエリを実行する前に展開します。
# Using multiple queries with parameters in sequence $ErrorsByLevel(logLevel = "WARN", applicationName = "OrderService") | $RecentN(count = 10) # Each of the queries is expanded, resulting in the following query when it is run. fields @timestamp, @message | filter level = "WARN" | filter applicationName = "OrderService" | sort @timestamp desc | limit 10
クォータとエラー処理
注記
保存された各クエリには、最大 20 個のパラメータを含めることができます。
展開されたクエリ文字列は 10,000 文字を超えることはできません。パラメータ名は文字またはアンダースコアで始まる必要があります。保存されたクエリは、別の保存されたクエリを参照できません (ネストされた呼び出しはサポートされていません)。
| エラー | 原因 |
|---|---|
パラメータは CWLI クエリ言語でのみサポートされています |
パラメータは CloudWatch Logs Insights クエリ言語でのみサポートされます。 |
queryString にない必須パラメータ |
のパラメータ名には、クエリ文字列 |
パラメータ数が最大 20 を超えています |
保存されたクエリは現在、20 個のパラメータのみをサポートしています。 |
重複するパラメータ名 |
クエリ定義には、 に重複するパラメータがあります |
注記
パラメータを使用して保存されたクエリを作成または更新するには、 アクセスlogs:PutQueryDefinition許可が必要です。これを実行するには、 logs:StartQueryと が必要ですlogs:DescribeQueryDefinitions。