web-dev-qa-db-fra.com

Comment se connecter avec systemd?

J'exécute une application de nœud à l'aide de systemd avec un fichier unité. Le journal des applications peut être consulté à l'aide de journalctl -u example.com, mais le journal est coupé à un moment donné, ce qui efface l'historique (ce dont j'ai besoin pour le débogage).

Comment configurer la rotation des journaux avec systemd pour que les journaux de mes applications soient stockés dans example.com.log.1, example.com.log.2, etc., afin que je puisse interroger l'historique de mon application?

Ceci est mon fichier d'unité:

ExecStart=/usr/bin/node keystone.js
#Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=example.com
User=user
Group=user
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
9
htor

Augmentation du stockage

Si vous enregistrez sur le disque, vous pouvez augmenter la quantité d’espace utilisé en modifiant SystemMaxUse et/ou SystemKeepFree. Avoir plus d'espace permettrait de stocker plus d'entrées.

Par défaut, la limite d'utilisation maximale (SystemMaxUse) est de 10% du système de fichiers et la valeur d'espace libre minimal (SystemKeepFree) est de 15% - bien qu'ils soient tous deux plafonnés à 4G.

Rotation du journal

Les journaux doivent être pivotés automatiquement lorsqu'ils atteignent la valeur SystemMaxFileSize, et le nombre de journaux est contrôlé par SystemMaxFiles. Si vous préférez une rotation basée sur le temps, vous pouvez définir une variable MaxFileSec pour définir le nombre maximal d'entrées de temps stockées dans un seul journal.

Remarque sur l'emplacement/le type de stockage

Avec journald, vous pouvez choisir de stocker les entrées de journal en mémoire (Storage=volatile) ou sur disque (Storage=persistent). Ce qui précède suppose que vous stockez des journaux sur disque. Si ce n’est pas le cas, vous devrez remplacer "Système" par "Exécution" dans les variables ci-dessus.

De plus amples détails sont disponibles dans man journald.conf.

Alternative - Transmission des écritures au journal

Si vous connaissez déjà le démon SYSLOG traditionnel, vous pouvez transmettre les événements de journal en définissant l'option ForwardToSyslog (qui transfère immédiatement les messages) ou en faisant en sorte que le démon syslog bahave ressemble à un client de journal et récupère lui-même les journaux.

5
DougC