0x0i.journald

logo Ansible

logo RedHat

Rôle Ansible :signal_strength: :page_with_curl: Journald

Galaxy Role GitHub release (latest by date) License: MIT

Table des Matières

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.

À propos du projet

Journald, a system service that collects and stores logging data

Installer
ansible-galaxy install 0x0i.journald
Licence
Unknown
Téléchargements
256
Propriétaire