Amazon Connect의 고객 응대 흐름 오류를 해결하려면 어떻게 해야 하나요?

5분 분량
0

고객 응대 흐름을 조사하여 고객 응대 흐름 내의 어떤 블록이 오류 분기를 따르는지 확인하고 싶습니다.

간략한 설명

고객 응대 흐름 오류 해결에 대한 자습서는 Troubleshooting contact flow errors in Amazon Connect workshop(Amazon Connect의 고객 응대 흐름 오류 해결 워크숍)을 참조하세요.

고객 응대 흐름을 조사하고 문제를 해결하려면 다음과 같은 전제 조건을 충족해야 합니다.

고객 응대 흐름 로그

흐름 로그를 켭니다. 고객 응대 흐름 로그를 사용하면 고객 응대 흐름의 여러 블록을 통해 통화가 어떻게 전달되는지 파악할 수 있습니다. 또한 고객 응대 흐름 로그를 사용하여 장애를 해결하고 오류가 발생한 위치를 분리할 수 있습니다.

고객 응대 흐름 내보내기

흐름 내보내기 지침은 How to import/export flows(흐름을 가져오거나 내보내는 방법)를 참조하세요.

내보내기를 사용하면 다음과 같이 고객 응대 흐름을 더 잘 이해할 수 있습니다.

  • 통화가 흐름을 통해 어떻게 전달되는지 확인합니다.
  • 고객 응대 흐름 로그의 상관관계를 분석합니다.
  • 샌드박스 환경에서 문제를 재현합니다.

Amazon Connect용 Amazon CloudWatch 지표

자세한 정보는 Monitoring your instance using CloudWatch(CloudWatch를 사용한 인스턴스 모니터링)을 참조하세요.

고객 응대 흐름과 관련된 이벤트를 모니터링하고 문제를 해결하려면 ContactFlowErrorsContactFlowFatalError 지표를 사용하세요.

  • ContactFlowFatalError 지표는 시스템 오류로 인해 흐름 실행에 실패한 횟수를 나타냅니다. Amazon Connect 서비스 운영 중단을 예로 들 수 있습니다.
  • ContactFlowErrors 지표는 고객 응대 흐름에 대해 오류 분기가 실행되는 횟수를 나타냅니다.

고객 응대 흐름 오류를 해결하려면 CloudWatch 로그 인사이트를 쿼리하여 고객 응대 흐름에서 오류 분기를 따르는 블록을 식별합니다. 그런 다음 블록을 사용하여 오류의 근본 원인을 식별합니다.

해결 방법

먼저 쿼리를 실행하여 관련 오류 이벤트를 확인합니다.

1.    Amazon CloudWatch 콘솔을 엽니다.

2.    탐색 창에서 Logs Insights(로그 인사이트)를 선택합니다.

3.    Amazon Connect 인스턴스 로그의 로그 그룹 이름을 선택합니다. 형식은 /aws/connect/yourinstancename입니다.

4.    오른쪽 상단에서 쿼리 시간 척도를 지정합니다.

5.    특정 시간 범위에 대해 다음 쿼리를 실행합니다.

fields @timestamp, @message
| filter @message like 'Results'
| parse @message '"Results":"*","ContactId":"*","ContactFlowId":"*","ContactFlowName":"*","ContactFlowModuleType":"*"' as Results, ContactId, ContactFlowId, ContactFlowName, BlockType
| filter Results like 'rror' or Results like 'ailed' or Results like 'imeout' or Results like 'xception' or Results like 'No prompt provided' or Results like 'Instance has reached concurrent Lambda thread access limit' or Results like 'nsupported' or Results like 'nvalid' or Results like 'not found' or Results like 'execution limit reached'
| sort @timestamp asc
| display Timestamp, Results, ContactId, ContactFlowId, ContactFlowName, BlockType

또는

특정 고객 응대 ID에 대해 다음 쿼리를 실행합니다.

참고: ContactID 값을 고객 응대 ID로 바꿉니다.

fields @timestamp, @message
| sort @timestamp desc
| filter ContactID = "162faf0b-4e68-4a4b-bbde-96c9631f2a95"

그런 다음 고객 응대 흐름 오류를 해결하려면 다음 리소스를 검토합니다.

  • CloudWatch 경보 구성 세부 정보를 검토하면 어떤 지표(ContactFlowErrors 또는 ContactFlowFatalError)가 경보를 구성했는지와 경보 관련 고객 응대 흐름을 식별할 수 있습니다. 지표가 ContactFlowFatalError인 경우, 시스템 오류로 인해 흐름을 실행하지 못했기 때문에 이는 서비스 문제일 수 있습니다. 경보를 구성하는 지표가 ContactFlowErrors인 경우, 이는 고객 응대 블록이 오류 분기를 따라 라우팅되었음을 나타냅니다.
  • 영향을 받은 고객 응대 흐름과 관련된 로그를 검토하면 오류가 발생한 블록을 식별할 수 있습니다. 흐름 블록에 대한 자세한 정보는 Flow block definitions(흐름 블록 정의)를 참조하세요.

