Documentação

Alertas e canais

Um canal é um lugar para onde um alerta pode ir. Adicione quantos quiser e depois escolha, em cada monitor, quais são de rotina e quais servem para escalonamento.

O que você pode adicionar

Estes você mesmo adiciona, em Configurações → Notificações:

  • E-mail — qualquer endereço.
  • Slack, Teams, Discord — uma URL de webhook de entrada desse aplicativo.
  • Telegram — um chat, vinculado através do nosso bot.
  • PagerDuty e Jira Service Management — uma chave de integração.
  • Webhook — o seu próprio endpoint. Somente HTTPS, assinado, e veja abaixo.

Estes são adicionados por quem os recebe, e não digitados por outra pessoa:

  • Push — instale o aplicativo para celular e permita as notificações.
  • SMS — cadastre o seu próprio número e confirme um código que enviamos por mensagem para ele.
  • WhatsApp — o mesmo, pelo WhatsApp.
  • Satélite — um aparelho Iridium, Inmarsat ou Thuraya, alcançado por e-mail através da operadora.

De quem é o canal

Todo canal é ou da equipe ou de uma pessoa, e essa diferença decide o que acontece quando alguém sai.

Um canal compartilhado — um webhook #alerts, um serviço do PagerDuty, uma lista de distribuição — pertence à organização e sobrevive a qualquer saída.

Um canal pessoal — um aparelho, um chat privado do Telegram, um número de celular — pertence a quem o cadastrou, e é excluído quando essa pessoa é removida da organização. Antes de isso valer, o chat de Telegram de um colega removido continuava recebendo mensagens de queda indefinidamente, com o vínculo dele e as suas chaves de API já revogados.

Então, ao rotear um alerta, veja de quem é o canal para onde você o está mandando. Quem configura o acionamento raramente é a pessoa que ele acorda.

Um endereço precisa concordar antes de receber qualquer coisa

E-mail, SMS, WhatsApp e satélite confirmam primeiro. Adicione um canal de e-mail e o endereço recebe exatamente uma mensagem — perguntando se ele quer ser um destino de alertas — e nada mais até que diga que sim. Ao cadastrar um número de telefone, você digita de volta um código.

Isso existe porque um canal de e-mail é um endereço que outra pessoa digitou na conta de outra pessoa. Sem isso, um editor poderia apontar um monitor instável para a caixa de entrada de um desconhecido e nós entregaríamos. O botão de envio de teste é recusado até o endereço confirmar, pela mesma razão: caso contrário, é uma forma ilimitada de escrever para um endereço sem consentimento, com um rótulo de aparência prestativa.

Canais de chat e de push não perguntam, e isso não é uma exceção. Quem colou uma URL de webhook do Slack precisava tê-la em mãos, e um canal push é registrado pelo próprio dono do aparelho — nenhum dos dois pode ser apontado para um desconhecido apenas digitando um endereço.

Um endereço que já pertence a um membro verificado da sua organização é confirmado automaticamente. Essa pessoa provou que o endereço era dela quando criou a conta.

SMS e WhatsApp

Ambos a partir do Pro, e ambos consomem a mesma cota — o Pro recebe 10 por dia, 15 por semana e 30 por mês; Business e Enterprise recebem 15, 50 e 100. São uma cota só porque os dois custam dinheiro por mensagem e os dois chegam ao mesmo aparelho, de modo que aquilo de que o limite protege — um único monitor instável gastando o orçamento de um mês em uma hora — é o mesmo acontecimento, seja qual for o meio.

Três janelas em vez de uma, porque uma só tem o formato errado. Um limite mensal sozinho deixa um único monitor instável gastar tudo em uma tarde; um limite diário sozinho deixa um gotejamento lento custar trinta vezes o que você pretendia.

O limite é aplicado quando a mensagem é enfileirada, de modo que uma mensagem bloqueada nunca ocupa uma vaga, e é contado a partir do que foi realmente enviado, e não de um contador — um contador não tem como se manter honesto através de uma chamada à API de outra pessoa.

O SMS não chega a todo lugar, e nós dizemos isso antes de você se cadastrar

