- ClickHouse
- HyperDX
- OpenTelemetry collector (OTel)
- MongoDB
otel-collector:
13133: endpoint de verificação de integridade da extensãohealth_check24225: receiver do Fluentd para ingestão de logs4317: receiver OTLP gRPC (padrão para traces, logs e métricas)4318: receiver OTLP HTTP (alternativa ao gRPC)8888: endpoint de métricas do Prometheus para monitorar o próprio coletor
Indicado para
- Testes locais
- Provas de conceito
- Implantações em produção em que a tolerância a falhas não é necessária e um único servidor é suficiente para hospedar todos os dados do ClickHouse
- Ao implantar o ClickStack, mas hospedar o ClickHouse separadamente, por exemplo, usando o ClickHouse Cloud
Etapas de implantação
1
Clone o repositório
Para implantar com Docker Compose, clone o repositório do ClickStack, entre no diretório e execute
docker-compose up:3
Preencha os detalhes da conexão
Para se conectar à instância do ClickHouse implantada, basta clicar em Create e aceitar as configurações padrão.Se preferir se conectar ao seu próprio cluster externo do ClickHouse, por exemplo, o ClickHouse Cloud, você pode inserir manualmente suas credenciais de conexão.Se for solicitado que você crie uma source, mantenha todos os valores padrão e preencha o campo
Table com o valor otel_logs. Todas as outras configurações devem ser detectadas automaticamente, permitindo que você clique em Save New Source.Modificando as configurações do Compose
Configurando o OpenTelemetry collector
Usando ClickHouse Cloud
-
Remover o serviço do ClickHouse do arquivo
docker-compose.yml. Isso é opcional para testes, pois a instância implantada do ClickHouse será simplesmente ignorada, embora desperdice recursos locais. Se remover o serviço, certifique-se de também remover quaisquer referências a ele, comodepends_on. -
Modificar o OTel collector para usar uma instância do ClickHouse Cloud, definindo as variáveis de ambiente
CLICKHOUSE_ENDPOINT,CLICKHOUSE_USEReCLICKHOUSE_PASSWORDno arquivo compose. Especificamente, adicione as variáveis de ambiente ao serviço do OTel collector:OCLICKHOUSE_ENDPOINTdeve ser o endpoint HTTPS do ClickHouse Cloud, incluindo a porta8443, por exemplo:https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443 - Ao se conectar à UI do HyperDX e criar uma conexão com o ClickHouse, use suas credenciais do Cloud.
Escolha de esquema: Map vs JSON
Map(LowCardinality(String), String) por padrão. Esse é o esquema recomendado para cargas de trabalho de observabilidade. Em combinação com a serialização de map em buckets e índices de texto nas chaves e nos valores do map, ele permite lookups seletivos sem a sobrecarga de ingestão por chave das subcolunas JSON dinâmicas.
Um esquema do tipo JSON está disponível em beta para avaliação em cargas de trabalho com um conjunto pequeno e estável de chaves de atributo. Ele não é recomendado como padrão. Consulte Map vs tipo JSON para ver a comparação completa e as variáveis de ambiente necessárias para habilitar o suporte a JSON.