Linux 系统上有很多服务是使用 systemctl 来管理的,如何查看这些服务的日志信息呢?下面以 Ubuntu 18.04/CentOS 7 为例,所有命令以 root 身份运行。

journalctl

journalctl 命令是一个管理工具,能够查询 systemd 日志,同时管理、查看由内核、initrd 以及服务等产生的信息。

1
2
3
4
5
6
7
8
9
10
# 查看 jupyterhub 的日志信息, -u 表示按单元(--unit)
journalctl -u jupyterhub.service
# 查看 jupyterhub 的最新的日志信息
journalctl -u jupyterhub.service -r
# 实时的查看系统查看的最新日志信息,类似于 tail -f
journalctl -f
# 查看从凌晨到3:20的日志信息
journalctl --since "today" --until "3:20"
# 查看 journalctl 如何使用
man journalctl

日记本身是 systemd 管理的系统服务,全名为 systemd-journald.service。它会根据从内核、用户进程、标准输入和系统服务错误收到的日志记录信息,维护结构化的索引日记,并以此方式来收集和储存日志记录数据。systemd-journald 服务默认处于启用状态。

1
systemctl status systemd-journald.service

systemctl

有时也可以利用 systemctl 简单的查看最新几条信息

1
systemctl status jupyterhub.service -l

参考链接

  1. 如何使用Journalctl查看并操作Systemd日志
  2. 15 journalctl:查询 systemd 日记