美文网首页部署运维我用 Linux
Linux log 信息查看 - journald

Linux log 信息查看 - journald

作者: Docker系统管理员 | 来源:发表于2017-11-10 16:35 被阅读51次

Journald是为Linux服务器打造的新系统日志方式,它标志着文本日志文件的终结。现在日志信息写入到二进制文件,使用journalctl阅读。

Red Hat Enterprise Linux 7, SuSE Linux Enterprise Server与Ubuntu 16.04 等Linux发行版本使用systemd管理服务。journal是systemd的一个组件,由journald处理。它捕获系统日志信息、内核日志信息,以及来自原始RAM磁盘的信息,早期启动信息以及所有服务中写入STDOUT和STDERR数据流的信息。Journald快速改变着服务器如何处理日志信息与管理员如何访问的方式。

使用journalctl

执行 journalctl 输出表默认格式的样子。

启动信息

journalctl -b 过滤上次启动时的信息,“-1” 显示上两次启动时的信息,“-2”可以一次类推。

时间范围

journalctl --since=12:17:16 显示的是12:17:16以后的信息,前面加上日期,比如2017-10-01,就可以只读取从某日某时开始的日志信息。此选项接受字符串yesterday, 2 hours ago, 2 days ago等等。比如 "journalctl --since "1 hour ago"。--since 和 --until 一起使用可以显示一段时间内的信息。

通过Unit

journalctl -u 显示 systemd unit的信息。比如 journalctl -u nginx.service 显示nginx web server的log 信息。

使用journalctl -u httpd since=00:00 --until=8:00查看昨晚登录的httpd进程。如果管理员掌握了高级的journald过滤选项,分析日志文件就更加轻松。

Tail输出

journalctl -f 像Linux tail命令一样持续输出新出现的log信息。

输出格式

某些情况下,journalctl显示的默认日志信息在细节上还不够。要获得更多信息,将输出格式设置为verbose,使用命令journalctl -o verbose -n。-o 还有其他输出格式可以选择:json, json-pretty, cat, short, short-monotonic。

指定优先级

-p 参数可以指定优先级,比如:journal -b -l -p "crit"

指定用户

journal _UID=108 这是指定某个用户产生的log。

Logrotate与远程日志

你所习惯的一些运作方式发生了变化。关闭与归档日志文件的系统Logrotate变得日益巨大。在journald上,没有必要循环日志文件。它构建的目的在于监控存储卷上的剩余空间。如果卷快满了,就删除旧有记录释放空间。要为journald日志设置一个最大尺寸,在/etc/systemd/journal.conf文件中修改SystemMaxUse参数。

远程日志又是另一回事了。如果你的数据中心有一个远程日志服务器,那就应该保留。journald不是对集中日志服务器,如rsyslog或syslog-ng do的完全替代。Journald没有将来自其他服务器或设备的日志文件进行替代的选项。也没有指定哪台日志服务器的日志事件可以转发的选项。如果你想要journald在其他地方存放日志信息,最佳做法是将信息转发给[r]syslog[{d-ng}],在这里处理集中的日志。

更多Linux Trouble Shooting信息请关注此公众号

Linux_Performance

相关文章

网友评论

    本文标题:Linux log 信息查看 - journald

    本文链接:https://www.haomeiwen.com/subject/jdobmxtx.html