Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Monitoraggio e osservabilità
Amazon Bedrock emette eventi di AWS CloudTrail dati Retrieve e chiamate GetDocumentContent API sulla tua knowledge base gestita. Puoi utilizzare questi eventi per monitorare l'utilizzo corretto e rilevare gli errori di accesso. La procedura dettagliata seguente configura un CloudTrail percorso che invia gli eventi relativi ai dati a un gruppo di log di Amazon CloudWatch Logs, quindi crea filtri metrici e allarmi per avvisare in caso di errori.
Fase 1: CloudTrail Attivazione degli eventi della knowledge base Amazon CloudWatch per Amazon Bedrock
Configura un CloudTrail percorso che acquisisca gli eventi dei dati della knowledge base di Amazon Bedrock e li invii a un gruppo di log di Amazon CloudWatch Logs. Crea il percorso e il gruppo di log nella stessa regione della knowledge base gestita. Puoi farlo anche tramite la CloudTrail console, che crea automaticamente il gruppo di log e il ruolo IAM.
Crea il bucket S3, applica una policy sui bucket che CloudTrail consenta di scrivere e crea il gruppo di CloudWatch log Amazon Logs:
aws s3 mb s3://YOUR_TRAIL_BUCKETaws s3api put-bucket-policy --bucketYOUR_TRAIL_BUCKET--policy '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::YOUR_TRAIL_BUCKET" }, { "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::YOUR_TRAIL_BUCKET/AWSLogs/ACCOUNT_ID/*", "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}} } ] }' aws logs create-log-group --log-group-name bedrock-kb-cloudtrail
Crea un ruolo IAM che CloudTrail consenta di fornire log al gruppo di log:
aws iam create-role \ --role-name CloudTrail-CWLogs-Role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "sts:AssumeRole" }] }' aws iam put-role-policy \ --role-name CloudTrail-CWLogs-Role \ --policy-name CWLogsPolicy \ --policy-document '{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": ["logs:CreateLogStream", "logs:PutLogEvents"], "Resource": "arn:aws:logs:REGION:ACCOUNT_ID:log-group:bedrock-kb-cloudtrail:*" }] }'
Crea il percorso, configuralo per acquisire gli eventi dei dati della knowledge base di Amazon Bedrock e inizia a registrare:
aws cloudtrail create-trail \ --name bedrock-kb-data-events \ --s3-bucket-nameYOUR_TRAIL_BUCKET\ --cloud-watch-logs-log-group-arn "arn:aws:logs:REGION:ACCOUNT_ID:log-group:bedrock-kb-cloudtrail:*" \ --cloud-watch-logs-role-arn "arn:aws:iam::ACCOUNT_ID:role/CloudTrail-CWLogs-Role" aws cloudtrail put-event-selectors \ --trail-name bedrock-kb-data-events \ --advanced-event-selectors '[{ "Name": "BedrockKBDataEvents", "FieldSelectors": [ {"Field": "eventCategory", "Equals": ["Data"]}, {"Field": "resources.type", "Equals": ["AWS::Bedrock::KnowledgeBase"]} ] }]' aws cloudtrail start-logging --name bedrock-kb-data-events
Passaggio 2: crea filtri metrici per le chiamate di recupero Amazon Quick
Crea filtri metrici per tenere traccia delle chiamate e degli errori di recupero quando Amazon Quick richiama la tua knowledge base gestita.
Metrica del volume delle chiamate: tiene traccia del volume delle chiamate di recupero nella tua knowledge base gestita.
aws logs put-metric-filter \ --log-group-name bedrock-kb-cloudtrail \ --filter-name QuickSight-Retrieve-CallCount-KB_ID\ --filter-pattern '{ $.eventSource = "bedrock.amazonaws.com" && $.eventName = "Retrieve" && $.userIdentity.invokedBy = "quicksight.amazonaws.com" && $.resources[0].ARN = "*KB_ID*" }' \ --metric-transformations '[{ "metricName": "RetrieveCallCount", "metricNamespace": "QuickSight/BedrockKB", "metricValue": "1", "dimensions": {"KnowledgeBaseId": "$.resources[0].ARN"} }]'
Metrica di errore: l'esempio seguente conta le Retrieve chiamate da Amazon Quick che hanno esito negativo conAccessDenied. Questo allarme si attiva quando al ruolo del servizio Amazon Quick mancano le autorizzazioni o quando una politica delle risorse per più account non è configurata correttamente. Puoi creare filtri metrici aggiuntivi per altri codici di errore, ad esempio in ThrottlingException base alle tue esigenze di monitoraggio.
aws logs put-metric-filter \ --log-group-name bedrock-kb-cloudtrail \ --filter-name QuickSight-Retrieve-AccessDenied-KB_ID\ --filter-pattern '{ $.eventSource = "bedrock.amazonaws.com" && $.eventName = "Retrieve" && $.userIdentity.invokedBy = "quicksight.amazonaws.com" && $.resources[0].ARN = "*KB_ID*" && $.errorCode = "AccessDenied" }' \ --metric-transformations '[{ "metricName": "RetrieveAccessDeniedCount", "metricNamespace": "QuickSight/BedrockKB", "metricValue": "1", "dimensions": {"KnowledgeBaseId": "$.resources[0].ARN"} }]'
Fase 3: Creare un allarme CloudWatch
Crea un allarme che si attiva quando si verificano errori di accesso negato. Facoltativamente, aggiungi un argomento SNS ARN per le notifiche. --alarm-actions
aws cloudwatch put-metric-alarm \ --alarm-name QuickSight-Retrieve-AccessDenied-KB_ID\ --metric-name RetrieveAccessDeniedCount \ --namespace "QuickSight/BedrockKB" \ --dimensions Name=KnowledgeBaseId,Value="arn:aws:bedrock:REGION:ACCOUNT_ID:knowledge-base/KB_ID" \ --statistic Sum \ --period 300 \ --threshold 1 \ --comparison-operator GreaterThanOrEqualToThreshold \ --evaluation-periods 1 \ --treat-missing-data notBreaching