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=ignoreboth
und 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 journalctl
Benutzer als nicht privilegierte Benutzer ausgeführt werden. Dies ist bei mir nicht der Fall, ich habe root
die ganze Zeit gearbeitet. Als Antwort auf einen Kommentar grep systemd /var/log/syslog
gibt 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 Default
weist Starting Shutdown
auf einzelne Dienste hin. Vielleicht ist es nur ein Konfigurationsproblem? Hinweis: Ich bin in diesem speziellen Fall auf Debian Jessie.
/etc/systemd/journald.conf
nicht überschrieben wurde , und suchen Sie an allen anderen Stellen, an denen Sie Journald wie unter aufgeführt konfigurieren können . MaxLevelStore
MaxLevelSyslog
man journald.conf
/etc/systemd
im Wesentlichen leer (alle Optionen sind auskommentiert, einschließlich der von Ihnen genannten).
grep systemd /var/log/syslog