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   # 输出为可读性文本
相关推荐
千河殇 多想和她12 小时前
如何在Reaonix中使用CodeGraph以及CodeGraph效果实测经验分享
linux·运维·ubuntu
诸葛老刘14 小时前
Ubuntu 服务器常用运维命令
运维·服务器·ubuntu
阡陌..1 天前
Ubuntu 22.04 离线环境完全配置指南:从 GCC 到 NVIDIA 驱动再到 Samba 共享
linux·运维·ubuntu
feasibility.1 天前
wsl安装Ubuntu方法(含网络不稳定处理)
linux·运维·windows·ubuntu
程序员允诺1 天前
Ubuntu 安装 Docker CE 和 Docker Compose 最新教程(2026)
ubuntu·docker·eureka
风华同学2 天前
【环境搭建篇】VMware Fusion虚拟机安装Ubuntu 26.04
linux·运维·ubuntu
半句唐诗2 天前
Ubuntu 更新 JS 环境记录
linux·javascript·ubuntu
晚风吹长发2 天前
Docker基础——Docker Network(网络详解)
linux·运维·网络·ubuntu·docker·容器
Sisphusssss2 天前
香橙派5plus GPIO
linux·python·ubuntu
半句唐诗3 天前
Ubuntu 离线安装 OpenSpec CLI、CodeGraph CLI 与相关工具实战笔记
ubuntu·arcgis