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.