> ## 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 et métriques locaux

> Premiers pas avec les données locales, les données système et les métriques 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>;
};

Ce guide de prise en main vous permet de collecter les logs et les métriques locales de votre système, puis de les envoyer à ClickStack pour les visualiser et les analyser.

**Cet exemple fonctionne uniquement sur les systèmes OSX et Linux**

<Tabs>
  <Tab title="ClickStack managé">
    Ce guide suppose que vous avez suivi le [guide de démarrage pour Managed ClickStack](/docs/fr/clickstack/deployment/managed) et que vous avez [noté vos identifiants de connexion](/docs/fr/clickstack/getting-started/managed#next-steps).

    <Steps>
      <Step title="Créer une configuration OpenTelemetry personnalisée" id="create-otel-configuration">
        Créez un fichier `custom-local-config.yaml` avec le contenu suivant :

        ```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
        ```

        Cette configuration collecte les logs et les métriques système pour les systèmes OSX et Linux, puis envoie les résultats à ClickStack. Elle étend le ClickStack collector en ajoutant de nouveaux receivers et pipelines : vous réutilisez l’exporter `clickhouse` existant ainsi que les processors (`memory_limiter`, `batch`) déjà configurés dans le ClickStack collector de base.

        <Info>
          **Horodatages d’ingestion**

          Cette configuration ajuste les timestamps lors de l’ingestion en attribuant à chaque événement une valeur temporelle mise à jour. Idéalement, vous devriez [prétraiter ou analyser les timestamps](/docs/fr/clickstack/ingesting-data/collector#processing-filtering-transforming-enriching) à l’aide de processors ou d’operators OTel dans les fichiers de logs afin de préserver l’heure réelle de l’événement.

          Avec cet exemple de configuration, si le receiver ou le processeur de fichier est configuré pour démarrer au début du fichier, toutes les log entries existantes se verront attribuer le même timestamp ajusté — l’heure du traitement plutôt que l’heure d’origine de l’événement. Tous les nouveaux événements ajoutés au fichier recevront des timestamps proches de leur heure réelle de génération.

          Pour éviter ce comportement, vous pouvez définir la position de départ sur `end` dans la configuration du receiver. Cela garantit que seules les nouvelles entrées sont ingérées et horodatées au plus près de leur heure réelle d’arrivée.
        </Info>

        Pour plus de détails sur la structure de configuration d’OpenTelemetry (OTel), nous recommandons [le guide officiel](https://opentelemetry.io/docs/collector/configuration/).
      </Step>

      <Step title="Démarrer le collector OpenTelemetry" id="start-the-otel-collector">
        Lancez un collector autonome avec la commande suivante :

        ```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
        ```

        Le collector commencera immédiatement à recueillir les logs et les métriques du système local.
      </Step>

      <Step title="Sélectionnez votre service" id="select-your-service">
        Sélectionnez le service Managed ClickStack depuis la page d’accueil principale 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="Sélectionner le service" size="lg" width="3600" height="2040" data-path="images/clickstack/select_service.webp" />
      </Step>

      <Step title="Explorer les logs système" id="navigate-to-the-hyperdx-ui">
        Sélectionnez `ClickStack` dans le menu de gauche pour ouvrir la ClickStack UI, où l’authentification se fera automatiquement.

        L’UI de recherche devrait déjà afficher les logs système locaux. Dépliez les filtres pour sélectionner `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 locaux HyperDX" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-20.webp" />
      </Step>

      <Step title="Explorer les métriques système" id="explore-system-metrics">
        Nous pouvons explorer nos métriques à l’aide de graphiques.

        Accédez à Chart Explorer depuis le menu de gauche. Sélectionnez la source `Metrics` et `Maximum` comme type d’agrégation.

        Dans le menu `Select a Metric`, saisissez simplement `memory`, puis sélectionnez `system.memory.utilization (Gauge)`.

        Appuyez sur le bouton `Run` pour visualiser l’utilisation de la mémoire au fil du temps.

        <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="Mémoire au fil du temps" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-21.webp" />

        Notez que la valeur renvoyée est un `%` en virgule flottante. Pour l’afficher plus clairement, sélectionnez `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="Format de nombre" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-22.webp" />

        Dans le menu suivant, vous pouvez sélectionner `Percentage` dans la liste déroulante `Output format`, puis cliquer sur `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="% de mémoire au fil du temps" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-23.webp" />
      </Step>
    </Steps>
  </Tab>

  <Tab title="ClickStack Open Source">
    ### Créer une configuration OpenTelemetry personnalisée

    Créez un fichier `custom-local-config.yaml` avec le contenu suivant :

    ```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
    ```

    Cette configuration collecte les logs et les métriques système pour les systèmes OSX et Linux, puis envoie les résultats à ClickStack. Elle étend le ClickStack collector en ajoutant de nouveaux receivers et pipelines : vous réutilisez l'exporter `clickhouse` existant ainsi que les processors (`memory_limiter`, `batch`) déjà configurés dans le ClickStack collector de base.

    <Info>
      **Horodatages d’ingestion**

      Cette configuration ajuste les timestamps lors de l’ingestion en attribuant à chaque événement une valeur temporelle mise à jour. Idéalement, vous devriez [prétraiter ou analyser les timestamps](/docs/fr/clickstack/ingesting-data/collector#processing-filtering-transforming-enriching) à l’aide de processors ou d’operators OTel dans les fichiers de logs afin de préserver l’heure réelle de l’événement.

      Avec cet exemple de configuration, si le receiver ou le processeur de fichier est configuré pour démarrer au début du fichier, toutes les log entries existantes se verront attribuer le même timestamp ajusté — l’heure du traitement plutôt que l’heure d’origine de l’événement. Tous les nouveaux événements ajoutés au fichier recevront des timestamps proches de leur heure réelle de génération.

      Pour éviter ce comportement, vous pouvez définir la position de départ sur `end` dans la configuration du receiver. Cela garantit que seules les nouvelles entrées sont ingérées et horodatées au plus près de leur heure réelle d’arrivée.
    </Info>

    Pour plus de détails sur la structure de configuration d'OpenTelemetry (OTel), nous recommandons [le guide officiel](https://opentelemetry.io/docs/collector/configuration/).

    ### Démarrer ClickStack avec une configuration personnalisée

    Exécutez la commande docker suivante pour démarrer le conteneur tout-en-un avec votre configuration personnalisée :

    ```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>
      **Utilisateur root**

      Nous exécutons le collector en tant qu’utilisateur root afin d’accéder à tous les logs système — cela est nécessaire pour capturer les logs situés dans des chemins protégés sur les systèmes Linux. Cependant, cette approche n’est pas recommandée en production. Dans les environnements de production, l’OpenTelemetry Collector doit être déployé en tant qu’agent local, avec uniquement les permissions minimales nécessaires pour accéder aux sources de logs ciblées.

      Notez que nous montons le `/var/log` de l’hôte sur `/host/var/log` à l’intérieur du conteneur afin d’éviter les conflits avec les fichiers de logs du conteneur lui-même.
    </Info>

    ### Explorer les logs système

    Accédez à [http://localhost:8080](http://localhost:8080) pour accéder à la ClickStack UI si vous déployez en local.

    Les sources de données doivent déjà être créées pour vous. La page Search de l'UI doit être peuplée avec les logs système locaux. Développez les filtres pour sélectionner `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 locaux HyperDX" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-20.webp" />

    ### Explorer les métriques système

    Nous pouvons explorer nos métriques à l'aide de graphiques.

    Accédez au Chart Explorer via le menu de gauche. Sélectionnez la source `Metrics` et `Maximum` comme type d'agrégation.

    Dans le menu `Select a Metric`, saisissez simplement `memory` avant de sélectionner `system.memory.utilization (Gauge)`.

    Appuyez sur le bouton `Run` pour visualiser l’utilisation de la mémoire au fil du temps.

    <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="Mémoire au fil du temps" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-21.webp" />

    Notez que la valeur renvoyée est un `%` en virgule flottante. Pour l'afficher plus clairement, sélectionnez `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="Format numérique" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-22.webp" />

    Dans le menu suivant, vous pouvez sélectionner `Percentage` dans la liste déroulante `Output format`, puis cliquer sur `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="% de mémoire au fil du temps" size="lg" width="4800" height="2700" data-path="images/use-cases/observability/hyperdx-23.webp" />
  </Tab>
</Tabs>
