Debian 11 Bullseye
Sponsored Link

Journald : 基本操作
2021/09/23
 
ログ管理サービス Journald の基本操作です。
[1] システム デフォルトで Journald が稼働し、システムの多くのログは、まず最初に Journald によって保管されます。
よって、[Journald (systemd-journald.service systemd-journald.socket systemd-journald-dev-log.socket)] が停止した場合は、システムの主要なログの記録も停止します。
root@dlp:~#
systemctl status systemd-journald.service

*  systemd-journald.service - Journal Service
     Loaded: loaded (/lib/systemd/system/systemd-journald.service; static)
     Active: active (running) since Wed 2021-09-22 19:31:44 CDT; 2h 17min ago
TriggeredBy: * systemd-journald-audit.socket
             * systemd-journald-dev-log.socket
             * systemd-journald.socket
       Docs: man:systemd-journald.service(8)
             man:journald.conf(5)
   Main PID: 235 (systemd-journal)
     Status: "Processing requests..."
      Tasks: 1 (limit: 4675)
     Memory: 15.0M
        CPU: 131ms
[2] Journald の設定は [/etc/systemd/journald.conf] で変更可能です。
デフォルトでは全てコメントとなっていますが、記載の値がデフォルト値となっています。
root@dlp:~#
cat /etc/systemd/journald.conf

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=10000
#SystemMaxUse=
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
#LineMax=48K
#ReadKMsg=yes
#Audit=no
[3] Journald のログの保管場所は [Storage=***] で設定されています。
ログの保管場所については、[ForwardToSyslog=yes] の設定により、ログは Rsyslog に転送されるため、従来の [/var/log/syslog] ファイル等々にも保管されています。
# [Storage=***] の設定値
#
# volatile   : メモリーに保管 : [/run/log/journal] 配下
# persistent : ディスクに保管 : [/var/log/journal] 配下
#              システム起動時等、ディスク書き込み不可な場合はメモリー
# auto       : [/var/log/journal] が存在する場合はディスク
#              存在しない場合はメモリー
# none       : ログを保管しない
#              ただし、コンソールや Syslog サービス等、他の設定済み保管ターゲットにはログは転送される
#
# * メモリー保管は永続的ではない (システム再起動時に過去ログは消去)

# Debian 11 のデフォルトは [auto] 且つ 
# デフォルトでは [/var/log/journal] が存在するため [/var/log/journal] に保管

root@dlp:~#
grep Storage /etc/systemd/journald.conf

#Storage=auto
root@dlp:~#
ll -d /var/log/journal

drwxr-sr-x+ 3 root systemd-journal 4096 Aug 16 01:29 /var/log/journal

root@dlp:~#
ll -Rh /var/log/journal

/var/log/journal:
total 4.0K
drwxr-sr-x+ 2 root systemd-journal 4.0K Sep 22 19:31 6d96b40f1a954b7cbd42a163bc9e82af

/var/log/journal/6d96b40f1a954b7cbd42a163bc9e82af:
total 57M
-rw-r-----+ 1 root systemd-journal 8.0M Aug 16 21:29 system@c98557962af340efb600ccd36f4dbfb0-0000000000000001-0005c9a7535c72c7.journal
-rw-r-----+ 1 root systemd-journal 8.0M Sep 22 18:38 system@c98557962af340efb600ccd36f4dbfb0-0000000000001310-0005c9b81768bef9.journal
-rw-r-----+ 1 root systemd-journal 8.0M Sep 22 19:31 system@c98557962af340efb600ccd36f4dbfb0-0000000000001656-0005cc9e023814c2.journal
-rw-r-----+ 1 root systemd-journal 8.0M Sep 22 22:22 system.journal
-rw-r-----+ 1 root systemd-journal 8.0M Aug 16 21:29 user-1000@b01c0c9bfd2c451faf49e166e7738756-0000000000000322-0005c9a7540ff542.journal
-rw-r-----+ 1 root systemd-journal 8.0M Sep 22 19:31 user-1001@8302bc9870d949f69bc87d3aa26902b2-0000000000001b35-0005cc9eadea0637.journal
-rw-r-----+ 1 root systemd-journal 8.0M Sep 22 19:36 user-1001.journal
[4] Journald のログは [journalctl] コマンドで表示可能です。
# 引数なしで全ログを表示 : 結果は [less] コマンドに渡される

# [less] に渡さない場合は [--no-pager] オプション付加

root@dlp:~#
journalctl

