Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
Vídeos
Assista aos vídeos a seguir para mais informações sobre erros 503:
Vídeo | Descrição |
---|---|
Solucionar e resolver 503 Serviço indisponível - NoActiveTargets | Saiba mais sobre o seguinte:
|
Sintoma
O aplicativo cliente recebe o código de status de resposta HTTP 503 com a a mensagem Service Unavailable e o código de erro NoActiveTargets para as solicitações do proxy de API.
Mensagem de erro
Você verá a seguinte resposta de erro:
HTTP/1.1 503 Service Unavailable
A seguinte mensagem de erro será exibida na resposta HTTP:
{ "fault": { "faultstring": "The Service is temporarily unavailable", "detail": { "errorcode": "messaging.adaptors.http.flow.NoActiveTargets" } } }
Causas possíveis
A resposta HTTP 503 Service Unavailable com o código de erro NoActiveTargets normalmente é observada quando você usa um ou mais servidores na configuração do endpoint de destino no proxy de API.
A tabela a seguir lista as possíveis causas para a resposta 503 Service Unavailable com código de erro NoActiveTargets:
Causa | Descrição | Quem pode realizar as etapas de solução de problemas |
---|---|---|
O servidor de destino está desativado | O servidor de destino especificado na configuração do endpoint de destino está desativado. | Usuários de nuvem pública e privada de borda |
Erros de conexão devido à resolução incorreta de DNS | A resolução de DNS do servidor de destino resultou em endereços IP incorretos que levaram a erros de conexão. | Usuários da nuvem privada de borda |
Erros de conexão | Problemas de rede ou conectividade impedem que o cliente se conecte ao servidor. | Usuários da nuvem privada de borda |
Alias do host de destino incorreto | O host do servidor de destino especificado está incorreto ou tem caracteres indesejados (como um espaço). | Usuários de nuvem pública e privada de borda |
Falhas de handshake de SSL | O handshake de TLS/SSL falhou entre o cliente e o servidor. | Usuários de nuvem pública e privada de borda |
Falhas na verificação de integridade | As verificações de integridade configuradas para verificar a integridade do servidor de destino podem falhar por algum motivo. | Usuários da nuvem privada de borda |
Causa: o servidor de destino está desativado
Se todos os servidores de destino especificados na configuração do endpoint de destino estiverem desativados, você receber a resposta 503 Service Unavailable com o código de erro NoActiveTargets.
Diagnóstico
- Determine o nome do servidor de destino usado no endpoint de destino específico Configuração do proxy de API com falha usando uma das seguintes maneiras:
- Se houver apenas um endpoint de destino, verifique esse endpoint específico.
- Se houver vários endpoints de destino e você não tiver certeza de qual deles desativou o servidor de destino, siga as etapas abaixo:
- Ative a sessão de rastreamento, faça a chamada de API e reproduza o problema: serviço 503 indisponível.
- No trace, navegue até Fluxo de solicitação de destino iniciado e determine o nome do endpoint de destino, conforme mostrado abaixo:
- Depois de identificar o endpoint de destino, confira o nome do servidor de destino usado na configuração dele, conforme mostrado no exemplo abaixo:
<TargetEndpoint name="default">> <HTTPTargetConnection> <LoadBalancer> <Server name="demo-target" /> </LoadBalancer> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
No exemplo acima, há um único servidor de destino chamado demo-target.
- Confira a definição de cada um dos servidores de destino usados no endpoint de destino usando a interface ou a chamada da API Edge.
interface do Edge
Para conseguir a definição usando a interface do Edge:
- Acesse Administrador > Ambientes > Servidores de destino.
- Selecione o ambiente específico em que a falha está sendo exibida.
- Pesquise o nome do servidor de destino específico para conseguir a definição do servidor de destino.
Por exemplo, digite o nome do servidor de destino
demo-target
para exibir a definição dele, conforme mostrado abaixo:Observe que o servidor de destino demo-target tem um alias de host, a porta número e o SSL estão ativados. No entanto, o servidor de destino está desativado , o que é indicado pelo esmaecimento do elemento ATIVADO.
API Edge
Para conseguir a definição usando a API Edge:
Use o Acesse a API TargetServer para receber a definição do servidor de destino.
Saída da definição do servidor de destino
<TargetServer name="demo-target"> <Host>demo-target.apigee.net</Host> <Port>443</Port> <IsEnabled>false</IsEnabled> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> </TargetServer>
A saída da API Apigee mostra que o servidor de destino demo-target está desativado. já que o elemento IsEnabled está definido como falso.
Como o servidor de destino está desativado, o processador de mensagens enviará a mensagem 503 Service Indisponível com o código de erro NoActiveTargets imediatamente como um resposta ao cliente.
Resolução
Verifique se os servidores de destino específicos usados na configuração do endpoint de destino da sua API O proxy está sempre ativado.
interface do Edge
- Acesse Administrador > Ambientes > Servidores de destino.
- Selecione o ambiente específico em que a falha está sendo exibida.
- Pesquise o nome do servidor de destino específico para obter sua definição.
- Selecione o servidor de destino específico e clique em Editar.
- Marque a caixa de seleção Ativado.
- Clique em Atualizar.
API Edge
Use o Atualizar uma API do servidor de destino para atualizar a definição do servidor de destino e garantir que IsEnabled está definido como true no payload da solicitação da API, conforme mostrado abaixo:
<TargetServer name="demo-target"> <Host>demo-target.apigee.net</Host> <Port>443</Port> <IsEnabled>true</IsEnabled> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> </TargetServer>
Se o problema persistir, acesse É necessário coletar informações de diagnóstico.
Diagnosticar problemas usando o monitoramento de APIs
O API Monitoring permite isolar o problema áreas para diagnosticar rapidamente problemas de erro, desempenho e latência e suas origens, como problemas apps, proxies de API, destinos de back-end ou a plataforma de API.
Veja um exemplo de cenário
que demonstra como resolver problemas 5xx com suas APIs usando a API Monitoring. Por exemplo:
defina um alerta para ser notificado quando a quantidade de messaging.adaptors.http.flow.NoActiveTargets
em excesso excedem um determinado limite.
É necessário coletar informações de diagnóstico
Se o problema persistir mesmo depois de seguir as instruções acima, colete as seguintes informações: informações de diagnóstico. Entre em contato com eles e compartilhe com o suporte da Apigee:
- Se você é usuário da nuvem pública, forneça as seguintes informações:
- Nome da organização
- Nome do ambiente
- Nome do proxy da API
- Complete o comando curl para reproduzir o erro
- Arquivo de rastreamento contendo as solicitações com o status 503 Serviço Indisponível com o código de erro NoActiveTargets
- Se você é usuário da nuvem privada, forneça as seguintes informações:
- Mensagem de erro completa observada
- Nome do ambiente
- Pacote de proxy de API
- Arquivo de rastreamento contendo as solicitações com o status 503 Serviço Indisponível com o código de erro NoActiveTargets
- Registros de acesso do NGINX
(
/opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log
) - Registros do processador de mensagens
(
/opt/apigee/var/log/edge-message-processor/logs/system.log
)