J'ai un service (écrit par moi-même) fonctionnant sur un serveur Debian (Jessie), et les propres journaux du service indiquent qu'il a redémarré à un moment particulier. Il n'y a aucune indication d'une erreur de segmentation ou d'un autre plantage, donc j'essaie maintenant de savoir si l'application a échoué silencieusement et a été réapparue par systemd, ou si un utilisateur a volontairement redémarré le service via systemctl.
L'historique du shell ne montre pas une telle activité, mais cela n'est pas concluant à cause export HISTCONTROL=ignorebothet parce qu'une session SSH peut avoir juste expiré, empêchant l'historique bash d'une connexion précédente d'être écrit sur le disque. Le serveur n'a pas été redémarré à l'époque.
Mais je m'attendrais à ce que systemd lui-même conserve un journal indiquant quand un service a été volontairement redémarré. À ma grande surprise, je n'ai pas pu trouver de documentation (par exemple pour journalctl) sur la façon d'obtenir de tels journaux.
Certains autres messages (par exemple, où est / pourquoi n'y a-t-il pas de journal pour les services systemd de l'utilisateur normal? ) Semblent indiquer qu'il devrait y avoir des messages de journal comme celui-ci:
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Starting chatty.service...
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Started chatty.service.
Mais je ne vois pas de tels messages de journal sur mon système.
Existe-t-il un moyen de savoir quand les services systemd ont été démarrés, arrêtés ou redémarrés?
Edit : Il semble que le problème typique que les gens peuvent rencontrer est qu'ils s'exécutent en journalctltant qu'utilisateur non privilégié. Ce n'est pas le cas pour moi, j'opère depuis roottoujours. En réponse à un commentaire, courir grep systemd /var/log/syslogne me donne que ceci:
Jun 6 09:28:35 server systemd[22057]: Starting Paths.
Jun 6 09:28:35 server systemd[22057]: Reached target Paths.
Jun 6 09:28:35 server systemd[22057]: Starting Timers.
Jun 6 09:28:35 server systemd[22057]: Reached target Timers.
Jun 6 09:28:35 server systemd[22057]: Starting Sockets.
Jun 6 09:28:35 server systemd[22057]: Reached target Sockets.
Jun 6 09:28:35 server systemd[22057]: Starting Basic System.
Jun 6 09:28:35 server systemd[22057]: Reached target Basic System.
Jun 6 09:28:35 server systemd[22057]: Starting Default.
Jun 6 09:28:35 server systemd[22057]: Reached target Default.
Jun 6 09:28:35 server systemd[22057]: Startup finished in 59ms.
Jun 6 09:37:08 server systemd[1]: Reexecuting.
Stopped target Default, Starting Shutdownetc. Rien n'indiquant rien sur les services individuels. C'est peut-être juste un problème de configuration? Remarque Je suis sur Debian Jessie dans ce cas particulier.
/etc/systemd/journald.confpas remplacé MaxLevelStoreou MaxLevelSysloget recherchez dans tous les autres endroits où vous pouvez configurer journald comme indiqué dans man journald.conf.
/etc/systemdsont essentiellement vides (toutes les options ont été commentées, y compris celles que vous avez mentionnées).
grep systemd /var/log/syslog