0x0i.journald
Rôle Ansible :signal_strength: :page_with_curl: Journald
Table des Matières
- Plateformes Supportées
- Exigences
- Variables de Rôle
- Dépendances
- Exemple de Playbook
- Licence
- Informations sur l'Auteur
Rôle Ansible qui installe et configure Journald : un service système qui collecte et stocke les données de journalisation.
Plateformes Supportées :
* Debian
* Redhat (CentOS/Fedora)
* Ubuntu
Exigences
Considéré comme le système de journalisation par défaut pour les distributions Linux et considéré comme le successeur de syslog
en ce qui concerne les services de journalisation système, journald
est généralement installé avec systemd
et est disponible sans installation manuelle ou utilisateur sur la liste des plateformes Linux supportées.
Consultez le README de systemd ici et la documentation de journald pour plus de détails.
Variables de Rôle
Les variables sont disponibles et organisées selon les étapes suivantes de provisionnement logiciel et machine :
- installation
- configuration
- désinstallation
Installation
Les variables suivantes peuvent être personnalisées pour contrôler certains aspects du processus d'installation de journald. On suppose que l'hôte possède une version fonctionnelle du paquet systemd. Les versions disponibles selon la distribution OS peuvent être consultées ici pour référence.
journal_group_adds: <list-of-accounts>
(par défaut: []
)
- indique les comptes utilisateurs à ajouter automatiquement au groupe systemd-journal pour des capacités de surveillance des journaux privilégiées.
Les fichiers du journal sont, par défaut, possédés et lisibles par le groupe système systemd-journal mais ne sont pas modifiables. Ajouter un utilisateur à ce groupe lui permet donc de lire les fichiers journaux sans élever ses privilèges. Consultez la documentation de ce service systemd-journald pour plus de détails.
Exemple
journal_group_adds:
- user-account-1
- user-account-2
Configuration
La configuration de journald
est déclarée dans un fichier de configuration de style ini, stocké par défaut sous journald.conf. Cette configuration INI est composée d'une seule section, [Journal]
, qui peut contenir diverses options pour déclarer le comportement souhaité du service de journalisation.
Ces configurations peuvent être exprimées dans la variable de hachage journald_config
du rôle sous forme de listes de dictionnaires contenant des paires clé-valeur représentant le nom, le chemin de chargement et une combinaison des options mentionnées. Consultez ici pour une liste complète des options disponibles.
[journald_configs: <list-entry>:] name: <string>
(par défaut: journald.conf)
- nom du fichier de configuration de journald
[journald_configs: <list-entry>:] path: <string>
(par défaut: /etc/systemd/)
- chemin de chargement du fichier de configuration de journald
Lorsque des paquets ou des administrateurs locaux ont besoin de personnaliser la configuration de base ou par défaut, ils peuvent installer des extraits de configuration dans l'un des répertoires de remplacement suivants :
Chemin de Chargement de Configuration | Description |
---|---|
/etc/systemd/journald.conf | configuration par défaut/de base, telle que définie par l'administrateur système local |
/etc/systemd/journald.conf.d/*.conf | répertoire de remplacement pour l'administrateur local (le nom de fichier est une valeur arbitraire) |
/run/systemd/journald.conf.d/*.conf | répertoire de remplacement à l'exécution (le nom de fichier est une valeur arbitraire) |
/usr/lib/systemd/journald.conf.d/*.conf | répertoire de remplacement du paquet fournisseur |
Le fichier de configuration principal est lu avant tous les répertoires de configuration et a la plus basse priorité. Les entrées dans un fichier dans un répertoire de configuration remplacent les entrées dans le fichier de configuration unique. Les fichiers dans les sous-répertoires de configuration *.conf.d/ sont triés et chargés par leur nom de fichier dans un ordre lexicographique, quel que soit le sous-répertoire dans lequel ils se trouvent.
[journald_config: <list-entry>:] config: <dict>
(par défaut: {})
- définitions de section pour la configuration du journal
Toute paire clé-valeur de configuration/supportée par journald
doit pouvoir être exprimée dans chaque entrée de liste journald_configs
et correctement intégrée dans la configuration INI spécifiée.
Exemple
journald_configs:
- name: debug-overrides.conf
path: /run/systemd/journald.conf.d
config:
MaxLevelStore: debug
Storage: volatile
RateLimitIntervalSec: 0
RateLimitBurst: 0
Désinstallation
Supprime la configuration gérée de journald.conf, ramenant l'hôte cible à son état configuré avant l'application de ce rôle (par exemple, cela peut être utile pour recycler les paramètres de configuration lors des mises à niveau système).
Les variables suivantes peuvent être personnalisées pour gérer ce processus de désinstallation :
perform_uninstall: <true | false>
(par défaut: false
)
- indique s'il faut désinstaller la configuration gérée du fichier journald.conf d'un système sur un hôte cible (voir :
handlers/main.yml
pour les détails)
Dépendances
Aucune
Exemple de Playbook
exemple par défaut :
- hosts: all
roles:
- role: 0x0I.journald
définir un stockage de journal permanent et mettre à jour/réduire l'intervalle de synchronisation de la persistance :
- hosts: staging
roles:
- role: 0x0I.journald
vars:
journald_configs:
- config:
Storage: persistence
SyncIntervalSec: 10
créer une configuration de base personnalisée avec une configuration de remplacement pour le débogage en place :
- hosts: all
roles:
- role: 0x0I.journald
vars:
journald_configs:
# la configuration de base sera installée à /etc/systemd/journald.conf
- config:
Storage: auto
MaxLevelStore: warning
# la configuration de remplacement sera installée à /run/systemd/journald.conf.d/debug-overrides.conf
- name: debug-overrides.conf
path: /run/systemd/journald.conf.d
config:
Storage: volatile
MaxLevelStore: debug
RateLimitIntervalSec: 0
RateLimitBurst: 0
ajouter un ensemble d'utilisateurs au groupe systemd-journal
pour un accès privilégié au journal :
- hosts: prod
roles:
- role: 0x0I.journald
vars:
journal_group_adds: ['sysadmin-user', 'sre-user']
Licence
MIT
Informations sur l'Auteur
Ce rôle a été créé en 2019 par O1.IO.