> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Logs e métricas locais

> Primeiros passos com dados e métricas locais e do sistema no ClickStack

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

Este guia de introdução permite coletar logs e métricas locais do seu sistema e enviá-los ao ClickStack para visualização e análise.

**Este exemplo funciona apenas em sistemas OSX e Linux**

<Tabs>
  <Tab title="Managed ClickStack">
    Este guia pressupõe que você concluiu o [Guia de Primeiros Passos do Managed ClickStack](/docs/pt-BR/clickstack/deployment/managed) e tem as [credenciais de conexão anotadas](/docs/pt-BR/clickstack/getting-started/managed#next-steps).

    <Steps>
      <Step title="Criar uma configuração personalizada do OpenTelemetry" id="create-otel-configuration">
        Crie um arquivo `custom-local-config.yaml` com o seguinte conteúdo:

        ```yaml theme={null}
        receivers:
          filelog:
            include:
              - /host/var/log/**/*.log        # Linux logs from host
              - /host/var/log/syslog
              - /host/var/log/messages
              - /host/private/var/log/*.log   # macOS logs from host
            start_at: beginning
            resource:
              service.name: "system-logs"

          hostmetrics:
            collection_interval: 1s
            scrapers:
              cpu:
                metrics:
                  system.cpu.time:
                    enabled: true
                  system.cpu.utilization:
                    enabled: true
              memory:
                metrics:
                  system.memory.usage:
                    enabled: true
                  system.memory.utilization:
                    enabled: true
              filesystem:
                metrics:
                  system.filesystem.usage:
                    enabled: true
                  system.filesystem.utilization:
                    enabled: true
              paging:
                metrics:
                  system.paging.usage:
                    enabled: true
                  system.paging.utilization:
                    enabled: true
                  system.paging.faults:
                    enabled: true
              disk:
              load:
              network:
              processes:

        service:
          pipelines:
            logs/local:
              receivers: [filelog]
              processors:
                - memory_limiter
                - batch
              exporters:
                - clickhouse
            metrics/hostmetrics:
              receivers: [hostmetrics]
              processors:
                - memory_limiter
                - batch
              exporters:
                - clickhouse
        ```

        Esta configuração coleta logs e métricas do sistema em sistemas OSX e Linux, enviando os resultados para o ClickStack. Ela estende o ClickStack collector com a adição de novos receivers e pipelines — você faz referência ao exporter `clickhouse` e aos processors (`memory_limiter`, `batch`) já configurados no ClickStack collector base.

        <Info>
          **Timestamps de ingestão**

          Esta configuração ajusta os timestamps na ingestão, atribuindo um valor de tempo atualizado a cada evento. O ideal é [pré-processar ou fazer o parse dos timestamps](/docs/pt-BR/clickstack/ingesting-data/collector#processing-filtering-transforming-enriching) usando processors ou operators do OTel nos arquivos de log para garantir que o horário exato do evento seja preservado.

          Com esta configuração de exemplo, se o receiver ou o processor de arquivos estiver configurado para iniciar no começo do arquivo, todas as entradas de log existentes receberão o mesmo timestamp ajustado — o horário do processamento, em vez do horário original do evento. Quaisquer novos eventos acrescentados ao arquivo receberão timestamps que se aproximam do momento real em que foram gerados.

          Para evitar esse comportamento, você pode definir a posição inicial como `end` na configuração do receiver. Isso garante que apenas novas entradas sejam ingeridas e recebam timestamps próximos do horário real de chegada.
        </Info>

        Para mais detalhes sobre a estrutura de configuração do OpenTelemetry (OTel), recomendamos [o guia oficial](https://opentelemetry.io/docs/collector/configuration/).
      </Step>

      <Step title="Inicie o coletor OpenTelemetry" id="start-the-otel-collector">
        Execute um coletor autônomo com o seguinte comando:

        ```shell theme={null}
        docker run -d \
          -p 4317:4317 -p 4318:4318 \
          --user 0:0 \
          -e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
          -e CLICKHOUSE_ENDPOINT=${CLICKHOUSE_ENDPOINT} \
          -e CLICKHOUSE_USER=${CLICKHOUSE_USER} \
          -e CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD} \
          -v "$(pwd)/custom-local-config.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
          -v /var/log:/host/var/log:ro \
          -v /private/var/log:/host/private/var/log:ro \
          clickhouse/clickstack-otel-collector:latest
        ```

        O coletor começará imediatamente a coletar os logs e as métricas do sistema local.
      </Step>

      <Step title="Selecione seu serviço" id="select-your-service">
        Selecione o serviço Managed ClickStack na página inicial do ClickHouse Cloud.

        <Image img="https://mintcdn.com/private-7c7dfe99/MFPY913TqoHcFPXJ/images/clickstack/select_service.webp?fit=max&auto=format&n=MFPY913TqoHcFPXJ&q=85&s=6ffec95b6c07da76f5f0e19a81255911" alt="Selecionar serviço" size="lg" width="3600" height="2040" data-path="images/clickstack/select_service.webp" />
      </Step>

      <Step title="Explore os logs do sistema" id="navigate-to-the-hyperdx-ui">
        Selecione `ClickStack` no menu à esquerda para acessar a UI do ClickStack, onde você será autenticado automaticamente.

        A UI de pesquisa deve ser preenchida com logs locais do sistema. Expanda os filtros para selecionar `system.log`:

        <Image img="https://mintcdn.com/private-7c7dfe99/xE8TEsdF6028Tf3x/images/use-cases/observability/hyperdx-20.webp?fit=max&auto=format&n=xE8TEsdF6028Tf3x&q=85&s=8bb054a0e9fe3f40c45dac8ca545f37b" alt="Logs locais do HyperDX" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-20.webp" />
      </Step>

      <Step title="Explore as métricas do sistema" id="explore-system-metrics">
        Podemos explorar nossas métricas usando gráficos.

        Navegue até o Chart Explorer pelo menu à esquerda. Selecione a fonte `Metrics` e `Maximum` como tipo de agregação.

        No menu `Select a Metric`, basta digitar `memory` antes de selecionar `system.memory.utilization (Gauge)`.

        Pressione o botão de execução para visualizar a utilização de memória ao longo do tempo.

        <Image img="https://mintcdn.com/private-7c7dfe99/xE8TEsdF6028Tf3x/images/use-cases/observability/hyperdx-21.webp?fit=max&auto=format&n=xE8TEsdF6028Tf3x&q=85&s=08c310d723cbb0efc1cc5f340b7f82ca" alt="Memória ao longo do tempo" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-21.webp" />

        Observe que o valor é retornado como uma porcentagem (`%`) em ponto flutuante. Para exibi-lo com mais clareza, selecione `Set number format`.

        <Image img="https://mintcdn.com/private-7c7dfe99/xE8TEsdF6028Tf3x/images/use-cases/observability/hyperdx-22.webp?fit=max&auto=format&n=xE8TEsdF6028Tf3x&q=85&s=bda970218c3fbf0573f119c414de3ccf" alt="Formato do número" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-22.webp" />

        No menu seguinte, você pode selecionar `Percentage` no menu suspenso `Output format` antes de clicar em `Apply`.

        <Image img="https://mintcdn.com/private-7c7dfe99/xE8TEsdF6028Tf3x/images/use-cases/observability/hyperdx-23.webp?fit=max&auto=format&n=xE8TEsdF6028Tf3x&q=85&s=18ad1c73ab48862c6f28ff1032696ee2" alt="Memória % ao longo do tempo" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-23.webp" />
      </Step>
    </Steps>
  </Tab>

  <Tab title="ClickStack Open Source">
    ### Criar uma configuração personalizada do OpenTelemetry

    Crie um arquivo `custom-local-config.yaml` com o seguinte conteúdo:

    ```yaml theme={null}
    receivers:
      filelog:
        include:
          - /host/var/log/**/*.log        # Linux logs from host
          - /host/var/log/syslog
          - /host/var/log/messages
          - /host/private/var/log/*.log   # macOS logs from host
        start_at: beginning
        resource:
          service.name: "system-logs"

      hostmetrics:
        collection_interval: 1s
        scrapers:
          cpu:
            metrics:
              system.cpu.time:
                enabled: true
              system.cpu.utilization:
                enabled: true
          memory:
            metrics:
              system.memory.usage:
                enabled: true
              system.memory.utilization:
                enabled: true
          filesystem:
            metrics:
              system.filesystem.usage:
                enabled: true
              system.filesystem.utilization:
                enabled: true
          paging:
            metrics:
              system.paging.usage:
                enabled: true
              system.paging.utilization:
                enabled: true
              system.paging.faults:
                enabled: true
          disk:
          load:
          network:
          processes:

    service:
      pipelines:
        logs/local:
          receivers: [filelog]
          processors:
            - memory_limiter
            - batch
          exporters:
            - clickhouse
        metrics/hostmetrics:
          receivers: [hostmetrics]
          processors:
            - memory_limiter
            - batch
          exporters:
            - clickhouse
    ```

    Esta configuração coleta logs e métricas do sistema em sistemas OSX e Linux, enviando os resultados para o ClickStack. Ela estende o ClickStack collector com a adição de novos receivers e pipelines — você faz referência ao exporter `clickhouse` e aos processors (`memory_limiter`, `batch`) já configurados no ClickStack collector base.

    <Info>
      **Timestamps de ingestão**

      Esta configuração ajusta os timestamps na ingestão, atribuindo um valor de tempo atualizado a cada evento. O ideal é [pré-processar ou fazer o parse dos timestamps](/docs/pt-BR/clickstack/ingesting-data/collector#processing-filtering-transforming-enriching) usando processors ou operators do OTel nos arquivos de log para garantir que o horário exato do evento seja preservado.

      Com esta configuração de exemplo, se o receiver ou o processor de arquivos estiver configurado para iniciar no começo do arquivo, todas as entradas de log existentes receberão o mesmo timestamp ajustado — o horário do processamento, em vez do horário original do evento. Quaisquer novos eventos acrescentados ao arquivo receberão timestamps que se aproximam do momento real em que foram gerados.

      Para evitar esse comportamento, você pode definir a posição inicial como `end` na configuração do receiver. Isso garante que apenas novas entradas sejam ingeridas e recebam timestamps próximos do horário real de chegada.
    </Info>

    Para mais detalhes sobre a estrutura de configuração do OpenTelemetry (OTel), recomendamos [o guia oficial](https://opentelemetry.io/docs/collector/configuration/).

    ### Iniciar o ClickStack com configuração personalizada

    Execute o seguinte comando docker para iniciar o contêiner all-in-one com sua configuração personalizada:

    ```shell theme={null}
    docker run -d --name clickstack \
      -p 8080:8080 -p 4317:4317 -p 4318:4318 \
      --user 0:0 \
      -e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
      -v "$(pwd)/custom-local-config.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
      -v /var/log:/host/var/log:ro \
      -v /private/var/log:/host/private/var/log:ro \
      clickhouse/clickstack-all-in-one:latest
    ```

    <Info>
      **Usuário root**

      Executamos o collector como usuário root para acessar todos os logs do sistema — isso é necessário para capturar logs em caminhos protegidos em sistemas baseados em Linux. No entanto, essa abordagem não é recomendada para produção. Em ambientes de produção, o OpenTelemetry Collector deve ser implantado como um agent local, com apenas as permissões mínimas necessárias para acessar as fontes de logs desejadas.

      Observe que montamos o `/var/log` do host em `/host/var/log` dentro do contêiner para evitar conflitos com os arquivos de log do próprio contêiner.
    </Info>

    ### Explore os logs do sistema

    Acesse [http://localhost:8080](http://localhost:8080) para acessar a interface do ClickStack se estiver implantando localmente.

    As fontes de dados devem ser pré-criadas automaticamente. A UI de pesquisa deve estar preenchida com logs do sistema local. Expanda os filtros para selecionar o `system.log`:

    <Image img="https://mintcdn.com/private-7c7dfe99/xE8TEsdF6028Tf3x/images/use-cases/observability/hyperdx-20.webp?fit=max&auto=format&n=xE8TEsdF6028Tf3x&q=85&s=8bb054a0e9fe3f40c45dac8ca545f37b" alt="Logs locais do HyperDX" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-20.webp" />

    ### Explore as métricas do sistema

    Podemos explorar nossas métricas usando gráficos.

    Navegue até o Chart Explorer pelo menu à esquerda. Selecione a source `Metrics` e `Maximum` como tipo de agregação.

    No menu `Select a Metric`, basta digitar `memory` antes de selecionar `system.memory.utilization (Gauge)`.

    Pressione o botão de execução para visualizar a utilização de memória ao longo do tempo.

    <Image img="https://mintcdn.com/private-7c7dfe99/xE8TEsdF6028Tf3x/images/use-cases/observability/hyperdx-21.webp?fit=max&auto=format&n=xE8TEsdF6028Tf3x&q=85&s=08c310d723cbb0efc1cc5f340b7f82ca" alt="Memória ao longo do tempo" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-21.webp" />

    Observe que o valor é retornado como uma porcentagem (`%`) em ponto flutuante. Para exibi-lo com mais clareza, selecione `Set number format`.

    <Image img="https://mintcdn.com/private-7c7dfe99/xE8TEsdF6028Tf3x/images/use-cases/observability/hyperdx-22.webp?fit=max&auto=format&n=xE8TEsdF6028Tf3x&q=85&s=bda970218c3fbf0573f119c414de3ccf" alt="Formato do número" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-22.webp" />

    No menu seguinte, você pode selecionar `Percentage` no menu suspenso `Output format` antes de clicar em `Apply`.

    <Image img="https://mintcdn.com/private-7c7dfe99/xE8TEsdF6028Tf3x/images/use-cases/observability/hyperdx-23.webp?fit=max&auto=format&n=xE8TEsdF6028Tf3x&q=85&s=18ad1c73ab48862c6f28ff1032696ee2" alt="Memória % ao longo do tempo" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-23.webp" />
  </Tab>
</Tabs>
