6.9. Configuration de systemd-journald et Fluentd


Parce que Fluentd lit à partir du journal, et que les paramètres par défaut du journal sont très bas, les entrées du journal peuvent être perdues parce que le journal ne peut pas suivre le taux d'enregistrement des services du système.

Nous recommandons de définir RateLimitIntervalSec=30s et RateLimitBurst=10000 (ou plus si nécessaire) pour éviter que le journal ne perde des entrées.

6.9.1. Configurer systemd-journald pour OpenShift Logging

Au fur et à mesure que vous développez votre projet, l'environnement de journalisation par défaut peut nécessiter quelques ajustements.

Par exemple, si vous manquez de logs, vous devrez peut-être augmenter les limites de taux pour journald. Vous pouvez ajuster le nombre de messages à conserver pendant une période de temps spécifiée pour s'assurer que OpenShift Logging n'utilise pas de ressources excessives sans laisser tomber les journaux.

Vous pouvez également déterminer si vous souhaitez que les journaux soient compressés, combien de temps ils doivent être conservés, comment ou si les journaux sont stockés, ainsi que d'autres paramètres.

Procédure

  1. Créez un fichier de configuration Butane, 40-worker-custom-journald.bu, qui inclut un fichier /etc/systemd/journald.conf avec les paramètres requis.

    Note

    See "Creating machine configs with Butane" for information about Butane.

    variant: openshift
    version: 4.12.0
    metadata:
      name: 40-worker-custom-journald
      labels:
        machineconfiguration.openshift.io/role: "worker"
    storage:
      files:
      - path: /etc/systemd/journald.conf
        mode: 0644 1
        overwrite: true
        contents:
          inline: |
            Compress=yes 2
            ForwardToConsole=no 3
            ForwardToSyslog=no
            MaxRetentionSec=1month 4
            RateLimitBurst=10000 5
            RateLimitIntervalSec=30s
            Storage=persistent 6
            SyncIntervalSec=1s 7
            SystemMaxUse=8G 8
            SystemKeepFree=20% 9
            SystemMaxFileSize=10M 10
    1
    Définissez les autorisations pour le fichier journal.conf. Il est recommandé de définir les autorisations pour 0644.
    2
    Indiquez si vous souhaitez que les journaux soient compressés avant d'être écrits sur le système de fichiers. Indiquez yes pour compresser le message ou no pour ne pas le compresser. La valeur par défaut est yes.
    3
    Permet de déterminer s'il convient de transmettre les messages du journal. La valeur par défaut est no pour chaque message. Spécifier :
    • ForwardToConsole pour transmettre les journaux à la console du système.
    • ForwardToKsmg pour acheminer les journaux vers le tampon de journaux du noyau.
    • ForwardToSyslog à transmettre à un démon syslog.
    • ForwardToWall pour transférer les messages en tant que messages muraux à tous les utilisateurs connectés.
    4
    Indiquez la durée maximale de stockage des écritures de journal. Entrez un nombre pour spécifier les secondes. Ou indiquez une unité : \N- "year\N", \N- "month\N", \N- "week\N", \N- "day\N", \N- "h\N" ou \N- "m\N". Entrez 0 pour désactiver. La valeur par défaut est 1month.
    5
    Configurer la limitation du débit. Si le nombre de journaux reçus est supérieur à celui spécifié dans RateLimitBurst pendant l'intervalle de temps défini par RateLimitIntervalSec, tous les messages supplémentaires dans l'intervalle sont abandonnés jusqu'à ce que l'intervalle soit écoulé. Il est recommandé de définir RateLimitIntervalSec=30s et RateLimitBurst=10000, qui sont les valeurs par défaut.
    6
    Spécifiez comment les journaux sont stockés. La valeur par défaut est persistent:
    • volatile pour stocker les journaux en mémoire à l'adresse /var/log/journal/.
    • persistent pour stocker les journaux sur le disque à l'adresse /var/log/journal/. systemd crée le répertoire s'il n'existe pas.
    • auto pour stocker les journaux dans /var/log/journal/ si le répertoire existe. S'il n'existe pas, systemd stocke temporairement les journaux dans /run/systemd/journal.
    • none pour ne pas stocker les journaux. systemd supprime tous les journaux.
    7
    Spécifiez le délai d'attente avant de synchroniser les fichiers journaux sur le disque pour les journaux ERR, WARNING, NOTICE, INFO, et DEBUG. systemd synchronise immédiatement après avoir reçu un journal CRIT, ALERT, ou EMERG. La valeur par défaut est 1s.
    8
    Spécifiez la taille maximale que le journal peut utiliser. La valeur par défaut est 8G.
    9
    Spécifiez l'espace disque que systemd doit laisser libre. La valeur par défaut est 20%.
    10
    Spécifiez la taille maximale des fichiers journaux individuels stockés de manière persistante sur /var/log/journal. La valeur par défaut est 10M.
    Note

    Si vous supprimez la limite de débit, il se peut que vous constatiez une augmentation de l'utilisation de l'unité centrale sur les démons de journalisation du système, car ils traitent les messages qui auraient été précédemment limités.

    Pour plus d'informations sur les paramètres de systemd, voir https://www.freedesktop.org/software/systemd/man/journald.conf.html. Les paramètres par défaut énumérés sur cette page peuvent ne pas s'appliquer à OpenShift Container Platform.

  2. Utilisez Butane pour générer un fichier objet MachineConfig, 40-worker-custom-journald.yaml, contenant la configuration à fournir aux nœuds :

    $ butane 40-worker-custom-journald.bu -o 40-worker-custom-journald.yaml
  3. Appliquer la configuration de la machine. Par exemple :

    $ oc apply -f 40-worker-custom-journald.yaml

    Le contrôleur détecte le nouvel objet MachineConfig et génère une nouvelle version rendered-worker-<hash>.

  4. Contrôler l'état du déploiement de la nouvelle configuration rendue à chaque nœud :

    $ oc describe machineconfigpool/worker

    Exemple de sortie

    Name:         worker
    Namespace:
    Labels:       machineconfiguration.openshift.io/mco-built-in=
    Annotations:  <none>
    API Version:  machineconfiguration.openshift.io/v1
    Kind:         MachineConfigPool
    
    ...
    
    Conditions:
      Message:
      Reason:                All nodes are updating to rendered-worker-913514517bcea7c93bd446f4830bc64e

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.