고객 응대 흐름 블록으로 인해 CloudWatch에 오류가 발생하지만, 해당하는 CloudWatch 로그가 없는 경우가 있습니다. 일반적인 고객 응대 블록 표는 Amazon Connect의 고객 응대 흐름 오류 해결 워크숍의 부록을 참조하세요.

고객 응대 흐름의 AWS Lambda 오류

고객 응대 흐름에서 가장 일반적인 오류는 Lambda 함수 호출 블록에서 발생합니다. 이 고객 응대 흐름 블록은 AWS Lambda를 호출하고 선택적으로 고객 응대 속성을 설정하는 데 사용할 수 있는 키-값 쌍을 반환합니다.

Lambda 함수 오류를 조사하려면 CloudWatch 로그 인사이트에서 다음 쿼리를 실행합니다.

fields @timestamp, @message
| sort @timestamp desc
| filter Results LIKE "Error"

출력은 다음과 유사합니다.

{
    "Results": "The Lambda Function Returned an Error.",
    "ContactId": "alebb22a-93c4-4f90-8f22-b3718c4578E0",
    "ContactFlowId": "contact-flow-id",
    "ContactFlowName": "chat",
    "ContactFlowModuleType": "InvokeExternalResource",
    "Timestamp": "2023-12-20T14:14:13.794Z",
    "Parameters": {
        "FunctionARN": "arn:aws:lambda:us-west-2:1099999:function:Connect-Wallboard-Historical-Metrics",
    },
 "TimeLimit": "3000"
}

영향을 받는 InvokeExternalResourceContactFlowModule 유형은 Lambda 함수, 통화 고객 응대 흐름 이름, 오류를 나타냅니다. 영향을 받는 Lambda 함수를 찾습니다. 그런 다음 타임스탬프 또는 고객 응대 ID를 상호 연관시켜 Lambda 실행 로그에서 오류를 유발한 정확한 이벤트를 확보합니다.

액세스 거부 예외 다음은 InvokeExternalResource 블록으로 인해 발생하는 고객 응대 흐름 로그의 오류 예시입니다.

{
    "Results": "Status Code: 403; Error Code: AccessDeniedException; RequestID: 435c21cc-19d8-4847-864e-e32867fe3a70
    "ContactId": "alebb22a-93c4-4f90-8f22-b3718c4578E0",
    "ContactFlowId": " arn:aws:lambda:us-west-2:1099999/contact-flow/65569e69-5c67-4061-8776-fd1d501c4838",
}

‘Access Denied’(액세스가 거부됨) 오류는 고객 응대 흐름에 Lambda 함수를 호출할 수 있는 액세스 권한이 없음을 나타냅니다. 인스턴스에 함수를 추가하는 자세한 단계는 Add a Lambda function to your Amazon Connect instance(Amazon Connect 인스턴스에 Lambda 함수 추가)를 참조하세요.

고객 응대 흐름에 대한 Amazon Connect 로그 메시지를 Lambda 실행 로그와 연결하는 requestId는 없습니다. Lambda 함수가 호출 이벤트를 출력하는 경우 ContactId를 사용하여 고객 응대 흐름 로그와 Lambda 함수 실행 로그의 상관관계를 분석합니다. 함수가 호출 이벤트를 출력하지 않는 경우 고객 응대 흐름 로그의 타임스탬프를 사용하여 Lambda 함수의 실행 로그를 필터링합니다.

Lambda 함수 호출 블록에서 오류가 반환되지만 Lambda 함수에 해당하는 항목이 없는 경우 다음 구성을 확인하세요.

  • Lambda 페이로드가 NULL일 수 있습니다.
  • 함수에서 반환되는 출력값은 영숫자, 대시, 밑줄 문자를 포함하는 값을 가진 키와 값 쌍으로 구성된 플랫 객체여야 합니다.
  • Lambda 함수 응답이 단순한 문자열 맵이 아니거나, 응답이 32k보다 큽니다. Lambda 함수에서 반환된 출력을 테스트하여 Amazon Connect로 반환될 때 함수가 올바르게 사용되는지 확인하는 것이 가장 좋습니다.

여러 블록으로 인해 고객 응대 흐름 오류가 발생할 수 있습니다. 블록 및 오류 원인에 대한 자세한 정보는 Amazon Connect의 고객 응대 흐름 오류 해결 워크숍의 부록을 참조하세요.


AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음

관련 콘텐츠