手机版
你好,游客 登录 注册
背景:
阅读新闻

通过Journalctl查看并操作Systemd日志

[日期:2018-10-22] 来源:Linux社区  作者:solaraceboy [字体: ]

一、背景

每当遇到诸如网卡、数据库、Apache及其他一些应用无法正常启动时,系统会提示我们使用journalctl -ex命令进行查看,往往能迅速找到相关日志,分析日志后问题一般能够迅速被解决。虽然经常使用,但是也没有过多深究。

CentOS7.X中,systemd统一管理着所有unit的启动日志,systemd-journald就是一个被systemd管理的进型日志管理服务,可以收集来自内核、系统早期启动阶段的日志、系统守护进程在启动和运行中的标准输出和错误信息,还有syslog的日志。该日志服务仅仅把日志集中保存在单一结构的日志文件/run/log中,由于日志是经过压缩和格式化的二进制数据,所以在查看和定位的时候很迅速,我们可以只用journalctl一条命令就能查看所有日志(内核日志和 应用日志)。

[linuxidc@localhost www.linuxidc.com]$ systemctl list-units|grep journal*
systemd-journal-flush.service                                                                                          loaded active exited    Flush Journal to Persistent Storage
systemd-journald.service                                                                                                loaded active running  Journal Service
systemd-journald.socket                                                                                                loaded active running  Journal Socket

通过Journalctl查看并操作Systemd日志

对于journal的配置,我们可以参见配置文件:/etc/systemd/journald.conf,可以根据实际情况进行自定义,默认情况下并不会持久化保存日志,只会保留一个月的日志。如果需要永久保留改日志文件呢?

二、操作步骤

1.创建相关的目录来存放journal日志,修改权限,重启systemd-journal服务。

[linuxidc@localhost www.linuxidc.com]$ sudo mkdir /var/log/journal
[linuxidc@localhost www.linuxidc.com]$ sudo chgrp systemd-journal /var/log/journal
[linuxidc@localhost www.linuxidc.com]$ sudo chmod g+s /var/log/journal
[linuxidc@localhost www.linuxidc.com]$ sudo systemctl restart systemd-journald

通过Journalctl查看并操作Systemd日志

2.重启数次观察日志记录结果。

[linuxidc@localhost www.linuxidc.com]$ journalctl --list-boots
Hint: You are currently not seeing messages from other users and the system.
      Users in the 'systemd-journal' group can see all messages. Pass -q to
      turn off this notice.
 0 dcd3dfd0f02b4f5aa756e1dd24d0d927 一 2018-10-22 20:23:30 CST—一 2018-10-22 20:
lines 1-1/1 (END)

通过Journalctl查看并操作Systemd日志

从上面我们可以清晰地看到本日内的一次引导记录。

3.观察最近一次引导过程。

[linuxidc@localhost www.linuxidc.com]$ journalctl -b 0

提示:您目前没有看到来自其他用户和系统的消息。“systemd-journal”组中的用户可以查看所有消息。 通过-q关闭此通知。

通过Journalctl查看并操作Systemd日志

4.之前/run/log/journal目录已经不存在,取而代之的是/var/log/journal目录。

三、总结

journalctl是一个非常好用的日志查看命令。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-10/154964.htm

linux
相关资讯       journalctl  Systemd日志 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款