0

0

如何查看服务日志信息 journalctl日志查询技巧

P粉602998670

P粉602998670

发布时间:2025-08-02 15:46:01

|

332人浏览过

|

来源于php中文网

原创

要高效使用 journalctl 查看服务日志,1. 使用 -u 参数查看特定服务日志,如 journalctl -u nginx.service;2. 使用 --since 和 --until 按时间范围过滤日志,如 journalctl --since "2023-10-26 00:00:00" --until "2023-10-26 12:00:00";3. 使用 -f 实时监控日志,如 journalctl -u nginx.service -f;4. 使用 -p 按优先级过滤,如 journalctl -p err;5. 使用 -k 查看内核日志,使用 \_pid= 查看指定进程日志;6. 配置 /var/log/journal 目录和 journald.conf 实现持久化存储与大小控制;7. 使用 --no-pager、--full、输出到文件等方式解决日志显示不全问题;8. 分析服务启动失败时,结合 -u、--since 和 -p 查找错误信息;9. 监控系统安全可通过 -t auditd、-u sshd.service 及结合 ps 查异常进程等方法实现。

如何查看服务日志信息 journalctl日志查询技巧

服务日志信息对于诊断问题、监控系统状态至关重要。

journalctl
是一个强大的工具,可以让你轻松地查看和分析这些日志。

如何查看服务日志信息 journalctl日志查询技巧

使用

journalctl
查看服务日志,核心在于理解它的参数和选项。掌握这些技巧,你就能快速定位问题,提高排查效率。

如何查看服务日志信息 journalctl日志查询技巧

服务日志查看:如何高效使用 journalctl?

journalctl
不仅仅是简单的日志查看器,它还能根据时间、服务、优先级等多种条件过滤日志。掌握这些技巧,能让你从海量日志中快速找到关键信息。

如何查看服务日志信息 journalctl日志查询技巧

解决方案

最基础的用法是直接输入

journalctl
,它会显示所有系统日志,但这通常信息量太大。

  • 查看特定服务的日志: 使用

    -u
    参数指定服务名称,例如
    journalctl -u nginx.service
    。这将只显示 Nginx 服务的日志。

  • 按时间过滤日志: 使用

    --since
    --until
    参数指定时间范围。例如
    journalctl --since "2023-10-26 00:00:00" --until "2023-10-26 12:00:00"
    将显示 2023年10月26日0点到12点之间的所有日志。也可以使用相对时间,如
    --since yesterday
    --since "2 hours ago"

  • 实时监控日志: 使用

    -f
    参数可以实时追踪日志,类似于
    tail -f
    。例如
    journalctl -u nginx.service -f
    会实时显示 Nginx 服务的日志。

  • 按优先级过滤日志: 使用

    -p
    参数指定优先级。优先级从低到高依次为
    debug
    ,
    info
    ,
    notice
    ,
    warning
    ,
    err
    ,
    crit
    ,
    alert
    ,
    emerg
    。例如
    journalctl -p err
    只显示错误级别的日志。

  • 查看内核日志: 使用

    -k
    参数可以查看内核日志。例如
    journalctl -k

  • 查看指定 PID 的日志: 使用

    _PID=
    参数指定进程 ID。例如
    journalctl _PID=1234

  • 持久化存储: 默认情况下,

    journalctl
    使用内存存储日志,重启后会丢失。要持久化存储日志,需要确保
    /var/log/journal
    目录存在。如果不存在,创建它并重启
    systemd-journald
    服务。

  • 日志文件大小限制:

    journalctl
    的日志文件大小可以通过
    /etc/systemd/journald.conf
    文件进行配置。常用的配置项包括
    SystemMaxUse
    (日志文件总大小) 和
    SystemKeepFree
    (系统盘保留空间)。

如何解决 journalctl 日志不显示完整的问题?

有时候,

journalctl
显示的日志可能不完整,这可能是因为日志被截断了。一个常见的原因是终端窗口太小,无法完整显示一行日志。

  • 使用

    --no-pager
    参数: 默认情况下,
    journalctl
    会使用
    less
    等分页器来显示日志。使用
    --no-pager
    参数可以禁用分页器,直接将所有日志输出到终端。这样可以避免因为分页器导致的截断问题。例如
    journalctl -u nginx.service --no-pager

  • 使用

    --full
    参数:
    --full
    参数可以强制
    journalctl
    显示完整的日志,即使日志很长。例如
    journalctl -u nginx.service --full

  • 调整终端窗口大小: 尽可能增大终端窗口,以便完整显示一行日志。

    Lessie AI
    Lessie AI

    一款定位为「People Search AI Agent」的AI搜索智能体

    下载
  • 将日志输出到文件: 将日志输出到文件,然后使用文本编辑器查看。例如

    journalctl -u nginx.service > nginx.log

  • 检查

    systemd-journald
    配置: 检查
    /etc/systemd/journald.conf
    文件,确保
    LineMax
    参数的值足够大。
    LineMax
    参数定义了单行日志的最大长度。

如何使用 journalctl 分析服务启动失败的原因?

服务启动失败通常会在日志中留下线索。

journalctl
可以帮助你快速定位这些线索。

  • 查看启动失败服务的日志: 使用

    journalctl -u .service
    命令查看启动失败服务的日志。例如
    journalctl -u nginx.service

  • 按时间过滤: 使用

    --since
    参数过滤出服务启动时间附近的日志。例如,如果 Nginx 在 10:00 启动失败,可以使用
    journalctl -u nginx.service --since "10:00 - 5 minutes" --until "10:00 + 5 minutes"
    命令查看 9:55 到 10:05 之间的日志。

  • 查找错误和警告信息: 使用

    -p err
    -p warning
    参数过滤出错误和警告级别的日志。例如
    journalctl -u nginx.service -p err

  • 关注关键错误信息: 仔细阅读日志,查找包含 "error"、"failed"、"cannot" 等关键词的错误信息。这些信息通常会指出服务启动失败的原因。

  • 检查配置文件: 仔细检查服务的配置文件,例如 Nginx 的

    nginx.conf
    文件,看看是否存在语法错误或配置问题。

  • 查看依赖服务: 检查服务是否依赖其他服务。如果依赖服务没有启动,可能会导致服务启动失败。使用

    systemctl status .service
    命令查看服务的依赖关系。

如何使用 journalctl 监控系统安全?

journalctl
也可以用于监控系统安全,及时发现潜在的安全风险。

  • 查看登录失败的日志: 使用

    journalctl -t auditd
    命令查看
    auditd
    产生的日志,
    auditd
    是 Linux 系统的一个安全审计工具。你可以通过配置
    auditd
    规则来记录登录失败事件。

  • 监控 SSH 登录: 使用

    journalctl -u sshd.service
    命令查看 SSH 服务的日志,监控是否有异常登录尝试。

  • 查找异常进程: 使用

    journalctl
    命令结合
    ps
    命令,查找异常进程。例如,你可以先使用
    ps aux
    命令列出所有进程,然后使用
    journalctl _PID=
    命令查看特定进程的日志。

  • 监控文件访问: 使用

    auditd
    监控关键文件的访问,例如
    /etc/passwd
    /etc/shadow

  • 定期分析日志: 定期使用

    journalctl
    命令分析日志,查找潜在的安全风险。可以使用脚本自动化这个过程。

记住,安全监控是一个持续的过程,需要不断学习和调整策略。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

230

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

499

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

498

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

227

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

333

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3509

2024.08.07

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

0

2026.01.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 8.9万人学习

ASP 教程
ASP 教程

共34课时 | 3.8万人学习

Python 教程
Python 教程

共137课时 | 7.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号