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   # 输出为可读性文本
相关推荐
QMCY_jason几秒前
Ubuntu 1804 编译ffmpeg qsv MediaSDK libva 遇到的问题记录
linux·ubuntu·ffmpeg
站住前面的二哈11 小时前
Cartographer安装测试与模块开发(三)--Cartographer在Gazebo仿真环境下的建图以及建图与定位阶段问题(实车也可参考)
学习·ubuntu
Vesan,11 小时前
【Linux/Ubuntu】VIM指令大全
linux·ubuntu·vim
饭来_16 小时前
Ubuntu 环境下创建并启动一个 MediaMTX 的 systemd 服务
ubuntu
努力一点94819 小时前
linux系统底层逻辑 开机顺序 ubuntu22.04系统
linux·运维·服务器·ubuntu·ai·gpu算力
Tipriest_1 天前
ubuntu 多网络路由优先级问题
网络·ubuntu·路由·多网络
Gene_20221 天前
Ubuntu 22.04 使用 Issac Gym 进行人形强化学习训练
linux·运维·ubuntu
饭来_2 天前
Python 使用环境下编译 FFmpeg 及 PyAV 源码(英特尔篇)
python·ubuntu·ffmpeg·conda
mzak2 天前
ubuntu24.04安装CUDA和VLLM
人工智能·ubuntu
lxmyzzs2 天前
【已解决】 GStreamer找不到编码器
ubuntu·bug·视频编解码