View a markdown version of this page

マネージドナレッジベースのオブザーバビリティ - Amazon Bedrock

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

マネージドナレッジベースのオブザーバビリティ

マネージドナレッジベースの場合、Amazon Bedrock は運用メトリクスと取り込みログを AWS アカウントに発行し、ナレッジベースのヘルスと使用状況をモニタリングできるようにします。ランタイムメトリクスを使用すると、ナレッジベース API オペレーションのリクエストボリューム、エラー、スロットリングを追跡でき、取り込みログを使用すると、データ取り込みジョブ中の個々のドキュメントのステータスを追跡できます。以下のセクションでは、使用可能なオブザーバビリティデータとそのアクセス方法について説明します。

マネージドナレッジベースのランタイムメトリクス

Amazon Bedrock は、ナレッジベース API オペレーションのランタイムメトリクスを AWS/Bedrock/KnowledgeBases名前空間の Amazon CloudWatch に発行します。これらのメトリクスを使用して、 などのオペレーションの呼び出しボリューム、エラー率、スロットリングをモニタリングしますRetrieve。メトリクスは追加料金なしでアカウントに発行され、CloudWatch コンソールに表示されます。

次の表は、Amazon Bedrock がマネージドナレッジベース用に公開するランタイムメトリクスを示しています。

メトリクス名 Unit 説明
呼び出し カウント

ナレッジベースオペレーションへのリクエストの数。このメトリクスは、エラーが発生するリクエストを含め、すべてのリクエストに対して発行されます。

ClientErrors カウント

クライアント側のエラー (スロットリング以外の HTTP 4xxレスポンス) が発生したリクエストの数。

ServerErrors カウント

サーバー側のエラー (HTTP 5xxレスポンス) が発生したリクエストの数。

Throttles カウント

スロットリングされたリクエストの数 (HTTP 429レスポンス)。スロットリングされたリクエストは、 ClientErrorsまたは としてカウントされませんServerErrors

ClientErrors、、および ThrottlesメトリクスはServerErrors、対応する条件が発生した場合にのみ発行されます。Invocations メトリクスは、リクエストごとに発行されます。

AgenticRetrieveStream オペレーションの追加メトリクス

前の表のメトリクスに加えて、 AgenticRetrieveStreamオペレーションは次のメトリクスを発行します。

メトリクス名 Unit 説明
TotalIterationCount カウント

リクエスト中に実行されたエージェント取り出しの反復の合計数。このメトリクスは、リクエストが正常に完了したときに、 AgenticRetrieveStreamオペレーションに対してのみ発行されます。

このメトリクスは、値 の Operationディメンションを使用しますAgenticRetrieveStream

マネージドナレッジベースメトリクスのディメンション

Amazon Bedrock は、マネージドナレッジベースのランタイムメトリクスに次のディメンションを使用します。

ディメンション 説明
運用

メトリクスが公開されるナレッジベース API オペレーション。指定できる値は Retrieve および AgenticRetrieveStream です。

KnowledgeBaseId

リクエストがターゲットとするナレッジベース。形式は ですknowledge-base/knowledge-base-id。このディメンションは、単一のナレッジベースをターゲットとする Retrieveオペレーションに含まれます。単一のナレッジベースをターゲットとしないオペレーションは、 Operationディメンションでのみ公開されます。

メトリクスを発行するためのアクセス許可

Amazon Bedrock は、リクエストに関連付けられた認証情報を使用して、これらのメトリクスをアカウントに発行します。

  • Retrieve オペレーションでは、Amazon Bedrock はナレッジベースサービスロールを使用します。

  • その他のオペレーションでは、Amazon Bedrock は転送アクセスセッションを通じて呼び出し元の ID (オペレーションを呼び出す IAM ユーザーまたはロール) の認証情報を使用します。

メトリクスを発行するには、その ID がAWS/Bedrock/KnowledgeBases名前空間cloudwatch:PutMetricDataの を呼び出すことを許可する必要があります。このアクセス許可を付与するポリシーをナレッジベースサービスロールとナレッジベースオペレーションを呼び出す任意の ID にアタッチします。次の の例では、必要なアクセス許可を付与します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudwatch:PutMetricData", "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "AWS/Bedrock/KnowledgeBases" } } } ] }

メトリクスの発行はベストエフォートです。ID に必要なアクセス許可がない場合、対応するメトリクスは発行されませんが、ナレッジベースリクエスト自体は影響を受けません。

ランタイムメトリクスを表示する

