Este guia fornece às equipes corporativas que estão avaliando o ClickHouse de código aberto informações abrangentes sobre recursos de monitoramento e observabilidade para implantações em produção. Clientes empresariais frequentemente perguntam sobre recursos de monitoramento prontos para uso, integração com stacks de observabilidade existentes, incluindo ferramentas como Datadog e AWS CloudWatch, e como o monitoramento do ClickHouse se compara ao de implantações autogerenciadas.
Arquitetura de integração baseada em Prometheus
O ClickHouse expõe métricas compatíveis com Prometheus por meio de diferentes endpoints, dependendo do seu modelo de implantação, cada um com características operacionais distintas:
ClickHouse autogerenciado/OSS
Endpoint Prometheus direto do servidor, acessível pelo endpoint padrão /metrics no seu servidor ClickHouse. Essa abordagem oferece:
- Exposição completa de métricas: toda a gama de métricas disponíveis do ClickHouse, sem filtragem nativa
- Métricas em tempo real: geradas diretamente das tabelas de sistema quando coletadas
Acesso direto ao sistema
Consulta tabelas de sistema de produção, o que adiciona carga de monitoramento e impede estados ociosos que reduzem custos
A integração externa permite que as organizações mantenham fluxos de monitoramento já estabelecidos, aproveitem a experiência que as equipes já têm com ferramentas conhecidas e integrem o monitoramento do ClickHouse à observabilidade mais ampla da infraestrutura sem interromper os processos atuais nem exigir investimentos significativos em treinamento.
As equipes podem aplicar às métricas do ClickHouse regras de alerta e procedimentos de escalonamento já existentes, ao mesmo tempo em que correlacionam o desempenho do banco de dados com a saúde da aplicação e da infraestrutura em uma plataforma unificada de observabilidade. Essa abordagem maximiza o ROI das configurações atuais de monitoramento e acelera a solução de problemas por meio de painéis consolidados e ferramentas já conhecidas.
Monitoramento do Grafana Cloud
O Grafana oferece monitoramento do ClickHouse tanto por meio de integração direta por plugin quanto de abordagens baseadas em Prometheus. A integração com o endpoint do Prometheus mantém a separação operacional entre o monitoramento e as cargas de trabalho de produção, ao mesmo tempo em que permite a visualização na infraestrutura existente do Grafana Cloud. Consulte a documentação do ClickHouse no Grafana para obter orientações de configuração.
A Datadog está desenvolvendo uma integração de API dedicada que fornecerá o monitoramento adequado do serviço em nuvem, respeitando o comportamento de inatividade do serviço. Enquanto isso, as equipes podem usar a abordagem de integração do OpenMetrics por meio dos endpoints Prometheus do ClickHouse para separação operacional e monitoramento com bom custo-benefício. Para orientações de configuração, consulte a documentação de integração do Prometheus e OpenMetrics da Datadog.
O ClickStack é a solução de observabilidade recomendada pelo ClickHouse para análise aprofundada e depuração do sistema, oferecendo uma plataforma unificada para logs, métricas e traces, usando o ClickHouse como mecanismo de armazenamento. Essa abordagem usa o HyperDX, a UI do ClickStack, que se conecta diretamente às tabelas de sistema na sua instância do ClickHouse.
O HyperDX vem com um dashboard voltado para o ClickHouse, com abas para Selects, Inserts e Infrastructure. As equipes também podem usar sintaxe Lucene ou SQL para pesquisar nas tabelas de sistema e nos logs, além de criar visualizações personalizadas por meio do Chart Explorer para uma análise detalhada do sistema.
Essa abordagem é ideal para depurar problemas complexos, analisar desempenho e fazer uma introspecção aprofundada do sistema, em vez de emitir alertas de produção em tempo real.
Observe que essa abordagem reativará serviços inativos, pois o HyperDX consulta diretamente as tabelas de sistema.
Opções de implantação do ClickStack
- Helm: Recomendado para ambientes de depuração baseados em Kubernetes. Permite configuração específica para cada ambiente, limites de recursos e escalonamento via
values.yaml.
- Docker Compose: Implanta cada componente (ClickHouse, HyperDX, OTel collector, MongoDB) individualmente.
- Somente HyperDX: Contêiner independente do HyperDX.
Para ver todas as opções de implantação e os detalhes da arquitetura, consulte a documentação do ClickStack e o guia de ingestão de dados.
O plugin de fonte de dados do ClickHouse para Grafana permite visualizar e explorar dados diretamente no ClickHouse usando tabelas de sistema. Essa abordagem funciona bem para monitorar o desempenho e criar dashboards personalizados para análises detalhadas do sistema.
Para detalhes sobre a instalação e a configuração do plugin, consulte o plugin de fonte de dados do ClickHouse. Para uma configuração completa de monitoramento usando o mix-in Prometheus-Grafana com dashboards pré-configurados e regras de alerta, consulte Monitor ClickHouse with the new Prometheus-Grafana mix-in.
O Datadog oferece um plugin de monitoramento do ClickHouse para seu agente, que consulta tabelas de sistema diretamente. Essa integração fornece monitoramento abrangente do banco de dados com reconhecimento do cluster por meio da funcionalidade clusterAllReplicas.
Essa integração não é recomendada para implantações no ClickHouse Cloud devido à incompatibilidade com o comportamento de inatividade usado para otimizar custos e às limitações operacionais da camada de proxy da Cloud.
Usando tabelas de sistema diretamente
Você pode realizar uma análise aprofundada do desempenho de consultas conectando-se às tabelas de sistema do ClickHouse, especialmente à system.query_log, e consultando-as diretamente. Usando o Console SQL ou o clickhouse client, as equipes podem identificar consultas lentas, analisar o uso de recursos e acompanhar padrões de uso em toda a organização.
Análise de desempenho de consultas
Você pode usar os logs de consulta da tabela de sistema para realizar uma análise de desempenho de consultas.
Consulta de exemplo: encontre as 5 consultas com maior tempo de execução em todas as réplicas do cluster:
SELECT
type,
event_time,
query_duration_ms,
query,
read_rows,
tables
FROM clusterAllReplicas(default, system.query_log)
WHERE event_time >= (now() - toIntervalMinute(60)) AND type='QueryFinish'
ORDER BY query_duration_ms DESC
LIMIT 5
FORMAT VERTICAL
A comunidade do ClickHouse desenvolveu soluções abrangentes de monitoramento que se integram a stacks populares de observabilidade. O ClickHouse Monitoring oferece uma configuração completa de monitoramento com dashboards pré-configurados. Este projeto open source oferece uma abordagem de início rápido para equipes que desejam implementar o monitoramento do ClickHouse com práticas recomendadas consolidadas e configurações de dashboard já validadas.
Assim como outras abordagens de monitoramento direto do banco de dados, esta solução consulta diretamente as tabelas de sistema do ClickHouse, o que impede que as instâncias fiquem ociosas e afeta a otimização de custos.