기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
관리형 지식 기반에 대한 관찰성
관리형 지식 기반의 경우 Amazon Bedrock은 운영 지표 및 수집 로그를 AWS 계정에 게시하므로 지식 기반의 상태와 사용량을 모니터링할 수 있습니다. 런타임 지표를 사용하면 지식 기반 API 작업에 대한 요청 볼륨, 오류 및 제한을 추적할 수 있으며, 수집 로그를 사용하면 데이터 수집 작업 중에 개별 문서의 상태를 추적할 수 있습니다. 다음 섹션에서는 사용 가능한 관찰성 데이터와 이에 액세스하는 방법을 설명합니다.
관리형 지식 기반에 대한 런타임 지표
Amazon Bedrock은 지식 기반 API 작업에 대한 런타임 지표를 AWS/Bedrock/KnowledgeBases 네임스페이스 아래의 Amazon CloudWatch에 게시합니다. 이러한 지표를 사용하여와 같은 작업에 대한 호출 볼륨, 오류율 및 제한을 모니터링할 수 있습니다Retrieve. 지표는 추가 비용 없이 계정에 게시되며 CloudWatch 콘솔에 표시됩니다.
다음 표에서는 Amazon Bedrock이 관리형 지식 기반에 대해 게시하는 런타임 지표를 설명합니다.
| 지표 이름 | 단위 | 설명 |
|---|---|---|
| Invocations | 개수 |
지식 기반 작업에 대한 요청 수입니다. 이 지표는 오류가 발생하는 요청을 포함하여 모든 요청에 대해 게시됩니다. |
| ClientErrors | 개수 |
클라이언트 측 오류(제한 이외의 HTTP |
| ServerErrors | 개수 |
서버 측 오류(HTTP |
| 제한 | 개수 |
제한된 요청 수(HTTP |
ClientErrors, ServerErrors및 Throttles 지표는 해당 조건이 발생할 때만 게시됩니다. Invocations 지표는 모든 요청에 대해 게시됩니다.
AgenticRetrieveStream 작업에 대한 추가 지표
위 표의 지표 외에도 AgenticRetrieveStream 작업은 다음 지표를 게시합니다.
| 지표 이름 | 단위 | 설명 |
|---|---|---|
| TotalIterationCount | 개수 |
요청 중에 수행된 에이전트 검색 반복의 총 수입니다. 이 지표는 요청이 성공적으로 완료되면 |
이 지표는 값이 인 Operation차원을 사용합니다AgenticRetrieveStream.
관리형 지식 기반 지표의 차원
Amazon Bedrock은 관리형 지식 기반 런타임 지표에 다음 차원을 사용합니다.
| 차원 | 설명 |
|---|---|
| 연산 |
지표가 게시되는 지식 기반 API 작업입니다. 가능한 값은 |
| KnowledgeBaseId |
형식의 요청 대상 지식 기반입니다 |
지표 게시 권한
Amazon Bedrock은 요청과 연결된 자격 증명을 사용하여 계정에 이러한 지표를 게시합니다.
-
Retrieve작업의 경우 Amazon Bedrock은 지식 기반 서비스 역할을 사용합니다. -
다른 작업의 경우 Amazon Bedrock은 전달 액세스 세션을 통해 호출 자격 증명(작업을 호출하는 IAM 사용자 또는 역할)의 자격 증명을 사용합니다.
지표를 게시하려면 해당 자격 증명이 AWS/Bedrock/KnowledgeBases 네임스페이스에 cloudwatch:PutMetricData 대해를 호출할 수 있어야 합니다. 지식 기반 서비스 역할 및 지식 기반 작업을 호출하는 모든 자격 증명에이 권한을 부여하는 정책을 연결합니다. 다음 예제에서는 필요한 권한을 부여합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudwatch:PutMetricData", "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "AWS/Bedrock/KnowledgeBases" } } } ] }
지표 게시는 최선의 노력입니다. 자격 증명에 필요한 권한이 없는 경우 해당 지표는 게시되지 않지만 지식 기반 요청 자체는 영향을 받지 않습니다.
런타임 지표 보기
AWS CLI, 또는 CloudWatch API를 사용하여 지식 기반 AWS Management Console에 대한 지표를 가져올 수 있습니다. AWS 소프트웨어 개발 키트(SDKs) 또는 CloudWatch API 도구 중 하나를 통해 CloudWatch API를 사용할 수 있습니다.
CloudWatch 콘솔에서 관리형 지식 기반 지표를 보려면 탐색 창의 지표 섹션으로 이동하여 모든 지표 옵션을 선택한 다음 AWS/Bedrock/KnowledgeBases 네임스페이스를 검색합니다.
CloudWatch를 사용하여 지식 기반을 모니터링하려면 적절한 CloudWatch 권한이 있어야 합니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 Amazon CloudWatch에 대한 인증 및 액세스 제어를 참조하세요.
관리형 지식 기반에 대한 스토리지 지표
관리형 지식 기반의 경우 Amazon Bedrock은 AWS/Bedrock/KnowledgeBases 네임스페이스 아래의 Amazon CloudWatch에 스토리지 지표를 게시합니다. 이 지표는 지식 기반에 저장된 소스 데이터의 총 원시 크기를 보고하고 데이터 수집 작업이 완료된 후 계정에 게시되므로 시간이 지남에 따라 지식 기반에 저장되는 데이터의 양을 추적할 수 있습니다.
다음 표에서는 Amazon Bedrock이 관리형 지식 기반에 대해 게시하는 스토리지 지표를 설명합니다.
| 지표 이름 | 단위 | 설명 |
|---|---|---|
| RawDataSize | GB |
지식 기반에 저장된 소스 데이터의 총 원시 크기로, 기가바이트 단위입니다. 이 지표는 데이터 수집 작업이 완료된 후 게시됩니다. |
스토리지 지표는 KnowledgeBaseId차원을 형식으로 사용합니다knowledge-base/.knowledge-base-id
관리형 지식 기반의 수집 관찰성
Amazon Bedrock은 전체 작업 상태 및 처리된 각 문서의 상태를 포함하여 관리형 지식 기반에 대한 데이터 수집 작업의 진행 상황을 추적하는 로그를 내보냅니다. 이러한 로그를 사용하여 수집된 문서를 확인하고, 검색 결과에 문서가 반환되지 않은 이유를 조사하고, 수집 실패 문제를 해결할 수 있습니다.
로그는 구성한 대상(CloudWatch Logs, Amazon S3 또는 Amazon Data Firehose)으로 전송됩니다. 다음 섹션에서는 로그 전송을 활성화하는 방법, 수집 중 문서의 수명 주기, 내보내는 로그 유형 및 예제 쿼리를 설명합니다.
수집 로그 전송 활성화
수집 로그를 수신하려면 AWS Management Console 또는 CloudWatch API를 사용하여 지식 기반에 대한 로그 전송을 구성합니다. CloudWatch Logs, Amazon S3 또는 Amazon Data Firehose에 로그를 전송할 수 있습니다.
콘솔을 사용하여 로그 전송 활성화
-
지식 기반 열기: Amazon Bedrock 콘솔에서 모니터링하려는 관리형 지식 기반을 엽니다.
-
로그 전송 추가: 지식 기반을 편집하여 로그 전송을 추가하고 다음 세부 정보를 구성합니다.
-
로깅 대상(CloudWatch Logs, Amazon S3 또는 Amazon Data Firehose).
-
(CloudWatch Logs) 로그 그룹 이름입니다.
-
(Amazon S3) 버킷 이름입니다.
-
(Amazon Data Firehose) Firehose 스트림입니다.
-
-
전송 상태 확인: 콘솔에서 로그 전송 상태가 전송 활성인지 확인합니다.
CloudWatch API를 사용하여 로그 전송 활성화
-
지식 기반의 ARN 가져오기: GetKnowledgeBase API를 호출하여 지식 기반의 Amazon 리소스 이름(ARN)을 가져옵니다. 지식 기반 ARN의 형식은
arn:aws:bedrock:your-region:your-account-id:knowledge-base/knowledge-base-id입니다. -
호출
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" } -
호출
PutDeliveryDestination: PutDeliveryDestination API를 사용하여 로그가 저장되는 위치를 구성합니다. CloudWatch Logs, Amazon S3 또는 Amazon Data Firehose 대상의 ARN을 지정합니다. 를json,plain,w3c,raw또는outputFormat로 설정할 수 있습니다parquet.{ "deliveryDestinationConfiguration": { "destinationResourceArn": "arn:aws:s3:::bucket-name" }, "name": "my-knowledge-base-delivery-destination", "outputFormat": "json" }다른 계정으로 로그를 전송하는 경우
PutDeliveryDestinationPolicyAPI를 사용하여 대상 계정에 (IAM) 정책을 연결합니다 AWS Identity and Access Management . -
호출
CreateDelivery: CreateDelivery API를 사용하여 전송 소스를 전송 대상에 연결합니다.{ "deliveryDestinationArn": "string", "deliverySourceName": "my-knowledge-base-delivery-source" }
지원되는 로그 유형 및 권한
관리형 지식 기반은 다음 로그 유형을 지원합니다.
-
APPLICATION_LOGS: 수집 작업 및 작업 중에 처리되는 각 문서의 상태를 추적하는 로그입니다. -
TRACES: 런타임 작업에 대한 분산 트레이스(스팬). 트레이스는Retrieve작업에 대해서만 내보내지고 AWS X-Ray로 전달됩니다. 자세한 내용은 관리형 지식 기반에 대한 추적 관찰성 단원을 참조하십시오.
로그 전송을 활성화하려면 선택한 대상에 쓰는 데 필요한 bedrock:AllowVendedLogDeliveryForResource 권한 외에도 지식 기반 리소스에 대한 권한이 사용자 또는 역할에 있어야 합니다. 각 대상에 대한 IAM 정책의 예는 Amazon CloudWatch Logs 사용 설명서의 다양한 전송 대상에 대한 판매 로그 권한을 참조하세요.
수집 중 문서 수명 주기
데이터 수집 작업 중에 각 문서는 세 단계를 거치며 문서 로그는 각 단계의 상태를 기록합니다.
-
크롤링(
crawl_status): Amazon Bedrock은 데이터 소스에서 문서를 검색하고 추가, 업데이트 또는 삭제 여부를 결정합니다.crawl_action필드는ADD,DELETE또는 로 설정됩니다UNMODIFIED. 나머지 단계에서 건너뛴 문서UNMODIFIED입니다. -
동기화(
sync_status): 지식 기반에 처리를 위해 문서가 제출됩니다. -
인덱스(
index_status): 문서가 지식 기반에 청크, 포함 및 유지됩니다.chunk_statistics필드에는 생성되거나 삭제된 청크가 요약되어 있습니다.
각 단계 상태는 SUCCESS 또는 입니다FAILED. connector_document_status 필드는 문서의 통합 상태를 보고하며, 문서가 처리되지 않는 경우에만 error_message 필드가 채워집니다.
로그 유형 및 예제
Amazon Bedrock은 관리형 지식 기반 수집 작업에 대해 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" }
다음은 단일 문서의 처리 상태를 기록하는 문서 수준 로그의 예입니다.
{ "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 필드(예: 문서를 가져오거나 삭제할 수 없음을 나타내는 메시지)와 INFO, WARN또는 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를 사용하여 다음 단계에 따라 전송을 생성합니다.
-
호출
PutDeliverySource: PutDeliverySource API를 사용하여 지식 기반에 대한 전송 소스를 생성합니다. 지식 기반 ARN을 로 전달resourceArn하고를TRACES로 지정합니다logType. -
호출: PutDeliveryDestination
PutDeliveryDestinationPutDeliveryDestination API를deliveryDestinationType의와 함께 사용합니다XRAY. X-Ray는 관리형 대상이므로를 지정하지 않습니다destinationResourceArn. 응답에 반환되는 ARN을 기록해 둡니다. -
호출
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 Managed Knowledge Bases는 고객 보고 문제에 대응하여 디버깅 지원을 제공하기 위해서만 고객 쿼리 및 관련 검색 데이터를 임시로 저장합니다. AWS는 고객이 지원 참여 중에 명시적으로 동의하지 않는 한이 데이터에 액세스하지 않습니다. Amazon Bedrock은 기본 모델을 훈련하거나 개선하는 데이 데이터를 사용하지 않습니다.