CloudWatch Logs를 사용하여 Amazon Q in Connect 모니터링
Amazon Q in Connect가 에이전트에게 제공하는 실시간 권장 사항과 자연어 이해를 통해 감지하는 고객 의도를 파악하기 위해 CloudWatch Logs를 쿼리할 수 있습니다. CloudWatch Logs는 대화, 트리거, 의도, 권장 사항 등 전체 연락 여정에 대한 가시성을 제공합니다. 이 정보를 디버깅에 사용하거나 도움을 받기 위해 문의할 때 Support에 제공할 수도 있습니다.
이 주제에서는 Amazon Q in Connect에 대한 로깅을 활성화하는 방법을 설명합니다.
필수 IAM 권한
Amazon Q in Connect 어시스턴트에 대한 로깅을 활성화하기 전에 다음 AWS Identity and Access Management 권한이 있는지 확인합니다. Amazon Connect 콘솔에 로그인한 사용자 계정에 필요합니다.
-
wisdom:AllowVendedLogDeliveryForResource
: 어시스턴트 리소스에 대한 로그 전달을 허용하는 데 필요합니다.
특정 로깅 대상에 필요한 모든 권한이 있는 예시 IAM 역할을 보려면 Logging that requires additional permissions [V2]를 참조하세요. 이 주제에는 CloudWatch Logs로 전송된 로그 및 Amazon S3로 전송된 로그와 같은 다양한 로깅 대상에 대한 예제가 포함되어 있습니다. 예제에서는 특정 로깅 대상 리소스에 대한 업데이트를 허용하는 방법을 보여줍니다.
Amazon Q in Connect 로깅 활성화
Amazon Q in Connect 로깅을 활성화하려면 CloudWatch API 작업을 사용합니다. 다음 단계를 완료합니다.
-
Amazon Q in Connect 어시스턴트(도메인이라고도 함)의 ARN을 가져옵니다. 어시스턴트를 생성한 후 Amazon Connect 콘솔에서 또는 GetAssistant API를 직접적으로 호출하여 ARN을 가져올 수 있습니다. ARN은 다음 형식을 따릅니다.
arn:aws:wisdom:
your-region
:your-account-id
:assistant/assistant-id
-
PutDeliverySource: 이 CloudWatch API를 사용하여 어시스턴트의 전송 소스를 생성합니다. 어시스턴트의 ARN을
resourceArn
으로 전달합니다.logType
의 경우EVENT_LOGS
를 지정하여 어시스턴트에서 로그를 수집합니다.{ "logType": "EVENT_LOGS", "name": "
your-assistant-delivery-source
", "resourceArn": "arn:aws:wisdom:your-region
:your-account-id
:assistant/assistant_id
} -
PutDeliveryDestination 직접 호출: 이 CloudWatch API를 사용하여 로그를 저장할 위치를 구성합니다. 로그 저장 대상으로 CloudWatch Logs, Amazon S3 또는 Amazon Data Firehose를 선택할 수 있습니다. 로그를 저장할 대상 옵션 중 하나의 ARN을 지정해야 합니다. 로그의
outputFormat
을json
,plain
,w3c
,raw
,parquet
중 하나로 선택할 수 있습니다.다음 예제에서는 Amazon CloudWatch Logs 그룹 및 JSON 형식으로 저장할 로그를 구성하는 방법을 보여줍니다.
{ "deliveryDestinationConfiguration": { "destinationResourceArn": "arn:aws:logs:
your-region
:your-account-id
:log-group:your-log-group-name
:*" }, "name": "string", "outputFormat": "json", "tags": { "key": "value" } } -
CreateDelivery 직접 호출: 이 CloudWatch API를 사용하여 이전 단계에서 생성한 전송 대상에 전송 소스를 연결합니다. 이 API 작업은 전송 소스를 최종 대상과 연결합니다.
{ "deliveryDestinationArn": "string", "deliverySourceName": "string", "tags": { "string": "string" } }
지원되는 로그 유형
Amazon Q in Connect는 다음 로그 유형을 지원합니다.
-
EVENT_LOGS
: 통화 및 채팅 중에 Amazon Q in Connect 어시스턴트의 이벤트를 추적하는 로그입니다.
CloudWatch Logs 할당량 확인
Amazon CloudWatch Logs 엔드포인트 및 할당량을 확인하여 CloudWatch Logs 전송 관련 API 직접 호출을 수행할 할당량이 있는지 확인하는 것이 좋습니다. 할당량은 API를 직접적으로 호출하거나 리소스를 생성할 수 있는 최대 횟수를 설정합니다. 제한을 초과할 경우 ServiceQuotaExceededException
오류가 발생합니다.
어시스턴트 로그의 예
다음은 이벤트 로그의 예입니다. 이벤트 유형에 따라 더 많은 필드가 표시될 수 있습니다.
{ "assistant_id": "
AssistantId
", "event_timestamp": 1729530173612, "event_type": "TRANSCRIPT_CREATE_SESSION" | "TRANSCRIPT_INTENT_TRIGGERING_REFERENCE" | "TRANSCRIPT_RECOMMENDATION" | "TRANSCRIPT_UTTERANCE" | "TRANSCRIPT_TRIGGER_DETECTION_MODEL_INVOCATION" | "TRANSCRIPT_LARGE_LANGUAGE_MODEL_INVOCATION", "session_id": "SessionId
", "session_name": "SessionName
", "recommendation": "Recommendation
", "intent": "Intent
", "prompt": "Prompt
", "utterance": "Utterance
" }
이벤트 유형에 따라 더 많은 필드가 표시될 수 있습니다. 예를 들어 채팅 또는 음성 이벤트에는 발화와 관련된 정보가 있습니다. 추천을 생성한 이벤트에는 의도, 트리거 또는 추천 자체에 대한 정보가 있습니다.
어시스턴트 로그를 디버깅하기 위한 일반적인 쿼리의 예
쿼리를 사용하여 로그와 상호 작용할 수 있습니다. 예를 들어 SESSION_NAME
을 사용하여 세션 내의 모든 이벤트를 쿼리할 수 있습니다.
다음은 특정 세션에 대해 생성된 모든 로그를 반환하는 두 가지 일반적인 쿼리입니다.
-
filter session_name = "
SessionName
" -
filter session_id = "
SessionId
"