拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 在 Linux 上使用 Journalctl 读取系统日志

在 Linux 上使用 Journalctl 读取系统日志

白鹭 - 2022-01-19 2018 0 0

多年来,系统日志和内核日志一直由名为 syslogd 的实用程序处理。大多数基于 Linux 的操作系统已经切换到 systemd,它带有一个名为 journald 的不同守护程序日志。要与这些日志交互,请使用 journalctl 实用程序。

如何在 Linux 上使用 Journalctl

  1. 授权用户读取系统日志
  2. 检查期刊的连续性
  3. 选择是否启动条目日志
  4. 在系统日志中导航和搜索
  5. 按优先级过滤日志条目
  6. 根据处理可执行文件或 Systemd 单元的路径过滤日志条目

授权用户读取系统日志

只有 'adm''systemd-journal' 的用户可以阅读 systemd 日志。像 Ubuntu 这样的发行版允许用户添加到 adm 组。

打开终端模拟器并输入以下命令:

  

Linux上使用Journalctl读取系统日志图1

如果您在输出中看到 'adm''systemd-journal',您可以跳过剩下的步骤本节。如果没有,请将自己添加到 'adm'

 sudo adduser $USER adm 

您必须重新启动登录会话才能使这些更改生效(注销并登录)。如果由于各种原因无法进行,请使用此命令登录新组,而无需重新启动图形会话:

 newgrp adm 

不要关闭终端窗口。您现在在当前终端会话中的 adm 组中,但不在图形会话中。如果此时打开新终端,将无法再登录 adm 组。

检查日志连续性

系统日志记录可以连续记录,也可以间歇记录。在 Ubuntu 和其他发行版上,默认情况下,它们将继续。在 Debian 9 上,日志不是连续记录的,这意味着它们只存储在内存中(而不是驱动器),并在用户关闭或重新启动时消失。请输入以下命令:

 journalctl--list-boots 

Linux上使用Journalctl读取系统日志图2

如果这里有多个条目,那么你不需要做任何其他事情。这意味着日志保存在驱动器上(连续)。如果您只获得一个条目,则不会连续记录日志。请将其更改为连续录制。

 sudo sed-i '/Storage/cStorage=persistent'/etc/systemd/journald.conf 

选择查看启动项日志

通常,您会希望查看当前启动时间的日志。有时您想查看有关上次引导的信息,例如发生系统问题之后。但这并不经常发生。

查看当前开机时间的日志:

 journalctl-b 0 

Linux上使用Journalctl读取系统日志图3

对于上一次启动,使用 '-1' 而不是 '0', 或者给两次上一次启动 '-2',

 journalctl-b-1 

在系统日志中导航和搜索

使用 journalctl 打开日志后,您可以使用箭头键和 PAGE UPPAGE DOWN 其他有用的键是:

  1. > 转到输出的末尾。
  2. < 转到输出的开头。
  3. / 搜索文本字符串。船尾按斜杠键,输入所需的字符串,然后按 Enter。 此字符串区分大小写,因此 'network' 将不同于 'Network'. 搜索从当前查看位置开始向下。要向上搜索,请使用?
  4. n 在当前搜索操作中查找下一个匹配项。 N 查找以前的匹配项。
  5. q 退出 journalctl 实用程序。

Linux上使用Journalctl读取系统日志图4

按优先级过滤日志条目

有时您只想搜索错误,忽略注释和状态消息。每个日志条目都有不同的优先级:emergency、alert、critical、error、warning、notice、info(紧急、重要通知、重要、错误、警告、通知、信息)。它们按重要性顺序列出。 Emergency 状态(紧急)是为最坏的情况保留的(系统将不再工作)。 信息消息只是信息性文本,报告正常运行程序的状态。

要仅显示当前启动的错误消息,请输入:

 journalctl-b 0-p err 

Linux上使用Journalctl读取系统日志图5

如果您想查看所有启动时间的错误,只需删除参数'-b':

 journalctl-p err 

这些是你可以传递给'-p'参数的代码:

  1. 提醒
  2. 暴击
  3. 调试
  4. 出现
  5. 错误
  6. 信息
  7. 通知
  8. cảnh báo

根据路径过滤日志条目以处理可执行文件或Systemd单元

一些进程由systemd单元启动和管理。要查看与 cron 服务单元相关的所有记录,请输入:

 journalctl-u cron.service 

可以使用命令查看可用单位:

 systemctl list-dependencies 

Linux上使用Journalctl读取系统日志图6

您可以使用向上和向下箭头键浏览列表。按 q 退出。

如果要使用程序可执行文件(二进制文件)的路径,只需将其完整路径作为参数传递即可。

 journalctl/usr/sbin/cron 

别忘了,你还可以按当前启动项过滤,去除不必要的通知。

 journalctl-b 0/usr/sbin/cron 

Journalctl 旨在帮助您轻松找到所需内容。希望您会觉得以上信息很有用。祝你好运!

查看更多:

  1. Unix/Linux 系统登录
  2. Unix/Linux 中的基本文件系统
  3. 使用命令行管理事件日志
标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *