Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Primeiros passos no Managed ClickStack

Implante o Managed ClickStack no ClickHouse Cloud, envie um evento de teste pelo seu pipeline de ingestão e confirme que o evento está disponível na UI do ClickStack.

O ClickHouse Cloud opera o backend do ClickHouse enquanto você mantém o controle sobre o pipeline de ingestão e o schema. O Managed ClickStack oferece:

  • Escalonamento automático de recurso computacional, independente do armazenamento
  • Retenção de baixo custo e praticamente ilimitada com base em armazenamento de objetos
  • Isolamento independente de workloads de leitura e gravação com warehouses
  • Autenticação integrada
  • Backups automatizados
  • Recursos de segurança e compliance
  • upgrade contínuo

Antes de começar

Você também pode enviar dados diretamente ao ClickHouse usando uma integração compatível e seu próprio schema.

Crie um serviço no ClickHouse Cloud

Conclua o passo Criar um serviço do ClickHouse no quickstart do ClickHouse Cloud. Antes de continuar, confirme que o serviço está em execução.

Prepare seu ambiente de ingestão

Configurar o Managed ClickStack

Escolha uma fonte de ingestão e configure o collector

No seu serviço do ClickHouse Cloud, inicie o ClickStack. Na página Getting Started do ClickStack, selecione Iniciar ingestão.

Iniciar ingestão

Na página Escolher uma fonte de ingestão, selecione OpenTelemetry.

Selecionar OpenTelemetry como fonte de ingestão

O ClickStack gera o comando do coletor com as credenciais de administrador default. Recomendamos usar credenciais de ingestão dedicadas para separar o acesso de ingestão da administração e evitar depender da senha de administrador.

Criar credenciais de ingestão dedicadas (recomendado)

No ClickHouse Cloud, abra o Console SQL do serviço e execute:

CREATE USER `clickstack-ingest` IDENTIFIED WITH sha256_password BY '<password>';
GRANT SELECT, INSERT, CREATE DATABASE, CREATE TABLE, CREATE VIEW ON default.* TO `clickstack-ingest`;

No comando gerado, substitua CLICKHOUSE_USER="default" por CLICKHOUSE_USER="clickstack-ingest" e defina CLICKHOUSE_PASSWORD com a senha do usuário dedicado.

Para continuar com as credenciais de administrador default, copie o comando da guia Iniciar coletor. O ClickStack preenche automaticamente o endpoint do serviço. Substitua o placeholder de senha pela senha do serviço. Se não a tiver mais, recupere ou redefina os detalhes de conexão.

O comando tem o seguinte formato:

docker run -e CLICKHOUSE_ENDPOINT="https://<host>:8443" \
    -e CLICKHOUSE_USER="default" \
    -e CLICKHOUSE_PASSWORD="<your_password_here>" \
    -p 4317:4317 -p 4318:4318 \
    clickhouse/clickstack-otel-collector:latest

Substitua <host> e <your_password_here> pelos valores do serviço ClickHouse Cloud e execute o comando.

O coletor é executado em primeiro plano. Mantenha este terminal aberto e use um segundo terminal para os demais comandos deste guia.

Envie dados de teste

Envie um log de teste com o timestamp atual:

NOW_NANO="$(date +%s)000000000"

curl -i "http://localhost:4318/v1/logs" \
  -H "Content-Type: application/json" \
  --data-binary @- <<EOF
{
  "resourceLogs": [{
    "resource": {
      "attributes": [{
        "key": "service.name",
        "value": {"stringValue": "clickstack-docs-test"}
      }]
    },
    "scopeLogs": [{
      "scope": {"name": "clickstack-docs-test"},
      "logRecords": [{
        "timeUnixNano": "${NOW_NANO}",
        "severityText": "INFO",
        "body": {"stringValue": "ClickStack ingestion test"}
      }]
    }]
  }]
}
EOF

Se você usar um collector existente, substitua http://localhost:4318 pelo endpoint HTTP OTLP correspondente. Se o receiver exigir autenticação, adicione o header necessário ao comando curl.

Uma solicitação bem-sucedida retorna HTTP/1.1 200 OK.

Comece a explorar e confirme a ingestão

Depois que o ClickStack detectar as fontes de dados do OpenTelemetry, selecione Começar a explorar para abrir a visualização Busca. Pesquise por ClickStack ingestion test.

O resultado deve incluir o evento de teste com o nome do serviço clickstack-docs-test.

Visualização de logs do ClickStack mostrando o evento de teste de ingestão do ClickStack

Prepare seu ambiente de ingestão

Comece com um pipeline existente do Vector capaz de enviar dados para o ClickHouse.

Configurar o Managed ClickStack

Escolha o Vector e configure a ingestão

A partir do seu serviço do ClickHouse Cloud, inicie o ClickStack. Na página Getting Started do ClickStack, selecione Start ingestion.

Iniciar a ingestão

Na página Choose an ingestion source, selecione Vector.

Selecione Vector como fonte de ingestão

O Vector é um pipeline de dados de observabilidade de alto desempenho e independente de fornecedor, especialmente popular para a ingestão de logs por sua flexibilidade e baixo consumo de recursos.

Ao usar o Vector com o ClickStack, é você quem define o schema. Ele pode seguir as convenções do OpenTelemetry ou usar fields específicos dos seus events.

Crie um banco de dados e uma tabela

Crie um database e uma table antes de configurar o sink do Vector.

No ClickHouse Cloud, abra o SQL console do seu service e crie um database:

Por exemplo, crie um banco de dados para logs:

CREATE DATABASE IF NOT EXISTS logs

