Identifique e resolva erros que ocorrem quando os resultados da transformação de dados falham ao gravar em um Logstore de destino. Cada seção de erro inclui a mensagem de erro, a causa raiz e as etapas de resolução.
Como funciona a saída da transformação de dados
Após o mecanismo de transformação de dados do Simple Log Service (SLS) processar os eventos de log, ele grava os resultados em um Logstore de destino pré-configurado. O mecanismo lê os logs de source em lotes de 1 a aproximadamente 10.000 entradas. Em vez de gravar cada log imediatamente após a transformação, o mecanismo armazena em cache todos os dados processados e grava o lote inteiro de uma só vez.
Erros nessa etapa geralmente resultam de falhas de acesso ao Logstore de destino. As três causas raiz mais comuns são:
Configuração incorreta do Logstore de destino
Alterações nas configurações do Logstore de destino durante a execução do job
Problemas de conectividade de rede
Impacto dos erros na integridade dos dados:
Quando ocorre um erro de gravação, o job de transformação de dados tenta novamente de forma contínua até que a operação seja bem-sucedida ou até você parar o job manualmente. Em caso de nova tentativa bem-sucedida, o job retoma a operação normal sem perda ou duplicação de dados.
Quando ocorre um erro parcial de gravação (por exemplo, um de dois destinos de saída configurados tem sucesso enquanto o outro falha), o job salva um checkpoint e tenta novamente o destino com falha. Se a nova tentativa for bem-sucedida, não haverá perda ou duplicação de dados. No entanto, se você parar e reiniciar o job nesse ponto, ele será retomado a partir do checkpoint salvo, o que evita a perda de dados, mas pode causar duplicação.
Referência de erros
AccessKey inválido
Um erro de AccessKey inválido ocorre quando o AccessKey ID ou o AccessKey secret configurado para o Logstore de destino está incorreto ou inativo.
-
Mensagem de erro:
# Invalid AccessKeyId { "errorCode": "Unauthorized", "errorMessage": "AccessKeyId not found: LTAI****************" } # Invalid AccessKeySecret { "errorCode": "SignatureNotMatch", "errorMessage": "signature uJfAJbc0ji04gb+cXhh0qWt****= not match" } -
Resolução:
Abra a configuração do job de transformação de dados e localize as configurações de AccessKey do Logstore de destino. Verifique se o AccessKey ID corresponde a um usuário RAM ativo ou a uma conta Alibaba Cloud. Confirme se o AccessKey secret corresponde ao AccessKey ID especificado. Se as credenciais forem inválidas, atualize-as com um par de AccessKey válido e reinicie o job.
O projeto de destino não existe
-
Mensagem de erro:
{ "errorCode": "ProjectNotExist", "errorMessage": "The Project does not exist : your_project_name" } -
Causa:
Este erro possui duas causas possíveis:
O nome do projeto de destino na configuração do job contém um erro de digitação ou está incorreto.
O projeto de destino existia quando o job foi iniciado, mas foi excluído durante a execução.
-
Resolução:
Abra a configuração do job de transformação de dados e verifique se o nome do projeto de destino está correto.
Faça login no console SLS e confirme se o projeto de destino existe e não foi excluído. Caso o projeto tenha sido excluído, crie-o novamente ou atualize a configuração do job com um nome de projeto válido.
-
Destino de saída não encontrado.
Exemplo de regra DSL:
e_coutput("target1")-
Mensagem de erro:
{ "errorMessage": "transform_data: output target target1 is not found in configurations" } -
Causa:
A regra DSL envia eventos de log para um destino de saída chamado
target1, mas a configuração do job não mapeiatarget1para um projeto e Logstore específicos. Todo nome de destino de saída referenciado nas regras DSL deve ter uma entrada de configuração correspondente. -
Resolução:
Abra a configuração do job de transformação de dados. Compare os nomes dos destinos de saída nas regras DSL com os destinos de armazenamento configurados. Adicione a definição do destino de saída ausente, mapeando-o para o projeto e Logstore corretos.
-
Logstore de destino alterado durante a execução
-
Causa:
O Logstore de destino estava configurado corretamente no momento da criação do job, mas suas configurações foram alteradas durante a execução, invalidando a configuração original.
-
Mensagem de erro:
Dois cenários acionam este erro:
-
O Logstore de destino foi excluído após o início do job de transformação de dados.
{ "errorMessage": "Logstore [logstore_name] does not exist." } -
O AccessKey associado ao Logstore de destino foi rotacionado, desativado ou excluído após o início do job.
# Invalid AccessKeyId { "errorCode": "Unauthorized", "errorMessage": "AccessKeyId not found: LTAI****************" } # Invalid AccessKeySecret { "errorCode": "SignatureNotMatch", "errorMessage": "signature uJfAJbc0ji04gb+cXhh0qWt****= not match" }
-
-
Resolução:
Faça login no console SLS e verifique se o Logstore de destino ainda existe. Se o Logstore tiver sido excluído, crie-o novamente ou atualize a configuração do job com um Logstore válido.
Verifique se o AccessKey configurado para o Logstore de destino ainda está ativo e não foi rotacionado. Caso o AccessKey tenha sido alterado, atualize a configuração do job com as novas credenciais e reinicie o job.
-
Erro de rede
-
Mensagem de erro:
{ "errorCode": "LogRequestError", "errorMessage": "HTTPConnectionPool(host='your_host', port=80): Max retries exceeded with url: your_url (Caused by NewConnectionError: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'" } -
Resolução:
Verifique se o endpoint do Logstore de destino está correto e acessível. Revise as regras de firewall e as configurações do grupo de segurança para confirmar que o tráfego de saída para o endpoint de destino não está bloqueado. Teste a conectividade de rede com o endpoint de destino a partir do mesmo ambiente de rede. Se o problema persistir, entre em contato com o suporte técnico da Alibaba Cloud.
-