O alcance do SMS depende do país de quem recebe. Algumas redes não transportam de jeito nenhum uma mensagem de um remetente como o nosso; outras só a aceitam de um nome de remetente registrado junto ao regulador local. O seletor de países só oferece destinos que acreditamos conseguir alcançar, e a página de preços traz a lista completa.

Onde o nome do remetente puder ser substituído por um número local, você é avisado no cadastro em vez de descobrir por uma mensagem que chega de um desconhecido.O WhatsApp não tem nenhuma dessas limitações, não exige registro em lugar nenhum e alcança todos os países aos quais o SMS não chega.

Os alertas nunca contêm links. As operadoras filtram URLs desconhecidas, e um alerta filtrado é um alerta que você nunca recebe — então um monitor chamado acme.com chega como acme com.

Satélite

Para um aparelho sem nenhuma rede celular. As mensagens vão por e-mail através do gateway da operadora, então você paga tarifas de e-mail e não de SMS — mas as operadoras limitam a entrega a cinco mensagens por dia para cada aparelho, que é um limite delas e não nosso, e cada mensagem é cortada em 160 caracteres.

Anormalmente lento

Um monitor pode passar em todas as verificações e mesmo assim estar com problemas. Assim que ele tem pelo menos um dia de histórico, comparamos a rapidez com que responde agora com a rapidez habitual a partir do mesmo ponto de medição, e avisamos quando está bem mais lento que o normal — pelos mesmos canais que um incidente nesse monitor usaria. Quando volta à velocidade normal, avisamos também. Está disponível em todos os planos.

Não é um incidente. Nada está fora do ar, então não conta contra a disponibilidade, não aparece em página de status e não escala. Mais rápido que o normal nunca gera alerta; a lentidão precisa ser de pelo menos 100 ms e ficar bem fora da variação normal do monitor; e nada é avaliado enquanto o monitor está pausado, dentro de uma janela de manutenção ou com um incidente já aberto.

Um webhook recebe esses eventos como latency_anomaly e latency_recovered, com os tempos de resposta habitual e observado em milissegundos.

Webhooks

Somente HTTPS. Cada requisição é assinada para que você possa verificar que veio de nós. Endereços privados e link-local são recusados quando você salva a URL e de novo quando o alerta é enviado — porque um nome de host que resolvia para um endereço público quando você o salvou pode resolver para outro lugar mais tarde, e uma URL que passou na validação pode responder com um redirecionamento para qualquer lugar. Redirecionamentos não são seguidos.

Plantão

A partir do Pro. Monte uma rotação, defina as etapas de escalonamento, e um incidente não reconhecido sobe por elas. Reconhecer interrompe o escalonamento; resolver o encerra.

O escalonamento é o que faz valer a pena adicionar um canal pessoal: a primeira etapa pode ser o chat da equipe e a última o telefone de alguém às quatro da manhã.

Análises pós-incidente

Em todos os planos. Depois que um incidente é resolvido, qualquer pessoa que possa resolver incidentes pode escrever a análise — o que aconteceu, por quê e o que muda — e editá-la conforme a investigação avança. Há uma por incidente, escrita em Markdown: títulos, negrito e itálico, listas, código, citações e links. HTML aparece como texto e nunca é executado.

A análise é interna. Nunca aparece em uma página de status, porque costuma citar pessoas, sistemas e erros. Salvá-la fica registrado no log de auditoria, pelo tamanho e não pelo conteúdo.

O que acontece quando nada pode ser entregue

Um canal que falha registra o motivo em si mesmo, nas palavras do próprio provedor, em vez de falhar em silêncio. Um SMS recusado diz o que a rede disse. Uma mensagem de WhatsApp recusada minutos depois de ter sido aceita diz qual modelo e qual idioma.

Isso importa mais do que parece. Cada um desses provedores responde “aceito” na hora e informa o resultado real depois — então, sem ler esse relatório, um canal pareceria verificado, a mensagem pareceria enviada, e a primeira notícia que alguém teria seria uma queda sobre a qual ninguém foi avisado.