> ## 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 y métricas locales

> Primeros pasos con los datos y métricas locales y del sistema de 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>;
};

Esta guía de inicio le permite recopilar logs y métricas locales de su sistema para enviarlos a ClickStack y visualizarlos y analizarlos.

**Este ejemplo solo es compatible con sistemas OSX y Linux**

<Tabs>
  <Tab title="ClickStack gestionado">
    Esta guía asume que has completado la [Guía de introducción para Managed ClickStack](/docs/es/clickstack/deployment/managed) y que tienes las [credenciales de conexión anotadas](/docs/es/clickstack/getting-started/managed#next-steps).

    <Steps>
      <Step title="Crear una configuración personalizada de OpenTelemetry" id="create-otel-configuration">
        Cree el archivo `custom-local-config.yaml` con el siguiente contenido:

        ```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 configuración recopila logs y métricas del sistema en sistemas OSX y Linux, y envía los resultados a ClickStack. La configuración amplía el ClickStack collector al agregar nuevos receiver y pipelines: hace referencia al exporter `clickhouse` existente y a los processors (`memory_limiter`, `batch`) que ya están configurados en el ClickStack collector base.

        <Info>
          **Timestamps de ingestión**

          Esta configuración ajusta los timestamps durante la ingestión, asignando a cada evento un valor de tiempo actualizado. Lo ideal es [preprocesar o analizar los timestamps](/docs/es/clickstack/ingesting-data/collector#processing-filtering-transforming-enriching) con processors u operators de OTel en los archivos de log para garantizar que se conserve la hora real del evento.

          Con esta configuración de ejemplo, si el receiver o el processor de archivos está configurado para comenzar al inicio del archivo, a todas las log entries existentes se les asignará el mismo timestamp ajustado: la hora de procesamiento en lugar de la hora original del evento. Cualquier evento nuevo que se añada al archivo recibirá timestamps aproximados a su hora real de generación.

          Para evitar este comportamiento, puede establecer la posición inicial en `end` en la configuración del receiver. Esto garantiza que solo se ingesten entradas nuevas y que se les asignen timestamps cercanos a su hora real de llegada.
        </Info>

        Para obtener más detalles sobre la structure de configuración de OpenTelemetry (OTel), recomendamos consultar [la guía oficial](https://opentelemetry.io/docs/collector/configuration/).
      </Step>

      <Step title="Inicie el collector de OpenTelemetry" id="start-the-otel-collector">
        Ejecute un collector independiente con el siguiente 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
        ```

        El collector comenzará de inmediato a recopilar logs y métricas del sistema local.
      </Step>

      <Step title="Selecciona tu servicio" id="select-your-service">
        Selecciona el servicio de Managed ClickStack en la página principal de 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="Seleccionar servicio" size="lg" width="3600" height="2040" data-path="images/clickstack/select_service.webp" />
      </Step>

      <Step title="Explora los logs del sistema" id="navigate-to-the-hyperdx-ui">
        Selecciona `ClickStack` en el menú de la izquierda para ir a la interfaz de ClickStack, donde se te autenticará automáticamente.

        La interfaz de búsqueda debería mostrar los logs locales del sistema. Expande los filtros para seleccionar `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 locales de HyperDX" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-20.webp" />
      </Step>

      <Step title="Explorar métricas del sistema" id="explore-system-metrics">
        Podemos explorar nuestras métricas mediante gráficos.

        Ve a Chart Explorer desde el menú de la izquierda. Selecciona la fuente `Metrics` y `Maximum` como tipo de agregación.

        En el menú `Select a Metric`, simplemente escribe `memory` antes de seleccionar `system.memory.utilization (Gauge)`.

        Pulsa el botón `Run` para visualizar el uso de memoria a lo largo del tiempo.

        <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="Memoria a lo largo del tiempo" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-21.webp" />

        Ten en cuenta que el valor se devuelve como un `%` de punto flotante. Para mostrarlo más claramente, selecciona `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 de número" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-22.webp" />

        En el siguiente menú, puedes seleccionar `Percentage` en la lista desplegable `Output format` antes de hacer clic en `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="Memoria % a lo largo del tiempo" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-23.webp" />
      </Step>
    </Steps>
  </Tab>

  <Tab title="ClickStack Open Source">
    ### Crear una configuración personalizada de OpenTelemetry

    Cree un archivo `custom-local-config.yaml` con el siguiente contenido:

    ```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 configuración recopila logs y métricas del sistema en sistemas OSX y Linux, y envía los resultados a ClickStack. La configuración amplía el ClickStack collector al agregar nuevos receivers y pipelines: hace referencia al exporter `clickhouse` existente y a los processors (`memory_limiter`, `batch`) que ya están configurados en el ClickStack collector base.

    <Info>
      **Timestamps de ingestión**

      Esta configuración ajusta los timestamps durante la ingestión, asignando a cada evento un valor de tiempo actualizado. Lo ideal es [preprocesar o analizar los timestamps](/docs/es/clickstack/ingesting-data/collector#processing-filtering-transforming-enriching) con processors u operators de OTel en los archivos de log para garantizar que se conserve la hora real del evento.

      Con esta configuración de ejemplo, si el receiver o el processor de archivos está configurado para comenzar al inicio del archivo, a todas las log entries existentes se les asignará el mismo timestamp ajustado: la hora de procesamiento en lugar de la hora original del evento. Cualquier evento nuevo que se añada al archivo recibirá timestamps aproximados a su hora real de generación.

      Para evitar este comportamiento, puede establecer la posición inicial en `end` en la configuración del receiver. Esto garantiza que solo se ingesten entradas nuevas y que se les asignen timestamps cercanos a su hora real de llegada.
    </Info>

    Para obtener más detalles sobre la estructura de configuración de OpenTelemetry (OTel), recomendamos consultar [la guía oficial](https://opentelemetry.io/docs/collector/configuration/).

    ### Iniciar ClickStack con configuración personalizada

    Ejecute el siguiente comando de Docker para iniciar el contenedor todo en uno con su configuración 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>
      **Usuario root**

      Ejecutamos el collector como usuario root para acceder a todos los logs del sistema; esto es necesario para capturar logs de rutas protegidas en sistemas basados en Linux. Sin embargo, este enfoque no se recomienda en producción. En entornos de producción, OpenTelemetry Collector debe implementarse como un agente local con solo los permisos mínimos necesarios para acceder a los orígenes de logs previstos.

      Ten en cuenta que montamos el `/var/log` del host en `/host/var/log` dentro del contenedor para evitar conflictos con los propios archivos de log del contenedor.
    </Info>

    ### Explora los logs del sistema

    Visite [http://localhost:8080](http://localhost:8080) para acceder a la UI de ClickStack si está desplegando localmente.

    Las fuentes de datos deberían estar creadas previamente. La UI de búsqueda debería estar poblada con los logs del sistema local. Expanda los filtros para seleccionar `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 locales de HyperDX" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-20.webp" />

    ### Explorar métricas del sistema

    Podemos explorar nuestras métricas mediante gráficos.

    Ve a Chart Explorer desde el menú de la izquierda. Selecciona la fuente `Metrics` y `Maximum` como tipo de agregación.

    En el menú `Select a Metric`, simplemente escribe `memory` antes de seleccionar `system.memory.utilization (Gauge)`.

    Pulsa el botón `Run` para visualizar el uso de memoria a lo largo del tiempo.

    <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="Memoria a lo largo del tiempo" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-21.webp" />

    Ten en cuenta que el valor se devuelve como un `%` de punto flotante. Para mostrarlo más claramente, selecciona `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 numérico" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-22.webp" />

    En el siguiente menú, puedes seleccionar `Percentage` en la lista desplegable `Output format` antes de hacer clic en `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="Memoria % a lo largo del tiempo" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-23.webp" />
  </Tab>
</Tabs>
