Este guia mostra como otimizar seus erros para que você possa melhorar a taxa de erros, a detecção de erros e a experiência do cliente. Faz parte da nossa série sobre maturidade de observabilidade.
Visão geral
Monitoramento de erros é a prática de capturar erros de aplicativos e taxas de erros para que você possa resolver problemas que afetam a experiência de seus clientes com seu software.
O monitoramento de IA deste guia visa permitir que um cliente ou equipe da New Relic:
- Calibre a forma como os erros são entendidos pela New Relic, para que as métricas relacionadas aos erros reflitam apenas os erros que são significativos para você
- Reduza a incidência de erros ao longo do tempo
Resultado desejado
Melhore a experiência e a confiabilidade dos clientes reduzindo a taxa de erros do aplicativo e o tempo médio de resolução.
Principais indicadores de desempenho
KPIs de negócios
Reduzir os erros que os clientes enfrentam melhora a confiabilidade. organizações que melhoram a confiabilidade experimentam maiores taxas de conversão (taxas de conclusão da jornada do usuário) e maior envolvimento do usuário. Isto aproxima a organização do cumprimento das suas metas de destino de receita (comercial) ou de impacto social (sem fins lucrativos).
Os KPIs de negócios acima funcionam partindo do pressuposto de que você oferece suporte ao seu usuário fornecendo um aplicativo frontend. Se você apoia seus clientes via API, pode ser possível adequar os KPIs acima ao tipo de entidade de transação. Algumas organizações que fornecem API como serviço utilizam KPIs operacionais como os abaixo para promover a qualidade de sua oferta.
KPIs operacionais
Pré-requisitos
Instalação e configuração necessárias
Certifique-se de que nossas soluções
,
, monitoramento de Mobile, monitoramento Serverless ou OpenTelemetry estejam recebendo seus erros.
Mapas de origem atualizados para aplicativos da web
Simbologia atualizada para aplicativo móvel
Estabeleça o estado atual
Crie uma workload para seu aplicativo
Defina a lista de aplicativos e serviços para os quais você está tentando otimizar erros. A equipe que conduz o processo de otimização de erros deve ter total responsabilidade e controle desses aplicativos e serviços. Depois de decidir, configure uma workload para essas entidades.
Carga de trabalho são um conjunto de entidades (aplicativo, instância, etc.) pelas quais uma equipe específica é responsável. Eles permitem que você analise os dados apenas da entidade sobre a qual você pode fazer algo. Basearemos a maior parte do nosso trabalho daqui para frente na workload que você configurou aqui.
Leva apenas alguns minutos para configurar uma workload. Consulte as instruções workload .
Se você já conhece a carga de trabalho e prefere dividir seu aplicativo e serviços em várias cargas de trabalho, você pode. Basta seguir as etapas abaixo para cada workload.
Crie um nível de serviço para sua workload
O nível de serviço permite configurar e visualizar facilmente os objetivos de nível de serviço (SLOs) para um determinado grupo de entidades. Usar o nível de serviço é uma forma de monitor e comunicar o sucesso do seu projeto de gerenciamento de erros.
Na sua workload, navegue até a guia Service levels. Crie um nível de serviço que meça taxas de erros para cada entidade na workload. Isso é configurado na Etapa 2 na interface de nível de serviço. Para cada nível de serviço, use as cláusulas WHERE para filtrar boas solicitações ou erros que não deveriam ser levados em consideração.
Use o nível de serviço para acompanhar seu progresso em relação às taxas de erros atuais
Usando o processo documentado acima, você criou o nível de serviço com base em sua taxa de erros atual.
- A coluna SLO mostra a taxa de erros de destino que você selecionou usando uma baseline.
- O modo de visualização Operacional mostra o desempenho recente em relação ao seu destino.
- O modo de visualização Período após período mostra seu desempenho em relação ao seu destino durante um longo período de tempo.
- Você pode atualizar taxas de erros destino à medida que melhorias são feitas.
Processo de melhoria
- Identifique erros inconsequentes
- Remova erros inconsequentes de sua taxa de erros
- Configurar alerta de taxa de erros
- Estabeleça uma lista de heróis do erro
- Erros de triagem usando Errors Inbox
- Vincular erros ao JIRA
- Erros de link ao Slack
- Usar CodeStream
Identifique erros inconsequentes
Explore seus erros da maneira que você se sentir mais confortável. Você pode fazer isso usando:
- Visualizações prontas para uso para APM, monitoramento de Mobile, erros de JavaScript, monitoramento Serverless e OpenTelemetry
- Errors Inbox filtrada para sua workload
- Tipos de dados NRQL como
TransactionError
,JavaScriptError
,MobileRequestError
,AwsLambdaInvocationError
,Span
Remova erros inconsequentes de sua taxa de erros
Você pode remover erros que não importam de duas maneiras:
- Impedir que eles sejam ingeridos usando configuração (somente APM) ou regras de descarte. Essa abordagem funciona apenas para erros que você tem certeza de que não precisam ser capturados. A vantagem adicional desta abordagem é a redução na ingestão de erros ruidosos.
- Use NRQL para filtrar os erros dos cálculos de nível de serviço. Faça isso adicionando à cláusula WHERE um filtro de respostas incorretas. Certifique-se de rebasear o nível de serviço se isso melhorar significativamente a taxa de erros. Isso melhorará a precisão do alerta de erros.
Configurar alerta de taxa de erros
Revise cada nível de serviço configurado em Criar nível de serviço para sua workload e crie um alerta para notificar a equipe quando a taxa de erro aumentar além de uma taxa aceitável.
Estabeleça uma lista de heróis do erro
Os alertas informarão se você está atingindo os níveis atuais de desempenho de erros, mas não ajudarão a melhorá-los. Para melhorar o sentimento dos clientes, crie um processo onde os erros sejam revisados diariamente por um membro da sua equipe. O herói do erro deve:
- Inicialmente concentre-se nos erros que acontecem acima da dobra. Para um processo de revisão diária, isso significa focar nos erros que aconteceram apenas nas últimas 24 horas.
- Erros de triagem usando Errors Inbox
Erros de triagem usando Errors Inbox
Errors Inbox é um local único para detectar, fazer a triagem e tomar medidas proativas em relação a todos os erros antes que eles afetem os clientes. Erros semelhantes serão agrupados para evitar duplicação de trabalho e permitir que você priorize os erros por número de ocorrências.
Ao acessar Errors Inbox, selecione sua workload para ver apenas erros relevantes para sua equipe.
Reserve um horário regular para analisar Errors Inbox em equipe. Para começar, faz sentido diariamente ou algumas vezes por semana, pois você terá muitos grupos de erros para analisar. Mais tarde, semanal ou quinzenalmente pode ser mais apropriado.
Percorra os erros um por um clicando na tela de detalhes do erro quando necessário para obter mais informações, como rastreamento, log, etc. Isso apontará para a causa do erro ou fornecerá um ponto de partida para uma investigação mais aprofundada.
Após uma breve discussão, você poderá marcar o grupo de erros como um dos seguintes:
- Ignorar: Para usar quando o erro não for problemático. Isso ocultará o grupo de erros da visualização da caixa de entrada daquele ponto em diante.
- Resolvido: Para uso quando o erro foi resultado de um problema conhecido que já foi corrigido. Isso removerá o grupo de erros da lista, a menos que ocorra novamente. Se ocorrer novamente, a correção implementada anteriormente deverá ser repensada.
Observação: ignorar e/ou resolver erros por meio Errors Inbox não impedirá que eles sejam contabilizados na métrica de taxa de erro.
Se nenhum dos status acima for adequado, atribua o erro ao membro apropriado da equipe para investigação e resolução adicionais. Esse membro da equipe pode conduzir investigações adicionais em seu próprio tempo, atualizando as notas do grupo de erros com seu progresso e/ou pedindo ajuda de outros membros da equipe por meio da seção de notas.
Na próxima reunião de triagem, você poderá revisitar esses grupos de erros para ver se agora eles podem ser marcados como resolvidos. Com o passar do tempo, você deverá começar a ver menos novos grupos de erros aparecendo e movimentos positivos em seus KPIs.
Vincular erros ao JIRA
À medida que você se depara com erros mais complexos ou extremos, pode descobrir que precisa pedir ajuda a outras equipes. Vincular Errors Inbox ao Jira pode ajudar com isso. Conecte sua Errors Inbox ao Jira para criar facilmente tickets conectados a grupos de erros. Você pode controlar as informações enviadas ao Jira por meio dos modelos do Jira.
Erros de link ao Slack
À medida que a velocidade dos erros que chegam à Errors Inbox diminui, uma sessão regular da equipe pode não ser mais um bom uso do tempo. Uma alternativa é vincular Errors Inbox ao Slack e a) designar uma pessoa rotativa para monitor o canal e resolver/ignorar/atribuir grupos de erros à medida que eles chegam ou b) permitir que a equipe responda proativamente aos grupos de erros.
Usar CodeStream
Muitos de seus grupos de erros exigirão alterações de código para serem resolvidos. Conecte o CodeStream à sua conta New Relic para abrir o código incorreto diretamente em seu IDE para investigar o código diretamente. Você também pode deixar notas e comentários sobre linhas específicas de código para os desenvolvedores revisarem e vice-versa.
New Relic com CodeStream oferece mais contexto sobre seus grupos de erros, como a capacidade de ver números de versão ou confirmar SHAs. Além disso, usar Errors Inbox como um local centralizado para identificar, discutir e corrigir problemas de código permite que você responda aos problemas de código com eficiência e evite a duplicação de trabalho.
Realização de valor
Revise os índices de erros semanalmente à medida que avança na prática. À medida que a taxa de erros diminui, você verá um tempo médio de resolução mais rápido e maior satisfação dos clientes.