Em seguida, crie uma tabela cujo schema corresponda à estrutura dos seus dados de log. O exemplo abaixo pressupõe um formato clássico de log de acesso do Nginx:

CREATE TABLE logs.nginx_logs
(
    `time_local` DateTime,
    `remote_addr` IPv4,
    `remote_user` LowCardinality(String),
    `request` String,
    `status` UInt16,
    `body_bytes_sent` UInt64,
    `http_referer` String,
    `http_user_agent` String,
    `http_x_forwarded_for` LowCardinality(String),
    `request_time` Float32,
    `upstream_response_time` Float32,
    `http_host` String
)
ENGINE = MergeTree
ORDER BY (toStartOfMinute(time_local), status, remote_addr);

Sua table deve estar alinhada com o schema de saída produzido pelo Vector. Ajuste o schema conforme necessário para seus dados, seguindo as melhores práticas de schema recomendadas.

Recomendamos fortemente que você entenda como as chaves primárias funcionam no ClickHouse e escolha uma chave de ordenação de acordo com os seus padrões de acesso. Consulte as orientações específicas do ClickStack sobre como escolher uma chave primária.

Configure o sink do ClickHouse

Com a tabela criada, adicione um sink do ClickHouse à configuração do Vector:

sinks:
  clickhouse:
    type: clickhouse
    inputs:
      - your_input
    endpoint: "https://<host>:8443"
    database: logs
    table: nginx_logs
    format: json_each_row
    skip_unknown_fields: true
    auth:
      strategy: basic
      user: default
      password: "<your_password_here>"

Substitua your_input pelo input do seu pipeline existente. Substitua <host> e <your_password_here> pelos valores do seu ClickHouse Cloud service. Se necessário, altere o target database ou a table.

Use credenciais dedicadas para ingestão (recomendado)

Para uso em produção, crie um usuário dedicado e conceda a ele acesso à tabela de destino do Vector. No ClickHouse Cloud, abra o SQL Console do seu serviço e execute:

CREATE USER `clickstack-ingest` IDENTIFIED WITH sha256_password BY '<password>';
GRANT SELECT, INSERT ON logs.nginx_logs TO `clickstack-ingest`;

Substitua default por clickstack-ingest no sink do Vector e defina password como a senha do usuário dedicado.

Salve a configuração atualizada e, em seguida, recarregue ou reinicie o Vector usando o seu processo de implantação atual.

Para mais exemplos de ingestão de dados com o Vector, consulte Ingestão com o Vector ou, para opções avançadas, a documentação do sink ClickHouse do Vector.

Crie uma fonte de dados no ClickStack

Crie uma fonte de dados para a tabela preenchida pelo seu pipeline do Vector. O ClickStack solicita que você crie uma no primeiro login.

O formulário já vem pré-preenchido com as expressões do schema padrão do OpenTelemetry. Para a tabela do Nginx criada neste guia, configure a source com estes valores:

Configuração Valor
Nome Logs do Nginx
Tipo de dados da origem Log
Conexão do servidor Padrão
Banco de dados logs
Tabela nginx_logs
Coluna de timestamp time_local
SELECT padrão time_local, remote_addr, status, request
Expressão do nome do serviço 'nginx'
Expressão de nível de log multiIf(status >= 500, 'ERROR', status >= 400, 'WARN', 'INFO')
Expressão de atributos do log map('http.remote_addr', toString(remote_addr), 'http.status_code', toString(status), 'http.request', request)
Expressão de atributos de recurso map('service.name', 'nginx')
Coluna de timestamp exibida time_local
Expressão de ID do trace ''
Expressão de ID do span ''
Expressão de Coluna Implícita request

A tabela do Nginx não contém uma coluna Body. Defina Body Expression como:

concat(
  remote_addr, ' ',
  remote_user, ' ',
  '[', formatDateTime(time_local, '%d/%b/%Y:%H:%i:%S %z'), '] ',
  '"', request, '" ',
  toString(status), ' ',
  toString(body_bytes_sent), ' ',
  '"', http_referer, '" ',
  '"', http_user_agent, '" ',
  '"', http_x_forwarded_for, '" ',
  toString(request_time), ' ',
  toString(upstream_response_time), ' ',
  '"', http_host, '"'
)

Para outras configurações de source, consulte a referência de configuração do ClickStack.

Envie dados de teste

Envie um evento representativo pela entrada do pipeline Vector existente.

Para conferir mais exemplos de fontes e transformações do Vector, consulte Ingestão com Vector.

Comece a explorar e confirme a ingestão

Após criar a fonte de dados, selecione Iniciar exploração para abrir a visualização Busca. Selecione a fonte de dados da sua tabela e confirme se ela contém o evento enviado.

Logs na UI do ClickStack

Agora você tem um serviço Managed ClickStack, um endpoint de ingestão funcional e um evento de teste que pode inspecionar no ClickStack.

Próximas etapas

Se outro guia exigir o endpoint ou a senha do ClickHouse Cloud, obtenha ou redefina os dados de conexão antes de continuar.

Envie dados de aplicações e da infraestrutura

Escolha um guia para os dados que deseja enviar ao ClickStack:

Explorar dados de exemplo

Use um conjunto de dados de exemplo para explorar o ClickStack com telemetria mais completa:

Gere dados sintéticos

Use um gerador para testar a ingestão sem precisar de uma aplicação ou conjunto de dados existente:

Consulte todos os dados de exemplo e demonstrações do ClickStack.

Preparação para produção

Revise as orientações sobre produção e dimensionamento antes de usar o ClickStack para workloads contínuos:

Para tarefas de implantação, consulte o guia de implantação do Managed ClickStack.

Navigation