Je suis particulièrement intéressé par cela pour regarder la sortie des services oneshot qui s'exécutent sur une minuterie. Le --unit
drapeau est proche, mais il concatène toutes les exécutions du service ensemble. La manière la plus évidente à laquelle je peux penser serait de filtrer sur PID, mais cela me fait me soucier de la réutilisation / des services PID qui débouchent, et obtenir le dernier PID est assez gênant. Existe-t-il un autre identifiant qui correspond à une seule exécution d'un service, que je pourrais utiliser pour filtrer les journaux?
EDIT: Je serais heureux d'accepter un «non» faisant autorité si c'est la vraie réponse.
la source
journalctl --user -u UNITFILE -f -o json-pretty
pourrait être utile; vous recherchez desMESSAGE
domaines en particulier. J'ai découvert que vous pourriez également avoir besoinUSER_INVOCATION_ID
, et que certains messages ne sont associés à aucun identifiant d'invocation, ils ne peuvent donc pas être filtrés via ce mécanisme. Je ne sais pas pourquoi, ma connexion est peut-être mal configurée ..Je ne sais pas quel horodatage a le plus de sens, mais cela fonctionne pour moi. Espérons qu'il existe une meilleure façon de travailler avec les horodatages
systemctl show
que awk - ne pourrait pas comprendre comment contrôler le format des horodatages.la source
systemctl show -p ActiveEnterTimestamp thermo.service | awk '{print $2 \" \" $3}'
" -fu thermo.service | moinssystemctl show -p ActiveEnterTimestamp --value $unit
, donc il n'y a pas besoin de awk supplémentaireVous pouvez utiliser l'indicateur de démarrage pour extraire uniquement les journaux de ce démarrage. par exemple
la source
Cela pourrait vous aider:
journalctl -u foo.service | queue -n 2
ou remplacez 2 par le nombre de lignes prévu
journalctl -u foo.service --since = ' 2016-04-11 13:00:00 '
Vous pouvez également les combiner pour obtenir d'abord l'horodatage de la dernière exécution, puis utiliser cet horodatage avec le commutateur --since.
la source
Vous pouvez utiliser des filtres de champ avec Journalctl. Par exemple
Obtenez une liste de tous les champs disponibles en utilisant:
Un champ disponible est
_PID
.Vous pouvez obtenir le PID d'un processus en cours en utilisant
pidof
ousystemctl show --property MainPID <SERVICE_NAME>
Voici donc comment obtenir les journaux du processus de kubelet Kubernetes actuel:
Maintenant, dites-moi pourquoi je Kubernetes est si difficile à installer :-(
la source
journalctl -r | grep -m1 foo.service
la source