Pré-requisitos
- Um cluster Kubernetes (v1.20+ recomendado) com pelo menos 32 GiB de RAM e 100 GB de espaço em disco disponíveis em um nó para o ClickHouse.
- Helm v3+
kubectl, configurado para interagir com seu cluster
Opções de implantação
-
Open Source ClickStack: implante o ClickStack inteiramente no seu cluster Kubernetes, incluindo:
- ClickHouse
- HyperDX
- MongoDB (usado para o estado e a configuração do dashboard)
- Managed ClickStack, com o ClickHouse e a UI do ClickStack (HyperDX) gerenciados no ClickHouse Cloud. Isso elimina a necessidade de executar o ClickHouse ou o HyperDX dentro do seu cluster.
Instale o cert-manager (opcional)
Se a sua configuração exigir certificados TLS, instale o cert-manager usando o Helm:Implante o OpenTelemetry Demo (Opcional)
Este passo é opcional e foi pensado para quem não tem pods existentes para monitorar. Embora usuários com serviços já implantados em seu ambiente Kubernetes possam pular esta etapa, esta demonstração inclui microsserviços instrumentados que geram dados de traces e session replay, permitindo explorar todos os recursos do ClickStack.O conteúdo a seguir implanta o fork do ClickStack da pilha da aplicação OpenTelemetry Demo em um cluster Kubernetes, adaptado para testes de observabilidade e demonstração de instrumentação. Ele inclui microsserviços de back-end, geradores de carga, pipelines de telemetria, infraestrutura de suporte (por exemplo, Kafka e Redis) e integrações de SDK com o ClickStack.Todos os serviços são implantados no espaço de nomesotel-demo. Cada implantação inclui:- Instrumentação automática com OTel e ClickStack SDKS para traces, métricas e logs.
- Todos os serviços enviam sua instrumentação para um collector OpenTelemetry
my-hyperdx-hdx-oss-v2-otel-collector(não implantado) - Encaminhamento de tags de recurso para correlacionar logs, métricas e traces por meio da variável de ambiente
OTEL_RESOURCE_ATTRIBUTES.
Running:Arquitetura da demo
Adicione o repositório do Chart do Helm do ClickStack
Para implantar o ClickStack, usamos o Chart do Helm oficial.Para isso, é necessário adicionar o repositório Helm do HyperDX:Implante o ClickStack
Com o chart do Helm instalado, você pode implantar o ClickStack no seu cluster. Você pode executar todos os componentes, incluindo ClickHouse e HyperDX, no seu ambiente Kubernetes, ou implantar apenas o collector e usar o Managed ClickStack para o ClickHouse e a interface do HyperDX.ClickStack Open Source (autogerenciado)
ClickStack Open Source (autogerenciado)
O comando a seguir instala o ClickStack no espaço de nomes Quem não estiver implantando a demo do OTel pode alterar isso e selecionar um espaço de nomes apropriado.
otel-demo. O chart do Helm implanta:- Uma instância do ClickHouse
- HyperDX
- A distribuição do OTel collector do ClickStack
- MongoDB para armazenar o estado da aplicação HyperDX
Talvez seja necessário ajustar o
storageClassName de acordo com a configuração do seu cluster Kubernetes.Managed ClickStack
Managed ClickStack
Se você preferir usar o Managed ClickStack, poderá implantar o ClickStack e desabilitar o ClickHouse incluído.
Atualmente, o chart sempre implanta o HyperDX e o MongoDB. Embora esses componentes ofereçam um caminho alternativo de acesso, eles não são integrados à autenticação do ClickHouse Cloud. Neste modelo de implantação, esses componentes se destinam aos administradores, fornecendo acesso à chave segura de ingestão necessária para fazer a ingestão por meio do OTel collector implantado, mas não devem ser expostos aos usuários finais.
Running. Observe que o ClickHouse não aparecerá se você estiver usando Managed ClickStack:Acesse a UI do HyperDX
Mesmo ao usar Managed ClickStack, a instância local do HyperDX implantada no cluster do Kubernetes ainda é necessária. Ela fornece uma chave de ingestão gerenciada pelo servidor OpAMP incluído no HyperDX, o que protege a ingestão por meio do OTel collector implantado — um recurso que ainda não está disponível no Managed ClickStack.
IP de cluster e não é exposto externamente por padrão.Para acessar a UI do HyperDX, faça o encaminhamento da porta 3000 para a porta local 8080.Obter API key de ingestão
A ingestão no OTel collector implantado pelo ClickStack collector é protegida por uma API key de ingestão.AcesseTeam Settings e copie a Ingestion API Key na seção API Keys. Essa API key garante que a ingestão de dados pelo OpenTelemetry collector seja segura.Criar Secret do Kubernetes com API key
Crie um novo Secret do Kubernetes com a API key de ingestão e um ConfigMap contendo a localização do OTel collector implantado com o Chart do Helm do ClickStack. Os componentes das próximas etapas usarão isso para permitir a ingestão no collector implantado com o Chart do Helm do ClickStack:Adicione o repositório Helm do OpenTelemetry
Para coletar métricas do Kubernetes, vamos implantar um OTel collector padrão, configurando-o para enviar dados com segurança ao nosso ClickStack collector usando a API key de ingestão acima.Isso exige a instalação do repositório Helm do OpenTelemetry:Implantar componentes do collector no Kubernetes
Para coletar logs e métricas tanto do próprio cluster quanto de cada nó, será necessário implantar dois OpenTelemetry Collectors separados, cada um com seu próprio manifesto. Os dois manifestos fornecidos —k8s_deployment.yaml e k8s_daemonset.yaml — trabalham em conjunto para coletar dados de telemetria completos do seu cluster Kubernetes.-
k8s_deployment.yamlimplanta uma única instância do OpenTelemetry Collector responsável por coletar eventos e metadados de todo o cluster. Ele coleta eventos do Kubernetes, métricas do cluster e enriquece os dados de telemetria com labels e anotações dos pods. Esse coletor é executado como uma implantação independente com uma única réplica para evitar dados duplicados. -
k8s_daemonset.yamlimplanta um coletor baseado em um Conjunto de Daemon que é executado em cada nó do seu cluster. Ele coleta métricas em nível de nó e de pod do Kubernetes, bem como logs de contêineres, usando componentes comokubeletstats,hostmetricse Kubernetes Attribute Processors. Esses coletores enriquecem os logs com metadados e os enviam para o HyperDX usando o exportador OTLP.
k8s_deployment.yaml
k8s_deployment.yaml
k8s_daemonset.yaml
k8s_daemonset.yaml
Explore os dados do Kubernetes no HyperDX
Navegue até a interface do HyperDX — usando a instância implantada no Kubernetes ou via Managed ClickStack.Managed ClickStack
Managed ClickStack
Se estiver usando Managed ClickStack, basta fazer login no seu serviço ClickHouse Cloud e selecionar “ClickStack” no menu à esquerda. Você será autenticado automaticamente e não precisará criar um usuário.As fontes de dados de logs, métricas e traces serão pré-criadas para você.
ClickStack Open Source
ClickStack Open Source
Para acessar o HyperDX implantado localmente, você pode fazer um redirecionamento de porta usando o comando local e acessar o HyperDX em http://localhost:8080.
ClickStack em produçãoEm produção, recomendamos usar uma entrada com TLS se você não estiver usando Managed ClickStack. Por exemplo:
/kubernetes, por exemplo http://localhost:8080/kubernetes.Cada uma das abas — Pods, Nodes e Namespaces — deve estar preenchida com dados.