ナレッジベースのメトリクスは、 AWS マネジメントコンソール、、 AWS CLIまたは CloudWatch API を使用して取得できます。CloudWatch API は、 AWS Software Development Kit (SDKsまたは CloudWatch API ツールのいずれかを使用して使用できます。

CloudWatch コンソールでマネージドナレッジベースのメトリクスを表示するには、ナビゲーションペインのメトリクスセクションに移動し、すべてのメトリクスオプションを選択し、AWS/Bedrock/KnowledgeBases名前空間を検索します。

CloudWatch でナレッジベースをモニタリングするには、適切な CloudWatch アクセス許可が必要です。詳細については、「Amazon CloudWatch ユーザーガイド」「Authentication and Access Control for Amazon CloudWatch」(Amazon CloudWatch に対する認証とアクセスコントロール) を参照してください。

マネージドナレッジベースのストレージメトリクス

マネージドナレッジベースの場合、Amazon Bedrock は AWS/Bedrock/KnowledgeBases名前空間の Amazon CloudWatch にストレージメトリクスを発行します。このメトリクスは、ナレッジベースに保存されているソースデータの合計 raw サイズをレポートし、データ取り込みジョブの完了後にアカウントに発行されるため、ナレッジベースに保存されているデータ量を経時的に追跡できます。

次の表は、Amazon Bedrock がマネージドナレッジベース用に公開するストレージメトリクスを示しています。

メトリクス名 Unit 説明
RawDataSize Gigabytes

ナレッジベースに保存されているソースデータの合計 raw サイズをギガバイト単位で表します。このメトリクスは、データ取り込みジョブの完了後に発行されます。

ストレージメトリクスは、 形式の KnowledgeBaseIdディメンションを使用しますknowledge-base/knowledge-base-id

マネージドナレッジベースの取り込みオブザーバビリティ

Amazon Bedrock は、全体的なジョブステータスや処理される各ドキュメントのステータスなど、マネージドナレッジベースのデータ取り込みジョブの進行状況を追跡するログを出力します。これらのログを使用して、取り込まれたドキュメントの確認、取得結果でドキュメントが返されなかった理由の調査、および取り込み失敗のトラブルシューティングを行うことができます。

ログは、設定した送信先 (CloudWatch Logs、Amazon S3、または Amazon Data Firehose) に配信されます。以下のセクションでは、ログ配信を有効にする方法、取り込み中のドキュメントのライフサイクル、出力されるログタイプ、クエリの例について説明します。

取り込みログ配信を有効にする

取り込みログを受信するには、 AWS マネジメントコンソール または CloudWatch API を使用してナレッジベースのログ配信を設定します。CloudWatch Logs、Amazon S3、または Amazon Data Firehose にログを配信できます。

コンソールを使用してログ配信を有効にする

  1. ナレッジベースを開く: Amazon Bedrock コンソールで、モニタリングするマネージドナレッジベースを開きます。

  2. ログ配信の追加: ナレッジベースを編集してログ配信を追加し、次の詳細を設定します。

    • ログ記録先 (CloudWatch Logs、Amazon S3、または Amazon Data Firehose)。

    • (CloudWatch Logs) ロググループ名。

    • (Amazon S3) バケット名。

    • (Amazon Data Firehose) Firehose ストリーム。

  3. 配信ステータスの確認: コンソールでログ配信ステータスが配信アクティブであることを確認します。

CloudWatch API を使用してログ配信を有効にする

  1. ナレッジベースの ARN を取得する: GetKnowledgeBase API を呼び出して、ナレッジベースの Amazon リソースネーム (ARN) を取得します。ナレッジベースの ARN の形式は、arn:aws:bedrock:your-region:your-account-id:knowledge-base/knowledge-base-id です。

  2. 呼びPutDeliverySource出す: PutDeliverySource API を使用して、ナレッジベースの配信ソースを作成します。ナレッジベース ARN を として渡しresourceArn、 を APPLICATION_LOGSとして指定しますlogType

    { "logType": "APPLICATION_LOGS", "name": "my-knowledge-base-delivery-source", "resourceArn": "arn:aws:bedrock:your-region:your-account-id:knowledge-base/knowledge_base_id" }
  3. 呼びPutDeliveryDestination出す: PutDeliveryDestination API を使用して、ログの保存先を設定します。CloudWatch Logs、Amazon S3、または Amazon Data Firehose の送信先の ARN を指定します。は、、jsonplainw3crawまたは outputFormatに設定できますparquet

    { "deliveryDestinationConfiguration": { "destinationResourceArn": "arn:aws:s3:::bucket-name" }, "name": "my-knowledge-base-delivery-destination", "outputFormat": "json" }

    別のアカウントにログを配信する場合は、 PutDeliveryDestinationPolicy API を使用して (IAM) ポリシーを送信先アカウントにアタッチ AWS Identity and Access Management します。

  4. 呼びCreateDelivery出す: CreateDelivery API を使用して、配信ソースを配信先にリンクします。

    { "deliveryDestinationArn": "string", "deliverySourceName": "my-knowledge-base-delivery-source" }

サポートされているログタイプとアクセス許可

マネージドナレッジベースは、次のログタイプをサポートしています。

  • APPLICATION_LOGS: 取り込みジョブのステータスと、ジョブ中に処理される各ドキュメントのステータスを追跡するログ。

  • TRACES: ランタイムオペレーションの分散トレース (スパン)。トレースは Retrieveオペレーションに対してのみ出力され、 AWS X-Ray に配信されます。詳細については、「マネージドナレッジベースのトレースオブザーバビリティ」を参照してください。

ログ配信を有効にするには、ユーザーまたはロールに、選択した宛先への書き込みに必要なbedrock:AllowVendedLogDeliveryForResourceアクセス許可に加えて、ナレッジベースリソースのアクセス許可が必要です。各送信先の IAM ポリシーの例については、Amazon CloudWatch Logs ユーザーガイド」の「さまざまな配信先の Vended Logs アクセス許可」を参照してください。

取り込み中のドキュメントのライフサイクル

データ取り込みジョブ中、各ドキュメントは 3 つのステージを移動し、ドキュメントのログには各ステージのステータスが記録されます。

  • クロール (crawl_status): Amazon Bedrock はデータソースからドキュメントを取得し、追加、更新、または削除する必要があるかどうかを判断します。crawl_action フィールドは、ADDDELETE、または に設定されますUNMODIFIED。残りのステージでスキップUNMODIFIEDされるドキュメント。

  • Sync (sync_status): ドキュメントはナレッジベースで処理するために送信されます。

  • インデックス (index_status): ドキュメントはチャンク化され、埋め込まれ、ナレッジベースに保持されます。chunk_statistics フィールドは、作成または削除されたチャンクを要約します。

各ステージのステータスは SUCCESSまたは ですFAILEDconnector_document_status フィールドはドキュメントの統合ステータスを報告し、error_messageフィールドはドキュメントが処理に失敗した場合にのみ入力されます。

ログタイプと例

Amazon Bedrock は、マネージドナレッジベース取り込みジョブの 2 種類のログエントリを event_typeフィールドで識別して出力します。

  • StartIngestionJob.StatusChanged – クロールの開始時や完了時など、取り込みジョブ全体の進行状況を記録するジョブレベルのログ。message フィールドには、 Crawling startedや など、人間が読めるステータスが含まれますCrawling completed

  • StartIngestionJob.ResourceStatusChanged – 個々のドキュメントの処理ステータスを記録するドキュメントレベルのログ。

以下は、ジョブレベルのステータスログの例です。

{ "event_timestamp": 1718677300000, "event": { "ingestion_job_id": "<IngestionJobId>", "data_source_id": "<DataSourceId>", "knowledge_base_arn": "arn:aws:bedrock:<region>:<accountId>:knowledge-base/<KnowledgeBaseId>", "message": "Crawling started" }, "event_version": "1.0", "event_type": "StartIngestionJob.StatusChanged", "level": "INFO" }

以下は、1 つのドキュメントの処理ステータスを記録するドキュメントレベルのログの例です。

{ "event_timestamp": 1718677342332, "event": { "ingestion_job_id": "<IngestionJobId>", "data_source_id": "<DataSourceId>", "knowledge_base_arn": "arn:aws:bedrock:<region>:<accountId>:knowledge-base/<KnowledgeBaseId>", "document_id": "<DocumentId>", "source_uri": "<SourceUri>", "content_type": "<ContentType>", "crawl_action": "ADD" | "DELETE" | "UNMODIFIED", "index_status": { "Status": "SUCCESS" | "FAILED", "UpdatedTime": "<epochMillis>" }, "crawl_status": { "Status": "SUCCESS" | "FAILED", "UpdatedTime": "<epochMillis>" }, "sync_status": { "Status": "SUCCESS" | "FAILED", "UpdatedTime": "<epochMillis>" }, "chunk_statistics": { "created": int, "deleted": int, "failed_to_create": int, "failed_to_delete": int }, "error_message": "<ErrorMessage>" }, "event_version": "1.0", "event_type": "StartIngestionJob.ResourceStatusChanged", "level": "INFO" | "ERROR" }

error_message フィールドは、ドキュメントが処理に失敗した場合にのみ存在します。chunk_statistics フィールドは、ドキュメントに対して作成または削除されたチャンクを要約します。

一部のドキュメントレベルのログでは、上記のステータスフィールドではなくコネクタステータスメッセージがレポートされます。これらのログには、人間が読める説明 (ドキュメントを取得または削除できなかったことを示すメッセージなど) を含むmessageフィールドと、INFOWARN、または levelの が含まれますERROR

クエリの例

CloudWatch Logs にログを配信する場合、CloudWatch Logs Insights を使用してナレッジベースの取り込みログをクエリできます。以下は、一般的なクエリです。

  • 取り込み中に処理に失敗したすべてのドキュメントを、エラーメッセージとともに一覧表示します。

    filter event.connector_document_status.Status = "FAILED" | fields event.document_id, event.source_uri, event.error_message, @timestamp | sort @timestamp desc

  • 特定のドキュメントのすべてのログエントリをソースの場所別に検索します。

    filter event.source_uri = "s3://<bucketName>/<objectKey>" | fields event.document_id, event.connector_document_status.Status, @timestamp | sort @timestamp desc

  • 特定の取り込みジョブによって処理されたすべてのドキュメントを一覧表示します。

    filter event.ingestion_job_id = "<IngestionJobId>" | fields event.document_id, event.connector_document_status.Status, @timestamp | sort @timestamp desc

  • クロールの開始時と完了時など、取り込みジョブの全体的な進行状況を表示します。

    filter event_type = "StartIngestionJob.StatusChanged" | fields event.message, @timestamp | sort @timestamp asc

マネージドナレッジベースのトレースオブザーバビリティ

Amazon Bedrock はナレッジベースのランタイムオペレーション用に分散トレース (スパン) を出力できるため、リクエストのレイテンシーとリクエストの内部ステップを分析できます。トレースは Retrieveオペレーションに対してのみ出力され、AWS X-Ray に配信されます。トレース配信は、ログタイプと X-Ray 配信先を使用して、取り込みログと同じ販売TRACES済みログ配信パイプラインを使用します。

CloudWatch API を使用してトレース配信を有効にする

AWS X-Ray にトレースを配信するには、以下の手順に従って CloudWatch API を使用して配信を作成します。

  1. 呼びPutDeliverySource出す: PutDeliverySource API を使用して、ナレッジベースの配信ソースを作成します。ナレッジベース ARN を として渡しresourceArn、 を TRACESとして指定しますlogType

  2. 呼びPutDeliveryDestination出す: deliveryDestinationTypeの で PutDeliveryDestination API を使用しますXRAY。X-Ray はマネージド送信先であるため、 を指定しませんdestinationResourceArn。レスポンスで返される ARN を書き留めます。

  3. 呼びCreateDelivery出す: CreateDelivery API を使用して、配信ソース名を X-Ray 配信先 ARN にリンクします。

注記

これらの API コールはべき等です。リソースが既に存在する場合は、 ConflictExceptionまたは を安全に無視できますResourceAlreadyExistsException

トレース配信のアクセス許可

トレース配信を有効にするには、ユーザーまたはロールに、X-Ray への AWS 配信に必要なbedrock:AllowVendedLogDeliveryForResourceアクセス許可に加えて、ナレッジベースリソースのアクセス許可が必要です。

トレースの表示

トレース配信を有効にしたら、 Retrieveオペレーションを呼び出してトレースを生成し、 AWS X-Ray コンソールで表示します。

マネージドナレッジベースの AgentCore オブザーバビリティ

Amazon Bedrock は、マネージドナレッジベースのオブザーバビリティデータを Amazon Bedrock AgentCore オブザーバビリティエクスペリエンスと統合し、ナレッジベースのメトリクスとトレースを他の AgentCore テレメトリとともに統合表示できるようにします。

この統合に追加の設定は必要ありません。前のセクションで説明したようにランタイムメトリクスとトレース配信を有効にすると、AgentCore オブザーバビリティページに、対応するナレッジベースデータが自動的に入力されます。実行する追加のアクションはありません。

注記

AgentCore オブザーバビリティ統合は、マネージドナレッジベースでのみ使用できます。

カスタマーサポートとトラブルシューティング

Amazon Bedrock マネージドナレッジベースは、顧客が報告した問題に応じてデバッグサポートを提供するためにのみ、顧客クエリと関連する取得データを一時的に保存します。サポート契約中にお客様が明示的に同意しない限り、AWS はこのデータにアクセスしません。Amazon Bedrock は、基盤となるモデルのトレーニングや改善にこのデータを使用しません。