Monitoramento
Qualquer sistema depende de monitoramento com logs e alertas. No caso de integrações, além de todo o monitoramento e análise feito internamente, existem logs e alertas que podem ser utilizados por equipes de suporte externas, como pessoal de TI responsável pelos mecanismos de integração.
Todo o monitoramento, externo e interno, é centralizado através do Grafana. Os logs são arquivados em S3 com políticas de armazenamento de até 5 anos. Indexações e buscas são feitas através de CloudWatch e Athena.
Acesso a Logs
São disponibilizados os seguintes meios de acesso a logs:
- Despacho de arquivos (dados e/ou pedidos) em pacotes para buckets privados em S3.
- Disponibilização de acesso (privado e assinado para 48h de acesso) a arquivos em S3.
- Acesso através de APIs Athena.
- Busca online através de painel Web (em desenvolvimento).
Acesso a Alertas
Diversos aspectos de integrações externas são monitorados com disparo de alertas. Os alertas indicam alguma falha que passou de algum limite (threshold) por um determinado tempo: por exemplo, timeout de conexão a um banco de dados ou HTTP ou métodos WS em falha.
Os sistemas internos são monitorados e não disparam alertas para equipes externas, apenas havendo um resumo de status acessível via Web. Qualquer instabilidade é monitorada, alertada e tratada, constantemente.
Para tratamento de alertas, são oferecidos diversos canais a serem optados pelas equipes externas.
Caso exista a necessidade de data points (Prometheus e/ou Graphite), entre em contato.
O meio padrão, sempre configurado, é o de mensagens por e-mail.
Canais de Alertas
São oferecidos os seguintes canais de alertas para equipes externas. Alguns são especializados no tratamento de alertas e DevOps, como PagerDuty e VictorOps, outros são sistemas de chat e colaboração, como Slack e Microsoft Teams, e outros são apenas apps de mensagem, como o Telegram.
- E-mail - Padrão: todos emails recebidos são de alerts@negotti.com via Grafana
- DingDing
- Threema Gateway
- APIs - webhooks
- Prometheus - Alertmanager
- Discord
- HipChat
- OpsGenie
- Sensu
- Microsoft Teams
- VictorOps
- Slack
- Telegram
- Kafka REST Proxy
- LINE
- PagerDuty
- Pushover
Utilizando APIs (webhooks), qualquer forma de integração de alertas é possível. O envio direto de SMS/MMS não é suportado diretamente, mas pode ser feito através de webhooks. Não é suportado o envio de mensagens através de WhatsApp (100% Facebook Free).
SLA
Procuramos manter uma disponibilidade de 99,999% (indisponibilidade de aproximadamente 5 minutos ao ano), portanto qualquer anomalia nos serviços é comunicado por status ou emails e diversos alertas. A maior parte de integrações é projetada para que seja auto-recuperada da maioria dos problemas.
É importante que integrações tenham níveis aceitáveis de SLA bem como adequada documentação e avisos de possíveis manutenções e instabilidades.
Cobrança
Sistemas externos de integração devem receber e tratar alertas bem como recomendações de melhoramentos como tempos de resposta a consultas (SQL) ou métodos (WS) e análises relacionadas.
Parametrizações são feitas de forma que evitem muitos alertas falso-negativos. Erros constantes em dados ou instabilidades e alertas/avisos não atendidos podem implicar no não atendimento de tickets de suporte bem como cobrança adicional de horas de manutenção ou interrupção/redução de determinadas integrações.
Comentários
0 comentário
Artigo fechado para comentários.