Como solucionar erros de fluxo de contato no Amazon Connect?

6 minuto de leitura
0

Quero investigar fluxos de contato para identificar qual bloco dentro do fluxo de contato segue a ramificação de erro.

Breve descrição

Para ver um tutorial sobre como solucionar erros de fluxo de contato, consulte o workshop Solução de problemas de erros de fluxo de contato no Amazon Connect.

Para investigar e solucionar problemas de fluxos de contato, você deve ter os seguintes pré-requisitos:

Logs de fluxo de contato

Ative os logs de fluxo. Use logs de fluxo de contato para entender como uma chamada percorre os diferentes blocos do fluxo de contato. Além disso, use logs de fluxo de contato para solucionar falhas e isolar onde os erros ocorrem.

Exportações de fluxo de contato

Para exportar instruções de fluxo, consulte Como importar/exportar fluxos.

Use as exportações para entender melhor os fluxos de contato:

  • Veja como a chamada percorre o fluxo.
  • Correlacione os logs do fluxo de contato.
  • Reproduza o problema em um ambiente de área restrita para testes.

Métricas do Amazon CloudWatch para o Amazon Connect

Para obter mais informações, consulte Monitorar a instância usando o CloudWatch.

Use as métricas ContactFlowErrors e ContactFlowFatalError para monitorar e solucionar problemas de eventos relacionados a fluxos de contato:

  • A métrica ContactFlowFatalError indica o número de vezes que um fluxo falhou na execução devido a um erro do sistema. Por exemplo, uma interrupção do Amazon Connect.
  • A métrica ContactFlowErrors indica o número de vezes que a ramificação de erro é executada em um fluxo de contato.

Para solucionar erros de fluxo de contato, consulte o CloudWatch Logs Insights para identificar qual bloco no fluxo de contato segue a ramificação do erro. Em seguida, use o bloco para identificar a causa raiz do erro.

Resolução

Primeiro, execute uma consulta para ver os eventos de erro relacionados:

1.    Abra o console do Amazon CloudWatch.

2.    No painel de navegação, escolha Log Insights.

3.    Selecione o nome do grupo de logs para seus logs de instâncias do Amazon Connect. O formato é /aws/connect/yourinstancename.

4.    No canto superior direito, especifique uma escala de tempo de consulta.

5.    Execute a consulta a seguir para um intervalo de tempo específico:

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

-ou-

Execute a seguinte consulta para um ID de contato específico:

Observação: substitua o valor de ContactID pelo seu ID de contato.

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

Em seguida, para solucionar o erro de fluxo de contato, revise os seguintes recursos:

  • Detalhes da configuração do CloudWatch Alarm para identificar qual métrica (ContactFlowErrors ou ContactFlowFatalError) configurou o alarme e os fluxos de contato associados ao alarme. Se a métrica for ContactFlowFatalError, isso pode ser um problema de serviço, pois o fluxo falhou na execução devido a um erro do sistema. Se a métrica que configura o alarme for ContactFlowErrors, isso indica que um bloco de contatos foi roteado pela ramificação do erro.
  • Logs relacionados ao fluxo de contato afetado para identificar qual bloco produziu o erro. Para obter mais informações sobre blocos de fluxos, consulte Definições de blocos de fluxos.

Às vezes, blocos de fluxo de contato produzem erros no CloudWatch, mas não têm logs correspondentes do CloudWatch. Para obter uma tabela de blocos de contato comuns, consulte o Apêndice do workshop Solução de problemas de fluxo de contato no Amazon Connect.

Erros do AWS Lambda em fluxos de contato

Os erros mais comuns nos fluxos de contato ocorrem com o bloco Invoke Lambda Function (Invocar função do Lambda). Esse bloco de fluxo de contato chama o AWS Lambda e, opcionalmente, retorna pares de chave/valor que você pode usar para definir atributos de contato.

Para investigar erros de função do Lambda, execute a seguinte consulta no CloudWatch Logs Insights:

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

A saída é semelhante à seguinte:

{
    "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"
}

O tipo ContactFlowModule afetado de InvokeExternalResource se refere a uma função do Lambda, nome do fluxo de contato e erro. Encontre a função do Lambda afetada. Em seguida, correlacione os carimbos de data/hora, ou ID de contato, para obter o evento exato que causou o erro nos logs de execução do Lambda.

Exceções de acesso negado Veja a seguir um exemplo de erro nos logs de fluxo de contato causado pelo bloco 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",
}

O erro “Acesso negado” indica que o fluxo de contato não tem acesso para invocar a função do Lambda. Para obter etapas detalhadas sobre como adicionar uma função à instância, consulte Adicionar uma função do Lambda à sua instância do Amazon Connect.

Não há um requestId que vincule as mensagens de log do Amazon Connect aos fluxos de contato aos logs de execução do Lambda. Se as funções do Lambda imprimirem o evento de invocação, use o ContactID para correlacionar os logs de fluxo de contato e os logs de execução da função do Lambda. Se a função não imprimir o evento de invocação, use a data e hora nos logs de fluxo de contato para filtrar os logs de execução da função do Lambda.

Se o bloco Invoke Lambda Function (Invocar função do Lambda) retornar um erro, mas não houver uma entrada correspondente nas funções do Lambda, verifique as seguintes configurações:

  • A carga útil do Lambda pode ser NULL.
  • A saída retornada da função deve ser um objeto plano de pares de chave e valor, com valores que incluam caracteres alfanuméricos, traços e sublinhados.
  • A resposta da função do Lambda não é um simples mapa de strings, ou a resposta é maior que 32 mil. É uma prática recomendada testar a saída retornada da sua função do Lambda para confirmar se as funções foram consumidas corretamente quando retornadas ao Amazon Connect.

Um erro de fluxo de contato pode ocorrer devido a vários blocos. Para obter mais informações sobre bloqueios e motivos dos erros, consulte o Apêndice do workshop Solução de problemas de fluxo de contato no Amazon Connect.


AWS OFICIAL
AWS OFICIALAtualizada há um ano