Présentation
Systemd-journald est un service système qui recueille et stocke des données de journalisation.
Il crée et entretient des journaux structurés et indexés à partir d’informations de journalisation provenant de différentes sources.
Configuration
Installation
Le check journalid est inclus avec le package de l’Agent Datadog.
Vous n’avez donc rien d’autre à installer sur votre serveur.
Configuration
Par défaut, les fichiers journal appartiennent au groupe système systemd-journal, qui peut également les lire. Pour commencer à recueillir vos logs journal, suivez les étapes suivantes :
- Installez l’Agent sur l’instance qui exécute le journal.
- Ajoutez l’utilisateur
dd-agent au groupe systemd-journal en exécutant la commande : usermod -a -G systemd-journal dd-agent
Pour configurer ce check lorsque l’Agent est exécuté sur un host :
Modifiez le fichier journald.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent pour commencer à recueillir vos logs.
Collecte de logs
La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans datadog.yaml avec la commande :
Ajoutez ensuite ce bloc de configuration à votre fichier journald.d/conf.yaml pour commencer à recueillir vos logs :
logs:
- type: journald
container_mode: true
Pour renseigner les attributs source et service, l’Agent recueille SYSLOG_IDENTIFIER, _SYSTEMD_UNIT et _COMM, puis les définit sur la première valeur non vide. Pour tirer parti des pipelines d’intégration, Datadog recommande de définir le paramètre SyslogIdentifier directement dans le fichier du service systemd ou dans un fichier de remplacement du service systemd. Leur emplacement dépend de votre distribution. Toutefois, vous pouvez localiser le fichier du service systemd avec la commande systemctl show -p FragmentPath <nom_unité>.
Remarque : pour l’Agent 7.17+, si container_mode est défini sur true, le comportement par défaut change pour les logs provenant de conteneurs Docker. L’attribut source de vos logs est automatiquement défini sur le nom raccourci de l’image correspondante du conteneur, au lieu de simplement prendre pour valeur docker.
Redémarrez l’Agent.
Fonctions avancées
Changer l’emplacement du journal
Par défaut, l’Agent recherche le journal aux emplacements suivants :
/var/log/journal/run/log/journal
Si votre journal est situé ailleurs, ajoutez un paramètre path en indiquant le chemin du journal correspondant.
Filtrer les unités de journal
Il est possible d’inclure ou d’exclure des unités spécifiques à l’aide des paramètres suivants :
include_units : inclut toutes les unités précisées.exclude_units : exclut toutes les unités précisées.
Exemple :
logs:
- type: journald
path: /var/log/journal/
include_units:
- docker.service
- sshd.service
Il est essentiel d’utiliser des tags pour trouver des informations dans des environnements conteneurisés particulièrement dynamiques. C’est pourquoi l’Agent peut recueillir des tags de conteneur dans des logs journald.
Cette collecte est automatique lorsque l’Agent est exécuté à partir du host. Si vous utilisez la version conteneurisée de l’Agent Datadog, montez le chemin de votre journal et le fichier suivant :
/etc/machine-id : cette commande permet à l’Agent d’interroger le journal stocké sur le host.
Validation
Lancez la sous-commande status de l’Agent et cherchez journald dans la section Logs Agent.
Données collectées
Métriques
journald n’inclut aucune métrique.
Checks de service
journald n’inclut aucun check de service.
Événements
journald n’inclut aucun événement.
Dépannage
Besoin d’aide ? Contactez l’assistance Datadog.