O Datadog é uma plataforma poderosa de monitoramento e análise que permite que administradores de sistemas e desenvolvedores acompanhem o desempenho e a integridade de suas infraestruturas e aplicações. Dentro desse ecossistema, os Monitores desempenham um papel crucial, alertando sobre eventos importantes e ajudando a manter a saúde dos sistemas. Existem vários tipos de Monitores no Datadog, cada um projetado para diferentes cenários de uso. Neste artigo, vamos explorar os tipos de Monitores disponíveis, como funcionam e onde é mais adequado utilizar cada um.
- Monitor de Métricas (Metric Monitor): Alerta quando uma métrica específica ultrapassa um limite definido. Ideal para alertar quando um valor específico de métrica ultrapassa ou fica abaixo de um limite esperado. Por exemplo, você pode configurar um alerta para notificar se a utilização de CPU de um servidor excede 90% durante um período contínuo de 5 minutos.
- Monitor de Mudança (Change Monitor): Detecta e alerta sobre variações significativas entre o valor atual de uma métrica e o valor coletado em um momento anterior. Por exemplo, você pode configurá-lo para comparar o uso de CPU atual com o valor de 10 minutos atrás. Se a utilização da CPU aumentar mais de 20% em relação ao valor registrado anteriormente, o monitor pode gerar um alerta.
- Monitor de Logs (Log Monitor): Alerta com base em padrões específicos nos logs, como erros de aplicação, identificação de exceções e falhas. Por exemplo, você pode configurar um alerta para ser notificado sempre que um erro de Exception aparece nos logs da aplicação web, indicando um problema potencial que pode afetar a estabilidade da aplicação.
- Monitor de Anomalia (Anomaly Monitor): Detecta comportamentos anômalos em métricas, levando em consideração tendências e padrões sazonais. Por exemplo, se você tiver uma métrica de tráfego de rede, um Monitor de Anomalia pode alertar se houver um pico inesperado de 200% em relação ao tráfego médio usual.
- Monitor de Previsão (Forecast Monitor): Prevê o comportamento futuro de métricas com base em dados históricos, permitindo antecipar problemas de capacidade ou desempenho. Por exemplo, se a utilização de disco estiver aumentando constantemente, um Forecast Monitor pode prever quando o disco ficará cheio e alertar com antecedência para que você possa planejar a expansão.
- Monitor Composto (Composite Monitor): Combina vários monitores em um único alerta, permitindo criar condições de alerta mais complexas. Por exemplo, você pode criar um Composite Monitor que alerta se a utilização de CPU excede 85% e a memória disponível cai abaixo de 20% simultaneamente, indicando um possível problema de desempenho no servidor.
- Monitor de Watchdog: O Watchdog verifica continuamente e automaticamente anomalias e eventos importantes sem configuração manual. Por exemplo, você pode criar um Watchdog Monitor para ser notificado quando um comportamento inesperado acontecer.
- Monitor de APM (Application Performance Monitoring): Monitora o desempenho de serviços, incluindo tempos de resposta, taxas de erro e rastreamento de transações. Por exemplo, um Monitor APM pode alertar se o tempo de resposta de uma transação exceder 2 segundos, indicando um possível problema de desempenho na aplicação.
- Monitor de Integração (Integration Monitor): Fornece sugestões sobre o monitoramento de integridade das integrações do Datadog com outras ferramentas e serviços. Por exemplo, você pode configurar um Integration Monitor para verificar se a integração com o banco de dados está funcionando corretamente e alertar se houver falhas na comunicação.
- Monitor de Processos ao Vivo (Live Process Monitor): Verifica a integridade de processos específicos do sistema operacional em tempo real. Por exemplo, você pode configurar um Live Process Monitor para alertar se um processo crítico estiver consumindo mais de 80% da CPU por mais de 5 minutos.
- Monitor de SLO (Service Level Objectives): Monitora o cumprimento de objetivos de nível de serviço (SLOs). Por exemplo, você pode configurar um Monitor de SLO para verificar se a a sua taxa de erro exceder por um período de tempo.
- Monitor de RUM (Real User Monitoring): Monitora a experiência do usuário em aplicações web através do SDK do navegador. Por exemplo, um Monitor RUM pode alertar se o tempo médio de carregamento da página exceder 3 segundos, indicando uma possível degradação na experiência do usuário.
- Monitor de Desvio (Outlier Monitor): Identificam e alertam sobre comportamentos que se desviam do padrão esperado. Eles são úteis para detectar anomalias em grandes conjuntos de dados. Por exemplo, suponha que você tenha um monitor de outliers configurado para rastrear o tempo de resposta de uma API. Se a maioria das respostas estiver em torno de 100ms, mas algumas estão se desviando significativamente para mais de 500ms, o monitor pode alertar que há uma anomalia, indicando que pode haver um problema com o desempenho da API.
- Monitor de Eventos (Event Monitor): Rastreiam eventos específicos, como alterações em serviços, implantações, ou atualizações importantes. Por exemplo, o monitor de evento pode ser configurado para notificar quando um novo deploy é realizado em um ambiente de produção. Se um deploy falhar ou causar problemas, o monitor pode alertar imediatamente, permitindo que a equipe tome medidas corretivas rapidamente.
- Monitor de Host (Host Monitor): Verifica a saúde e o desempenho de hosts individuais, incluindo métricas de sistema, processos e serviços. Por exemplo, você pode configurar um Host Monitor para alertar se não houver dados coletados da métrica de CPU por mais de 10 minutos.
- Monitor de Rastreamento de Erros (Error Tracking Monitor): Rastreiam e alertam sobre erros em seu aplicativo ou sistema. Por exemplo, se você configurar um monitor de rastreamento de erros para um aplicativo web, ele pode alertar se houver um aumento significativo no número de erros 500 (erros do servidor).
- Monitor CI (Continuous Integration): Monitora a saúde e o desempenho dos pipelines de integração contínua. Eles ajudam a garantir que o processo de build e deploy esteja funcionando conforme esperado. Por exemplo, pode ser configurado para verificar a duração dos builds em um pipeline. Se um build começar a demorar muito mais do que o esperado, o monitor pode enviar um alerta, indicando que pode haver um problema com o processo de integração ou com o código.
- Monitor de Trilhas de Auditoria (Audit Trail Monitor): Rastreiam atividades e alterações dentro do Datadog para garantir conformidade e segurança. Por exemplo, um monitor de trilha de auditoria pode ser configurado para rastrear alterações nas permissões de acesso.
- Monitor de Desempenho de Rede (Network Performance Monitor): Monitora o tráfego de rede, garantindo que sua rede esteja funcionando de forma otimizada e estável. Por exemplo, você pode configurá-lo para rastrear o volume de tráfego entre duas zonas de disponibilidade, o monitor pode alertar se o tráfego exceder um certo limite.
- Monitor de Verificação de Rede (Network Check Monitor): Simula interações com endpoints para verificar a disponibilidade. Por exemplo, um Network Check Monitor pode verificar se uma API externa está respondendo corretamente e alertar se a resposta demorar mais de 1 segundo ou falhar.
- Monitor de Verificação de Processo (Process Check Monitor): Verifica a disponibilidade e a saúde de processos. Por exemplo, você pode configurá-lo para alertar quando um processo não estiver em execução.
- Monitor de Verificação de Serviço (Service Check): Verifica a disponibilidade e a saúde de serviços. Por exemplo, você pode configurar um Service Check para alertar se o servidor de banco de dados estiver inativo.
Ao escolher os monitores certos para o seu ambiente, considere os aspectos que você precisa monitorar e o nível de granularidade necessário.