Quase todos os aplicativos e serviços fazem chamadas para API e outros serviços externos. Quando algo tão simples como pressionar o botão buy
em um site pode gerar dezenas de chamadas de API, problemas podem surgir. A chamada problemática da API pode resultar em qualquer coisa, desde um pequeno acidente de inventário até uma situação de código vermelho em que seu site não consegue se comunicar com seu processador de pagamentos.
Analisar esses erros é demorado. O seu site não está conseguindo processar compras porque a chamada da transação de compra falhou? Ou talvez seja a sua chamada de autenticação para o seu processador de pagamentos? Talvez nem seja um problema de API externa, mas um problema com sua API de inventário interno. É mesmo um erro de API ou um erro dentro do seu próprio aplicativo? Com o New Relic, você pode resolver esses problemas em uma fração do tempo que levaria manualmente.
Objetivos
Esta série de tutoriais mostra como identificar interações problemáticas de API e como resolvê-las com a plataforma New Relic. Este documento cobre:
- Integrando o New Relic ao seu aplicativo para enviar dados para monitor
- Identificando API problemática por meio da interface de serviços externos
Integrar New Relic
Antes de monitor ou resolver qualquer coisa, você precisa instalar um agente para coletar os dados que usará.
Instale um agente APM
Para monitor o desempenho do seu aplicativo, você usará um agente criado especificamente para o idioma do seu aplicativo. Clicar em um logotipo direciona você para a plataforma New Relic, onde você será orientado na instalação e configuração do agente.
Depois de instalar um agente, acesse one.newrelic.com e selecione seu aplicativo. Se você ainda não vê muitos dados, afaste-se por um tempo e deixe o agente coletar dados em tempo real enquanto seu aplicativo é executado.
Configuração adicional
Sua configuração específica pode exigir configuração adicional. Dê uma olhada em nosso documento de configuração de serviço externo para obter mais informações.
Depois de concluir as etapas adicionais do documento acima, vá para one.newrelic.com > selecione seu aplicativo > External services. Você deverá ver dados sobre sua API e fluxo de serviços externos.
Identifique API problemática
Agora você pode acompanhar como seu aplicativo interage com API e outros serviços externos. Vamos usar essas informações para identificar quais API ou serviços externos estão causando problemas:
Pense na causa raiz
Se você está procurando API ou serviços problemáticos, provavelmente já tem um problema que está pronto para resolver. Talvez o seu usuário não consiga fazer compras ou mesmo login no seu site.
Seu aplicativo pode fazer chamadas para dezenas ou centenas de API. Enquanto você continua com as etapas a seguir, lembre-se do problema raiz. Se você sabe que tem problemas com compras, concentre-se na API relacionada a compras e transações. Se for um problema de log , você pode se concentrar em chamadas para usuário banco de dados ou serviços de autenticação externa.
Triagem com mapas
Digamos que você tenha uma loja virtual e tenha recebido e-mails de seu usuário reclamando que não foi avisado quando seu pacote chegou. Você acha isso estranho, pois eles deveriam ter recebido notificação por SMS e e-mail.
Você tem um instrumento de serviço que cuida de todo o processo de entrega. Vá para a página External services e clique em Maps.
Isso mostra o relacionamento entre todos os seus próprios serviços e quaisquer serviços externos ou API. Nesse caso, o serviço com o qual você se preocupa na triagem é Delivery
. Ele é chamado por outro serviço chamado Order-Composer
e chama outros quatro serviços e API , como você pode ver à direita.
Identificar anomalia
A visualização do mapa mostra alguns gráficos úteis para rastrear taxas de transferência e tempo de resposta, mas também representa visualmente essas métricas através da espessura e cor da linha entre o seu serviço e os serviços que ele chama.
As linhas entre o serviço Delivery
e sua dependência parecem bastante semelhantes, exceto aquela que aponta para Sms notification
. Na verdade, ao passar o mouse sobre o serviço de SMS você pode ver que as taxas de transferência são muito mais altas do que o resto da dependência.
Você agora identificou Sms notification
como a causa provável da frustração do seu usuário. Agora que identificamos um provável suspeito, você pode resolver a raiz do problema.