私は(自分で作成した)サービスをDebian(Jessie)サーバーで実行していて、サービスのログは、特定の時間に再起動したことを示しています。私は今、アプリケーションが何らかの形であれば把握しようとしていますので、セグメンテーション違反または他のクラッシュの兆候はありませんが、静かに失敗したとsystemdに再生成によって得た、またはユーザーが意図的に介してサービスを再起動するかどうかsystemctl
。
シェルの履歴にはそのようなアクティビティは表示されませんがexport HISTCONTROL=ignoreboth
、SSHセッションがタイムアウトしたため、以前のログインのbash履歴がディスクに書き込まれなかったため、これは決定的なものではありません。現時点ではサーバーは再起動されていません。
しかし、systemd自体は、サービスが意図的に再起動されたときを示すログを保持する必要があると思います。驚いたことに、journalctl
そのようなログを取得する方法に関するドキュメント(例:)を見つけることができませんでした。
他のいくつかの投稿(たとえば、通常のユーザーsystemdサービスのログはどこにあるのか、なぜログがないのですか?)は、次のようなログメッセージがあるはずであると示しています。
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.
しかし、システムにそのようなログメッセージは表示されません。
systemdサービスがいつ開始、停止、または再起動されたかを知る方法はありますか?
編集:人々が遭遇する可能性がある典型的な問題はjournalctl
、非特権ユーザーとして実行することです。これは私には当てはまりません、私はずっと操作してきましroot
た。コメントに応じて、実行するとgrep systemd /var/log/syslog
これだけしか得られません:
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 Shutdown
などの非常に一般的なメッセージしか表示されません。個々のサービスについて何も示していません。多分それは単なる構成の問題ですか?この特定のケースでは、私はDebian Jessieを使用しています。
/etc/systemd/journald.conf
がオーバーライドされていないことを確認し、にリストされているように、journaldを構成できる他のすべての場所を調べます。MaxLevelStore
MaxLevelSyslog
man journald.conf
/etc/systemd
は基本的に空です(あなたが言及したものを含め、すべてのオプションはコメント化されています)。
grep systemd /var/log/syslog