Pular para o conteúdo principal
Sempre que o AppSignal detecta um novo erro ou medição de desempenho, abrimos um incidente. Você encontra os incidentes nas seções Errors e Performance. O AppSignal pode enviar notificações sempre que um novo incidente, ou novas instâncias de um incidente já existente, for detectado. As notificações podem acontecer por e-mail ou por um dos nossos muitos notificadores.

Opções de notificação

Sempre que um novo incidente é criado, ele herda os padrões de notificação do app. Quando um incidente de Error ou de Performance é criado, suas configurações de notificação podem ser alteradas na própria página do incidente. Se um incidente foi fechado, ele será reaberto quando uma nova notificação for enviada. Há seis opções de notificação disponíveis: Novos incidentes de erro têm como padrão First in Deploy, e novos incidentes de desempenho têm como padrão Never Notify.

Every Occurrence

Uma notificação é enviada toda vez que um incidente é disparado. Essa opção tem um intervalo de 5 minutos. Isso significa que, se um incidente for disparado 20 vezes por minuto, durante 20 minutos, você receberá uma notificação nos minutos 0, 5, 10, 15 e 20.

First in Deploy

Uma notificação é enviada na primeira ocorrência de um incidente após o recebimento de um novo deploy marker. Você precisará configurar deploy markers para que o AppSignal detecte um deploy e saiba quando um incidente ocorreu pela primeira vez em um deploy.

First After Close

Uma notificação é enviada na primeira ocorrência de um incidente após o incidente ter sido fechado anteriormente. Incidentes podem ser abertos e fechados na barra lateral, na página de detalhes do incidente. Essa opção é uma boa escolha para incidentes que não são acionados por um bug de código, mas por uma fonte externa (por exemplo, um terceiro com problema de conexão) e não podem ser fechados fazendo deploy de uma nova versão do app.

Never Notify

Nenhuma notificação é enviada quando o incidente é disparado. Usado principalmente para erros que continuarão a acontecer e que você gostaria de acompanhar, mas que não serão corrigidos em breve. Se você não quiser receber o incidente de forma alguma, ignorar a action ou ignorar o erro pode ajudar.

Every Nth per Hour/Day

Uma notificação é enviada a cada n-ésima ocorrência por hora, ou por dia, dependendo das suas preferências. Há vários cenários em que isso pode ser benéfico:
  • Erro de cobrança: Imagine um erro de cobrança ocorrendo de vez em quando, fora do seu controle. Ele acontece, no máximo, 5 vezes ao dia, e você quer saber quando esse número aumenta de repente. Configurar para “every 10th time a day” enviará um alerta na 10ª, 20ª, 30ª ocorrência etc.
  • Erro de API: Você pode ter uma API que muita gente usa. Ao experimentar uma API, é comum cometer erros que disparam exceções. Você pode querer ser alertado apenas quando o número de erros atingir um limite. Você poderia, por exemplo, configurá-lo para notificar você a cada 1000ª ocorrência por hora, o que pode indicar que a API está falhando por motivos diferentes.
  • Durante um incidente: Imagine que algo está severamente quebrado. Centenas de erros por hora estão acontecendo, mas você está no controle. Pode não ser uma boa ideia ignorar todos os alertas completamente, mas receber cada um deles vai te afogar em notificações. Esse é o momento perfeito para gerenciar o número de notificações que você recebe, configurando temporariamente seus erros para Nth/hour.
Visualização de notificações a cada 100ª por hora Acima está uma visualização de quando você receberia alertas. Neste cenário, as notificações estão configuradas para “Every 100th per hour”.

Configurações de notificação para incidentes de erro

Incidentes de erro são identificados pelo nome (classe) do erro, como ActiveRecord::RecordNotFound e, se o erro ocorreu dentro de uma action, pelo nome da action. (Por exemplo, StandardError em BlogpostsController#show). Opções de notificação para incidentes de erro

Configurações de notificação para incidentes de desempenho

Incidentes de desempenho são identificados pelo nome da “action”, como BlogpostsController#show. Assim que detectamos uma nova action, criamos um incidente para ela. Nesse momento, você pode sobrescrever as configurações de notificação padrão e alterar quando gostaria de ser notificado e qual deve ser o limite de duração do incidente de desempenho antes que uma notificação seja enviada. Por exemplo, para actions em que os tempos de resposta podem ser lentos, porque interagem com terceiros, você pode definir o limite de duração para 10 segundos, enquanto para a página inicial você pode definir um limite de 200 milissegundos. O filtro de limite é usado em combinação com as configurações de notificação. Por exemplo, se você tem First in deploy e 200ms como configurações de notificação e limite, uma ocorrência do incidente precisa satisfazer ambos para que uma notificação seja enviada. Opções de notificação para incidentes de desempenho

Padrões de organização e namespace do app

As configurações de notificação em um incidente só podem ser alteradas após ele ter ocorrido pelo menos uma vez. Isso pode ser um problema se você nunca quiser ser notificado ou quiser definir um limite de incidente de desempenho diferente do padrão de 200 milissegundos. É possível configurar padrões de notificação por namespace do app ou até para a organização inteira. Isso facilita aplicar as configurações de notificação desejadas a todos os novos incidentes e a todos os incidentes existentes cujas configurações de notificação ainda não foram personalizadas.

Padrões de notificação do app

Cada aplicação tem seus próprios padrões por namespace para as configurações de notificação. Um novo incidente no namespace especificado herdará as configurações padrão definidas nesta página. Para mais informações, veja a seção herança dos padrões de notificação. Recomenda-se dividir a aplicação em namespaces que agrupem os incidentes potenciais por severidade. Dessa forma, você pode configurar as preferências de notificação para um grupo de incidentes, sem necessidade de configurar cada incidente separadamente. Por exemplo, para o painel de administração de um app, você poderia criar um namespace chamado admin com a configuração padrão de notificação “Never notify”, já que os erros que ocorrem nesse namespace têm menor prioridade.

Padrões de notificação da organização

Também é possível configurar padrões de notificação na sua organização. Esses padrões serão usados quando o AppSignal detectar e criar uma nova aplicação. Quando cria o novo app, ele aplicará os padrões de notificação da organização como padrões de notificação do app. Alterações nos padrões de notificação da organização não se aplicam a apps já existentes. Para mais informações, veja a seção herança dos padrões de notificação. Esses padrões de notificação no nível da organização podem ser configurados no painel de administração da organização. É possível configurar padrões para cada namespace detectado em qualquer uma das aplicações atuais da sua organização.

Herança dos padrões de notificação

As configurações de notificação se propagam dos ajustes do incidente para os ajustes do namespace do app. Se as configurações de notificação de um incidente não forem alteradas, os padrões do namespace do app são usados. Isso significa que você também pode alterar todas as configurações de notificação dos incidentes que não tiveram suas configurações personalizadas, mudando os padrões do app.
  • Quando um novo app é detectado pelo AppSignal, os padrões de namespace da organização são aplicados.
    • Quando os padrões de notificação por namespace da organização são alterados, eles se aplicam apenas a novos apps.
  • Quando os padrões de notificação por namespace de um app são alterados, eles se aplicam a todos os novos incidentes e aos incidentes existentes sem configurações de notificação personalizadas.
  • Quando um novo incidente é detectado pelo AppSignal, os padrões por namespace do app são usados.
  • Quando as configurações de notificação de um incidente são personalizadas, essas configurações personalizadas do incidente são usadas a partir desse momento.