Ubuntu 24.04 systemd-journald日志系统 journalctl 查看日志

文章目录

      • [1. journald 简介](#1. journald 简介)
      • [2. journald 日志存储位置](#2. journald 日志存储位置)
      • [3. journalctl 常见用法](#3. journalctl 常见用法)

Ubuntu 24.04 采用了现代化的日志管理体系,如果是最小化安装的话,默认只会安装 systemd-journald 日志管理。

1. journald 简介

systemd-journald 是 systemd 套件中的系统日志服务,自 Ubuntu 16.04 起逐渐成为默认日志解决方案。它替代了传统的 syslog 机制,具有以下特点:

  • 统一日志管理:收集系统内核、服务、应用程序的日志
  • 二进制格式存储:日志以 journal 格式存储在 /var/log/journal,支持高效查询
  • 丰富元数据:自动添加时间戳、PID、用户、主机等信息
  • 灵活过滤机制:通过 journalctl 命令实现精准日志筛选

2. journald 日志存储位置

  • 运行时日志:/run/log/journal(临时存储,重启丢失)
  • 持久化日志:/var/log/journal(需手动创建目录并启用)

启用持久化存储:

shell 复制代码
$ sudo mkdir -p /var/log/journal
$ sudo chown root:systemd-journal /var/log/journal
$ sudo chmod 2755 /var/log/journal
$ sudo systemctl restart systemd-journald

3. journalctl 常见用法

// 基础查询命令

shell 复制代码
$ journalctl                      # 按时间倒序显示全部日志(按 q 退出)
$ journalctl -n 50               # 显示最近 50 行日志
$ journalctl --since today       # 筛选今天 0 点至今的日志
$ journalctl --since "2025-06-10 08:00:00" --until "2025-06-10 18:00:00"   # 按时间筛选日志

// 按服务 / 进程过滤

shell 复制代码
$ journalctl -u sshd  # 查看指定服务日志(如sshd)
$ journalctl _PID=1  # 查看指定PID的日志(如PID=1)
$ journalctl _UID=1000  # UID为1000的用户
$ journalctl --user=username  # 用户名

// 按日志级别过滤

shell 复制代码
$ journalctl -p err..emerg    # 查看错误及以上级别日志
$ journalctl -p warning     # 仅查看警告日志

日志级别(从低到高):emerg(紧急)、alert(警报)、crit(严重)、err(错误)、warning(警告)、notice(通知)、info(信息)、debug(调试)

// 按照关键字搜索

shell 复制代码
$ journalctl /usr/sbin/sshd | grep error    # 搜索包含"error"的日志
$ journalctl -f "Failed password for"  # 精准搜索关键词(支持正则),实时追踪SSH登录失败日志
$ journalctl PATH=/var/log/syslog  # 搜索指定路径的日志

// 高级查询语法

shell 复制代码
$ journalctl _SYSTEMD_UNIT=sshd.service "Failed password"   # 组合条件查询(同时满足多个条件)
$ journalctl -u sshd | grep -v "Accepted"   # 排除特定内容

# 按引导会话查询(重启后会话ID重置)
$ journalctl -b  # 当前引导
$ journalctl -b -1  # 上一次引导
$ journalctl --boot=-2  # 倒数第二次引导

// 实时监控与输出

shell 复制代码
$ journalctl -f   # 实时追踪日志(类似tail -f)
$ journalctl -o json  # 输出为JSON格式
$ journalctl -o short-iso   # 输出为可读性文本
相关推荐
dodod20121 小时前
Build sandboxing disabled due to nsjail error
ubuntu
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [fs]dcache
linux·数据库·笔记·学习·ubuntu
叮咚侠7 小时前
Ubuntu 24.04.3 LTS 中 vdb 的 UUID 永久挂载没有显示的磁盘的操作步骤
linux·运维·ubuntu·挂载磁盘
HIT_Weston7 小时前
67、【Ubuntu】【Hugo】搭建私人博客(一)
前端·ubuntu·hugo
.小墨迹7 小时前
C++学习之std::move 的用法与优缺点分析
linux·开发语言·c++·学习·算法·ubuntu
风华同学7 小时前
【Linux驱动篇】LED驱动开发实验
linux·驱动开发·ubuntu
石像鬼₧魂石9 小时前
内网渗透靶场 攻击 & 排错命令分类速查表
linux·windows·学习·ubuntu
running up9 小时前
Java集合框架之ArrayList与LinkedList详解
javascript·ubuntu·typescript
AAA_bo111 小时前
liunx安装canda、python、nodejs、git,随后部署私有网页内容提取工具--JinaReader全攻略
linux·python·ubuntu·typescript·aigc·python3.11·jina
叮咚侠11 小时前
Ubuntu 24.04.3 LTS如何扩容逻辑卷
linux·数据库·ubuntu