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.