Aller au contenu principal

Configuration manuelle de collecteur

La page Générer un fichier de configuration de collecteur OTel vous fournit une procédure simplifiée prenant en charge certaines sources de données. Si vous ne trouvez pas le snippet désiré dans la liste des sources de données disponibles, utilisez la procédure ci-dessous.

Si vous rencontrez des problèmes, consultez la page Dépanner votre installation.

Prérequis

Log Management peut traiter des batch de logs d'une taille de 5 MiB maximum. Au-delà, vous recevrez une erreur 413. (Si besoin, utilisez le paramètre sending_queue.sizer.bytes de votre exporteur pour adapter la taille de vos batchs.)

Étape 1 : Installez OpenTelemetry Collector sur votre hôte

Utilisez les paquets otelcol-contrib pour installer OpenTelemetry Collector sur chaque hôte à partir duquel vous souhaitez collecter des logs.

wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.145.0/otelcol-contrib_0.145.0_linux_amd64.rpm
dnf install ./otelcol-contrib_0.145.0_linux_amd64.rpm

Étape 2 : Définir les paramètres globaux du collecteur

  1. Modifiez le fichier config.yaml créé lors de l'installation du collecteur :

    Vous devez être connecté en tant que root.

    /etc/otelcol-contrib/config.yaml
  2. Dans ce fichier, entrez les paramètres globaux de collecte des logs spécifiques à cet hôte. Ceux-ci s'appliqueront à toutes les sources de logs pour cet hôte.

    Exemple:

    # Copyright 2025 Centreon.
    # SPDX-License-Identifier: Apache-2.0
    exporters:
    otlphttp/centreon:
    endpoint: "https://api.euwest1.obs.mycentreon.com/v1/ingress/otlp"
    headers:
    "X-Api-Key": "mytoken"
    debug:
    verbosity: detailed
    processors:
    batch:
    resourcedetection:
    detectors: ["system"]
    system:
    resource_attributes:
    host.name:
    enabled: true
    os.name:
    enabled: true
    os.type:
    enabled: true
    os.version:
    enabled: true

    L'indentation des paramètres dans votre fichier YAML doit être identique à celle de l'exemple. Les indentations sont de deux espaces pour chaque niveau.

Étape 3 : Configurez chaque source de logs pour votre hôte

Configurez une source de logs pour chaque service souhaité (syslog, apache, etc.) sous la forme d'un fichier YAML.

  1. Créez le répertoire suivant :

    mkdir /etc/otelcol-contrib/conf.d/
  2. Dans ce répertoire, créez un fichier par source de logs. Par exemple : les fichiers httpd-combined.yaml et httpd-error.yaml contiendront respectivement la configuration du journal d'accès Apache et du journal d'erreurs Apache.

  3. Récupérez sur GitHub le fichier d'exemple correspondant à la source de logs souhaitée.

  4. Sur l'hôte source, copiez et collez l'extrait de code dans le fichier correspondant, puis adaptez-le en fonction de votre environnement et de votre OS. Enregistrez le fichier. Si vous utilisez plusieurs sources de logs pour un collecteur, ne définissez le pipeline qu'une seule fois (dans l'un des fichiers). Le pipeline doit mentionner tous vos receivers. Dans notre exemple :

    service:
    pipelines:
    logs:
    receivers: [filelog/httpd-combined,filelog/apache-error]

    L'indentation des paramètres dans votre fichier YAML doit être identique à celle de l'exemple. Les indentations sont de deux espaces pour chaque niveau.

  5. Déclarez chacun des fichiers que vous avez créés : déclarez une option --config pour chaque fichier, comme dans l'exemple suivant (veillez à conserver la déclaration du fichier de configuration global config.yaml) :

    Dans /etc/otelcol-contrib/otelcol-contrib.conf, ajoutez la ligne suivante (adaptez-la avec vos noms de fichiers réels):

    OTELCOL_OPTIONS="--config=/etc/otelcol-contrib/config.yaml --config=/etc/otelcol-contrib/conf.d/httpd-combined.yaml --config=/etc/otelcol-contrib/conf.d/httpd-error.yaml"
  6. Redémarrez le service OpenTelemetry Collector.

    systemctl restart otelcol-contrib.service