Com a versão 1.7 do nosso principal produto ClusterControl, apresentamos nossa nova infraestrutura de monitoramento baseada em agente:SCUMM - que este blog discute com mais detalhes.
Como elemento central do nosso produto, o ClusterControl fornece um sistema de monitoramento completo com dados em tempo real para saber o que está acontecendo agora, com métricas de alta resolução para maior precisão, painéis pré-configurados e uma ampla gama de serviços de notificação de terceiros para alertas .
Sistemas locais e em nuvem podem ser monitorados e gerenciados a partir de um único ponto.
Verificações de integridade inteligentes são implementadas para topologias distribuídas, por exemplo, detecção de particionamento de rede, aproveitando a visão do balanceador de carga dos nós do banco de dados.
E... o monitoramento pode ser sem agente via SSH ou baseado em agente... e é aí que entra o SCUMM!
O novo sistema SCUMM da ClusterControl é baseado em agente, com um servidor extraindo métricas de agentes que são executados nos mesmos hosts que os bancos de dados monitorados e usa agentes Prometheus para maior precisão e opções de personalização ao monitorar seus clusters de banco de dados.
Mas por que SCUMM e do que se trata?
Introdução ao SCUMM
SCUMM - Multiplenines CMON Unified Monitoring and Management - é nossa nova infraestrutura de monitoramento baseada em agente.
Essa infraestrutura de monitoramento consiste em dois componentes principais:
O primeiro componente é o servidor Prometheus que atua como banco de dados de séries temporais e armazena as métricas coletadas.
O segundo componente é o exportador. Pode haver um ou mais exportadores responsáveis por coletar métricas de um nó ou serviço. O servidor Prometheus coleta essas métricas (isso é chamado de raspagem) dos exportadores por HTTP. Além disso, criamos um conjunto de dashboards para visualizar as métricas coletadas.
Os principais benefícios são:
- Colete métricas com exportadores do Prometheus com suporte da comunidade
- Por exemplo, dados do MySQL Performance Schema ou ProxySQL
- Vários painéis especializados mostrando as métricas mais importantes e tendências históricas para cada serviço monitorado
- O monitoramento de alta frequência possibilita a extração dos alvos com um intervalo de um segundo
- Uma arquitetura que escala com o número de servidores de banco de dados e clusters. Uma única instância do Prometheus pode ingerir milhares de amostras por segundo.
- Sem dependência de conectividade SSH para coletar métricas de host e processo, o que significa um sistema mais escalável em comparação com uma solução de monitoramento sem agente
- A capacidade de criar painéis personalizados com regras personalizadas (cuidado com nossos próximos lançamentos)
Os Agentes/Exportadores SCUMM instalados nos nós monitorados são chamados de Exportadores Prometheus. Os exportadores coletam métricas do nó (por exemplo, CPU, RAM, disco e rede) e de serviços como servidores MySQL ou PostgreSQL. O servidor Prometheus é instalado em um servidor e coleta (amostras) os exportadores com um intervalo personalizado.
Por que Prometheus?
O Prometheus é um banco de dados de séries temporais muito popular que ganhou uma grande adoção com um ecossistema ativo. Ele oferece um modelo de dados rico e uma linguagem de consulta com um sistema de pesquisa baseado em http. Também é fácil de instalar, manter e configurar na configuração de HA.
O Prometheus extrai métricas de trabalhos instrumentados, diretamente ou por meio de um gateway de envio intermediário para trabalhos de curta duração. Ele armazena todas as amostras extraídas localmente e executa regras sobre esses dados para agregar e registrar novas séries temporais de dados existentes ou gerar alertas.
O Prometheus funciona bem para gravar qualquer série temporal puramente numérica. Ele se adapta tanto ao monitoramento centrado em máquina quanto ao monitoramento de arquiteturas altamente dinâmicas e orientadas a serviços. Em um mundo de microsserviços, seu suporte para coleta e consulta de dados multidimensionais é um ponto forte.
O Prometheus foi projetado para confiabilidade, para ser o sistema que você acessa durante uma interrupção para permitir o diagnóstico rápido de problemas. Cada servidor Prometheus é autônomo, não dependendo do armazenamento de rede ou de outros serviços remotos. Você pode confiar nele quando outras partes de sua infraestrutura estiverem quebradas e não precisar configurar uma infraestrutura extensa para usá-lo. Assim, para alta disponibilidade, é possível simplesmente instalar um segundo servidor Prometheus, coletando os mesmos dados do primeiro servidor Prometheus.
Além disso, o Prometheus é um banco de dados de séries temporais muito popular e sua adoção cresceu muito rapidamente. É possível que outro servidor Prometheus que esteja mais alto na organização raspe os servidores Prometheus mais próximos da camada de banco de dados. Isso permite uma infraestrutura de monitoramento escalável onde na camada de banco de dados a resolução de dados é maior do que em uma organização.
Exportadores
Um ou mais exportadores são instalados no servidor monitorado e são responsáveis por coletar métricas sobre uma parte específica da infraestrutura. Por exemplo, pode haver um exportador para capturar informações específicas do host, um exportador para capturar as métricas do MySQL e as métricas do ProxySQL.
Também criamos um exportador de processos específico que monitora os processos em execução do servidor. Esse exportador é fundamental para os recursos de alta disponibilidade do ClusterControl e permite que o ClusterControl reaja rapidamente a falhas e estados de processos. Usar o exportador de processos (que é instalado por padrão quando o Monitoramento Baseado em Agente está ativado) reduz a carga do sistema nos servidores monitorados.
Ativando o monitoramento baseado em agente no ClusterControl
Ativar o monitoramento baseado em agente é tão simples quanto clicar no painel e, em seguida, clicar em "Ativar monitoramento baseado em agente". Selecione um host onde o servidor Prometheus será instalado. Esse servidor Prometheus pode ser compartilhado com outros clusters.
Com sua versão 1.7.1, o ClusterControl vem com os seguintes painéis:
- Visão geral do sistema
- Visão geral do cluster
- MySQL Server - Geral
- MySQL Server - Caches
- Métricas do MySQL InnoDB
- Visão geral do cluster do Galera
- Visão geral do servidor Galera
- Visão geral do PostgreSQL
- Visão geral do ProxySQL
- Visão geral do HAProxy
- Visão geral do cluster MongoDB
- Conjunto de réplicas do MongoDB
- Servidor MongoDB
Para resumir…
Se alguém deseja usar um agente de monitoramento ou seguir a rota sem agente é completamente baseado em requisitos de política organizacional e necessidades personalizadas. E embora gostemos da simplicidade de não precisar instalar ou gerenciar agentes nos hosts de banco de dados monitorados, uma abordagem baseada em agente pode fornecer maior resolução de dados de monitoramento e tem certas vantagens em termos de segurança.
O novo sistema SCUMM da ClusterControl usa agentes Prometheus para maior precisão e opções de personalização ao monitorar seus clusters de banco de dados.
Por que não experimentá-lo e ver por si mesmo!
Instale o ClusterControl hoje (é grátis com nossa Community Edition) ou baixe nosso novo Guia do ClusterControl se você quiser ler mais sobre nosso produto primeiro.