翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
自然言語を使用して Logs Insights CloudWatch クエリを生成および更新する
注記
この機能は、 CloudWatch ログの米国東部 (バージニア北部)、米国西部 (オレゴン)、アジアパシフィック (東京) で一般利用可能です。
CloudWatch Logs は自然言語クエリ機能をサポートしており、CloudWatch Logs Insights および CloudWatch Metrics Insights のクエリの生成と更新に役立ちます。
この機能を使用すると、探している CloudWatch ログデータをプレーン英語で質問したり、説明したりできます。自然言語機能は、入力したプロンプトに基づいてクエリを生成し、クエリの仕組み line-by-line を説明します。また、さらにデータを詳しく調査できるように、生成されたクエリを更新することもできます。
環境に応じて、「転送されたバイト数で上位 100 のソース IP アドレスは何ですか?」などのプロンプトを入力できます。および「Lambda 関数のリクエストの速度が最も遅い 10 件を検索します」
この機能を使用して CloudWatch Logs Insights クエリを生成するには、Logs Insights CloudWatch クエリエディタを開き、クエリするロググループを選択し、クエリの生成 を選択します。
重要
自然言語クエリ機能を使用するには、CloudWatchLogsFullAccess、、CloudWatchLogsReadOnlyAccess、AdministratorAccessまたは ReadOnlyAccessポリシーを使用する必要があります。
また、新規または既存のカスタマー管理ポリシーまたはインラインポリシーに cloudwatch:GenerateQuery
アクションを含めることもできます。
クエリの例
このセクションの例では、自然言語機能を使用して、クエリを生成し更新する方法について説明します。
注記
CloudWatch Logs Insights クエリエディタと構文の詳細については、「Logs CloudWatch Insights クエリ構文」を参照してください。
例: 自然言語クエリを生成する
自然言語を使用してクエリを生成するには、プロンプトを入力し、[新しいクエリを生成] を選択します。この例は、基本的な検索を実行するクエリを示しています。
プロンプト
以下は、Lambda 関数の呼び出しが最も遅い 10 件を検索する機能を指定するプロンプトの例です。
Find the 10 slowest requests
Query
次に、このプロンプトに基づいて自然言語機能が生成するクエリの例を示します。プロンプトがクエリの前にあるコメントにどのように表示されるかに注意してください。クエリの後に、クエリの仕組みを説明した文があります。
# Find the 10 slowest requests fields @timestamp, @message, @duration | sort @duration desc | limit 10 # This query retrieves the timestamp, message and duration fields from the logs and sorts them in descending order by duration to find the 10 slowest requests.
注記
プロンプトとクエリの仕組みを説明した文が表示されないようにするには、エディタの歯車アイコンを使用します。
例: 自然言語クエリを更新する
生成済みのプロンプトを編集し、[クエリを更新] を選択することで、クエリを更新できます。
プロンプトの更新
次の例は、先ほどのプロンプトを更新したものを示しています。このプロンプトは、Lambda 関数の呼び出しが最も遅い 10 件を検索するプロンプトの代わりに、Lambda 関数の呼び出しが最も遅い 20 件を検索し、追加のログイベントに別の列を含めるように指示するようになりました。
Show top 20 slowest requests instead and display requestId as a column
クエリの更新
次に、更新したクエリの例を示します。更新したプロンプトが更新したクエリの前にあるコメントにどのように表示されるかに注意してください。クエリの後に、元のクエリがどのように更新されたかを説明した文があります。
# Show top 20 slowest requests instead and display requestId as a column fields @timestamp, @message, @requestId, @duration | sort @duration desc | limit 20 # This query modifies the original query by replacing the @message field with the @requestId field and changing the limit from 10 to 20 to return the top 20 log events by duration instead of the top 10.
サービス改善のためのデータ使用をオプトアウトする
AI モデルをトレーニングし、該当するクエリを生成するために提供した自然言語プロンプトデータは、サービスを提供して維持するためにのみ使用されます。このデータは、Logs Insights CloudWatch の品質を向上させるために使用される場合があります。お客様の信頼、プライバシー、コンテンツのセキュリティが当社の最優先事項です。詳細については、「AWS サービス規約
自然言語クエリの開発や品質改善に自分のコンテンツが使用されないようにオプトアウトするには、AI サービスオプトアウトポリシーを作成します。クエリ生成機能を含むすべての CloudWatch Logs AI 機能のデータ収集をオプトアウトするには、 CloudWatch Logs のオプトアウトポリシーを作成する必要があります。詳細については、「AWS Organizations ユーザーガイド」の「AI サービスオプトアウトポリシー」を参照してください。