Configuration complète de collecteur (sources de logs multiples)
La section Configurations simples de collecteur fournit un fichier de configuration permettant de mettre en place la collecte des logs à partir d'une machine Windows. La procédure ci-dessous est plus adaptée aux cas où plusieurs types de journaux sont collectés sur le même hôte (sous Windows comme sous Linux).
Centreon met à disposition des modèles de configuration prêts à l'emploi pour les sources de logs les plus courantes. Utilisez-les comme point de départ pour configurer rapidement votre collecteur.
Si vous rencontrez des problèmes, consultez la page Dépanner votre installation.
Prérequis
- Générez un jeton pour authentifier l'hôte auprès de votre plateforme Centreon Log Management.
- L'endpoint requis pour connecter un collecteur OpenTelemetry à votre plateforme Centreon Log Management est
https://api.euwest1.obs.mycentreon.com/v1/ingress/otlp/v1/logs.
CLM 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.
- Linux
- Windows
- EL
- Debian
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
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.145.0/otelcol-contrib_0.145.0_linux_amd64.deb
apt install ./otelcol-contrib_0.145.0_linux_amd64.deb
https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.147.0/otelcol-contrib_0.147.0_windows_x64.msi
Étape 2 : Définir les paramètres globaux du collecteur
-
Modifiez le fichier config.yaml créé lors de l'installation du collecteur :
- Linux
- Windows
Vous devez être connecté en tant que root.
/etc/otelcol-contrib/config.yamlC:\Program Files\OpenTelemetry Collector\config.yamlAssurez-vous d'enregistrer le fichier en tant qu'administrateur.
-
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.
- Dans endpoint, entrez
https://api.euwest1.obs.mycentreon.com/v1/ingress/otlp. - Dans X-Api-Key, entrez le jeton requis pour vous authentifier auprès de votre plateforme CLM.
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: trueL'indentation des paramètres dans votre fichier YAML doit être identique à celle de l'exemple. Les indentations sont de deux espaces pour chaque niveau.
- Dans endpoint, entrez
É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.
-
Créez le répertoire suivant :
- Linux
- Windows
mkdir /etc/otelcol-contrib/conf.d/C:\Program Files\OpenTelemetry Collector\conf.d -
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.
-
Récupérez sur GitHub le fichier d'exemple correspondant à la source de logs souhaitée.
-
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.
-
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) :
- Linux
- Windows
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"Dans un terminal PowerShell, exécutez la commande suivante (adaptez-la avec vos noms de fichiers réels):
Get-WmiObject win32_service -filter "Name='otelcol-contrib'" | Invoke-WmiMethod -Name Change -ArgumentList @($null,$null,$null,$null,$null, '"C:\Program Files\OpenTelemetry Collector\otelcol-contrib.exe" --config "C:\Program Files\OpenTelemetry Collector\config.yaml" --config "C:\Program Files\OpenTelemetry Collector\conf.d\windows-event-log.yaml"') -
Redémarrez le service OpenTelemetry Collector.
- Linux
- Windows
systemctl restart otelcol-contrib.servicenet stop otelcol-contrib
net start otelcol-contrib