我的日志存在问题journalctl
,它不显示超过一小时的日志。
第一条日志条目来自大约一小时前,而不是所要求的两天前。
$ date -u
Wed May 13 08:59:21 UTC 2020
$ sudo journalctl --utc --since="2 days ago" -n 1 --no-pager -u [email protected]
-- Logs begin at Tue 2020-03-17 17:30:22 UTC, end at Wed 2020-05-13 09:00:10 UTC. --
May 13 08:11:03 <log content>
服务已于 5 天前开启:
$ sudo systemctl status [email protected]
...
Active: active (running) since Thu 2020-05-07 15:45:47 CEST; 5 days ago
...
jorunalctd.conf
但看上去并没有什么可疑之处:
$ cat /etc/systemd/journald.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See journald.conf(5) for details.
[Journal]
Storage=persistent
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitInterval=30s
#RateLimitBurst=1000
#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
我看到的日志重复出现于过去一小时左右。可能是什么原因造成的?
编辑
不幸的是,这不是寻呼机大小限制的问题,正如@Peleion 提到的。
额外的限制是--until
不显示任何消息(也没有-- No entries --
信息)。
$ sudo journalctl --utc --since="2 days ago" --until="yesterday" -n 1 --no-pager -u [email protected] # with additional `--until` filter no messages are shown
-- Logs begin at Tue 2020-03-17 17:30:22 UTC, end at Thu 2020-05-14 09:14:04 UTC. --
$ sudo journalctl --utc --since="2 days ago" --no-pager -u [email protected] | wc -l # logs more than 1k entities
17661
$ sudo journalctl -p err --utc --since="2 days ago" -n 1 --no-pager -u [email protected] # here we have explicit info that there're no entries
-- Logs begin at Tue 2020-03-17 17:30:22 UTC, end at Thu 2020-05-14 09:14:21 UTC. --
-- No entries --
编辑2
我们最终将数据记录到单独的文件中,而不是使用 journald。
丢失日志的问题非常多,令人费解。
日志一直占用大约 2.5-3GB 的空间:
Archived and active journals take up 3.1G in the file system.
负责运行 worker 的用户的文件大小在 30 到 60MB 之间:
/var/log/journal/<hash>/user-<user id>.journal
答案1
journalctl 分页器默认显示最近的 1,000 条条目。遗憾的是,在当前 Fedora 安装中,一小时内出现此数量的条目很常见。日记条目仍然存在(直至达到最大日志文件存储量),但您一次只能看到 1,000 条。
同时使用 --since 和 --until 来指定特定的 1,000 个条目的时间块,或者使用 --user 来指定特定的用户或任何其他选项,以更大的时间片将输出限制到 1,000 个缓冲区。
Archlinux 文档有很好的引入选项
编辑:您的日志似乎也没有刷新到持久存储中。RH/Centos/Fedora#Storage=auto
在 /etc/systemd/journald.conf 中具有默认设置。您可以尝试注释掉它或将其设置为自动并重新启动 systemd。