-- Journal begins at Mon 2021-08-16 01:29:38 CDT, ends at Wed 2021-09-22 22:17:>
Aug 16 01:29:38 debian kernel: Linux version 5.10.0-8-amd64 (debian-kernel@list>
Aug 16 01:29:38 debian kernel: Command line: BOOT_IMAGE=/vmlinuz-5.10.0-8-amd64>
Aug 16 01:29:38 debian kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 fl>
Aug 16 01:29:38 debian kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE re>
Aug 16 01:29:38 debian kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX re>
.....
.....

# [-u UNIT] : 特定の UNIT のログを表示

root@dlp:~#
journalctl -u cron.service

-- Journal begins at Mon 2021-08-16 01:29:38 CDT, ends at Wed 2021-09-22 22:17:>
Aug 16 01:29:40 debian systemd[1]: Started Regular background program processin>
Aug 16 01:29:40 debian cron[375]: (CRON) INFO (pidfile fd = 3)
Aug 16 01:29:40 debian cron[375]: (CRON) INFO (Running @reboot jobs)
Aug 16 01:32:07 debian systemd[1]: Stopping Regular background program processi>
Aug 16 01:32:07 debian systemd[1]: cron.service: Succeeded.
.....
.....

root@dlp:~#
journalctl -u systemd-tmpfiles-clean.timer

-- Journal begins at Mon 2021-08-16 01:29:38 CDT, ends at Wed 2021-09-22 22:17:>
Aug 16 01:29:40 debian systemd[1]: Started Daily Cleanup of Temporary Directori>
Aug 16 01:32:07 debian systemd[1]: systemd-tmpfiles-clean.timer: Succeeded.
Aug 16 01:32:07 debian systemd[1]: Stopped Daily Cleanup of Temporary Directori>
.....
.....

# [-k] : 起動時のカーネルメッセージを表示

root@dlp:~#
journalctl -k

-- Journal begins at Mon 2021-08-16 01:29:38 CDT, ends at Wed 2021-09-22 22:17:>
Sep 22 19:31:44 dlp.srv.world kernel: Linux version 5.10.0-8-amd64 (debian-kern>
Sep 22 19:31:44 dlp.srv.world kernel: Command line: BOOT_IMAGE=/vmlinuz-5.10.0->
Sep 22 19:31:44 dlp.srv.world kernel: x86/fpu: Supporting XSAVE feature 0x001: >
Sep 22 19:31:44 dlp.srv.world kernel: x86/fpu: Supporting XSAVE feature 0x002: >
Sep 22 19:31:44 dlp.srv.world kernel: x86/fpu: Supporting XSAVE feature 0x004: >
.....
.....

# [-p Priority] : 特定のプライオリティのログを表示

root@dlp:~#
journalctl -p err

-- Journal begins at Mon 2021-08-16 01:29:38 CDT, ends at Wed 2021-09-22 22:17:>
Aug 16 21:29:18 debian kernel: watchdog: watchdog0: watchdog did not stop!
-- Boot 18eec54b205e4c6b82a225ab14159385 --
Sep 22 18:38:54 dlp.srv.world dhclient[456]: receive_packet failed on enp1s0: N>
Sep 22 18:38:54 dlp.srv.world kernel: watchdog: watchdog0: watchdog did not sto>
-- Boot ee96107c56db424185e3fce8408c5d9b --
Sep 22 19:31:38 dlp.srv.world kernel: watchdog: watchdog0: watchdog did not sto>
.....
.....

# [-g PATTERN] : [MESSAGE] フィールドから特定のワード [PATTERN] を含むログを表示

root@dlp:~#
journalctl -g "apparmor"

-- Journal begins at Mon 2021-08-16 01:29:38 CDT, ends at Wed 2021-09-22 22:17:>
Aug 16 01:29:38 debian kernel: AppArmor: AppArmor initialized
Aug 16 01:29:38 debian kernel: AppArmor: AppArmor Filesystem Enabled
Aug 16 01:29:38 debian kernel: AppArmor: AppArmor sha1 policy hashing enabled
Aug 16 01:29:38 debian systemd[1]: systemd 247.3-6 running in system mode. (+PA>
Aug 16 01:29:39 debian systemd[1]: Starting Load AppArmor profiles...
Aug 16 01:29:39 debian apparmor.systemd[355]: Restarting AppArmor
Aug 16 01:29:39 debian apparmor.systemd[355]: Reloading AppArmor profiles
Aug 16 01:29:39 debian audit[372]: AVC apparmor="STATUS" operation="profile_loa>
Aug 16 01:29:39 debian kernel: audit: type=1400 audit(1629095379.952:2): apparm>
Aug 16 01:29:39 debian audit[373]: AVC apparmor="STATUS" operation="profile_loa>
.....
.....

# [-S DATE] : 特定の DATE 以降のログを表示

# [-U DATE] : 特定の DATE までのログを表示

root@dlp:~#
journalctl -S "2021-09-20 00:00:00" -U "2021-09-25 23:59:59"

-- Journal begins at Mon 2021-08-16 01:29:38 CDT, ends at Wed 2021-09-22 22:17:>
Sep 22 18:38:17 debian kernel: Linux version 5.10.0-8-amd64 (debian-kernel@list>
Sep 22 18:38:17 debian kernel: Command line: BOOT_IMAGE=/vmlinuz-5.10.0-8-amd64>
Sep 22 18:38:17 debian kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 fl>
Sep 22 18:38:17 debian kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE re>
Sep 22 18:38:17 debian kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX re>
Sep 22 18:38:17 debian kernel: x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]>
.....
.....

# その他オプションを表示

root@dlp:~#
journalctl --help --no-pager

journalctl [OPTIONS...] [MATCHES...]

Query the journal.

Options:
     --system                Show the system journal
     --user                  Show the user journal for the current user
  -M --machine=CONTAINER     Operate on local container
  -S --since=DATE            Show entries not older than the specified date
.....
.....
関連コンテンツ