- ClickHouse
- HyperDX
- collector do OpenTelemetry (OTel) (expondo OTLP nas portas
4317e4318) - MongoDB (para o estado persistente da aplicação)
Indicado para
- Demos
- Testes locais do stack completo
Etapas de implantação
Implantação com Docker
O comando a seguir executa um OpenTelemetry collector (nas portas 4317 e 4318) e a interface do HyperDX (na porta 8080).Atualização do nome da imagemAs imagens do ClickStack agora são publicadas como
clickhouse/clickstack-* (anteriormente docker.hyperdx.io/hyperdx/*).Acesse a interface do HyperDX
Acesse http://localhost:8080 para abrir a interface do HyperDX.Crie um usuário, informando um nome de usuário e uma senha que atendam aos requisitos.Ao clicar emCreate, serão criadas fontes de dados para a instância integrada do ClickHouse.Para ver um exemplo de uso de outra instância do ClickHouse, consulte “Usando ClickHouse Cloud”.Ingestão de dados
Para ingerir dados, consulte “Ingerindo dados”.Persistência de dados e configurações
/data/db, /var/lib/clickhouse e /var/log/clickhouse-server. Por exemplo:
Implantação em produção
- Armazenamento não persistente: Todos os dados são armazenados usando o sistema de arquivos overlay nativo do Docker. Essa configuração não oferece bom desempenho em escala, e os dados serão perdidos se o contêiner for removido ou reiniciado, a menos que os usuários montem os caminhos de arquivo necessários.
- Falta de isolamento entre componentes: Todos os componentes são executados em um único contêiner Docker. Isso impede o escalonamento e o monitoramento independentes e aplica globalmente quaisquer limites de
cgroupa todos os processos. Como resultado, os componentes podem competir por CPU e memória.
Personalizando portas
docker run para encaminhar as portas corretas e definir algumas variáveis de ambiente.
A personalização das portas do OpenTelemetry pode ser feita simplesmente alterando as flags de encaminhamento de porta. Por exemplo, substituindo -p 4318:4318 por -p 4999:4318 para mudar a porta HTTP do OpenTelemetry para 4999.
Usando ClickHouse Cloud
CLICKHOUSE_ENDPOINT, CLICKHOUSE_USER e CLICKHOUSE_PASSWORD.
Por exemplo:
CLICKHOUSE_ENDPOINT deve ser o endpoint HTTPS do ClickHouse Cloud, incluindo a porta 8443, por exemplo: https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443
Após se conectar à interface do HyperDX, navegue até Team Settings e crie uma conexão com seu serviço do ClickHouse Cloud, seguida pelos sources necessários.
Configurando o OpenTelemetry collector
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.