Ich habe einen Dienst (von mir selbst geschrieben), der auf einem Debian-Server (Jessie) ausgeführt wird, und die eigenen Protokolle des Dienstes weisen darauf hin, dass er zu einem bestimmten Zeitpunkt neu gestartet wurde. Es gibt keinen Hinweis auf einen Segfault oder einen anderen Absturz. Daher versuche ich jetzt herauszufinden, ob die Anwendung im Stillen fehlgeschlagen ist und von systemd erneut gestartet wurde oder ob ein Benutzer den Dienst absichtlich über neu gestartet hat systemctl.
Der Shell-Verlauf zeigt keine solche Aktivität an, aber das ist nicht schlüssig, da export HISTCONTROL=ignorebothund weil eine SSH-Sitzung möglicherweise gerade abgelaufen ist und verhindert wird, dass der Bash-Verlauf eines vorherigen Logins auf die Festplatte geschrieben wird. Der Server wurde zu diesem Zeitpunkt nicht neu gestartet.
Ich würde jedoch erwarten, dass systemd selbst ein Protokoll führt, das angibt, wann ein Dienst absichtlich neu gestartet wurde. Zu meiner Überraschung konnte ich keine Dokumentation (z. B. für journalctl) finden, wie man solche Protokolle erhält.
Einige andere Beiträge (z. B. Wo ist / warum gibt es kein Protokoll für normale Benutzer-Systemdienste? ) Scheinen darauf hinzuweisen, dass Protokollnachrichten wie diese vorhanden sein sollten:
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.
Auf meinem System werden solche Protokollmeldungen jedoch nicht angezeigt.
Gibt es eine Möglichkeit herauszufinden, wann systemd-Dienste gestartet, gestoppt oder neu gestartet wurden?
Bearbeiten : Es scheint, dass das typische Problem darin besteht, dass journalctlBenutzer als nicht privilegierte Benutzer ausgeführt werden. Dies ist bei mir nicht der Fall, ich habe rootdie ganze Zeit gearbeitet. Als Antwort auf einen Kommentar grep systemd /var/log/sysloggibt mir das Laufen nur Folgendes:
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 Defaultweist Starting Shutdownauf einzelne Dienste hin. Vielleicht ist es nur ein Konfigurationsproblem? Hinweis: Ich bin in diesem speziellen Fall auf Debian Jessie.
/etc/systemd/journald.confnicht überschrieben wurde , und suchen Sie an allen anderen Stellen, an denen Sie Journald wie unter aufgeführt konfigurieren können . MaxLevelStoreMaxLevelSyslogman journald.conf
/etc/systemdim Wesentlichen leer (alle Optionen sind auskommentiert, einschließlich der von Ihnen genannten).
grep systemd /var/log/syslog