Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Linux系统管理员应该知道的journalctl知识

Linux系统管理员应该知道的journalctl知识

作者头像
大江小浪
发布于 2018-10-10 02:41:34
发布于 2018-10-10 02:41:34
1.6K00
代码可运行
举报
文章被收录于专栏:小狼的世界小狼的世界
运行总次数:0
代码可运行

在Systemd出现之前,Linux系统及各应用的日志都是分别管理的,Systemd开始统一管理了所有Unit的启动日志,这样带来的好处就是可以只用一个 journalctl命令,查看所有内核和应用的日志。

1. 基础用法

1.1 查看所有日志(默认显示本次启动的所有日志)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@devops-101 ~]# journalctl

查看本次启动的所有日志也可以使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@devops-101 ~]# journalctl -b

1.2 查看内核日志

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@devops-101 ~]# journalctl -k

1.3 查看指定时间的日志

通过--since和--until选项,可以过滤任意时间限制,显示指定条件之前、之后或之间的日志。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@devops-101 ~]# journalctl --since="2018-09-21 10:21:00"

查询一个时间段范围内的日志。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@devops-101 ~]# journalctl --since="2018-09-21 10:21:00" --until="2018-09-21 10:22:00"

1.4 根据不同的主题进行过滤筛选

根据服务筛选

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@devops-101 ~]# journalctl -u kubelet.service
[root@devops-101 ~]# journalctl -u kubelet

根据进程ID查询 如果进程使用了systemd托管日志,则可以通过以下命令查找进程对应的日志。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@devops-101 ~]# journalctl _PID=1

Systemd journal 有很多可以用来过滤的字段,可以通过 man systemd.journal-fields 查看所有可以用来过滤的字段。对于用来筛选的字段,可以使用-F参数来查看所有可以用来过滤的值,例如journalctl -F _PID

按优先级 操作系统提供了从0 (emerg) 到 7 (debug) 一共7个级别的日志,可以配合-p参数分别查看对应级别的日志。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@devops-101 ~]# journalctl -p 5 -u kubelet

7个级别的含义为

  • 0: emerg
  • 1: alert
  • 2: crit
  • 3: err
  • 4: warning
  • 5: notice
  • 6: info
  • 7: debug

1.5 调整显示输出

默认情况,journal输出进入分页模式,用户可以在终端上调整显示的内容,如果要不需要分页,需要加上--no-pager参数。

Json格式输出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@devops-101 ~]# journalctl -p 5 --no-pager -o json

通过-o参数,可以设置为json格式输出,这对于其他接收json格式的日志分析工具非常友好。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@devops-101 ~]# journalctl -p 5 --no-pager -o json-pretty

使用json-pretty则对于管理员查看日志非常易读。

支持的各种格式如下:

  • cat: 只显示信息字段本身。
  • export: 适合传输或备份的二进制格式。
  • json: 标准JSON,每行一个条目。
  • json-pretty: JSON格式,适合人类阅读习惯。
  • json-sse: JSON格式,经过打包以兼容server-sent事件。
  • short: 默认syslog类输出格式。
  • short-iso: 默认格式,强调显示ISO 8601挂钟时间戳。
  • short-monotonic: 默认格式,提供普通时间戳。
  • short-precise: 默认格式,提供微秒级精度。
  • verbose: 显示该条目的全部可用journal字段,包括通常被内部隐藏的字段。

1.6 活动日志跟踪

journalctl也支持类似tail的功能,如通过-n参数指定显示最近的多少行,默认为10行,通过-f参数持续监控日志输出。

2. 维护

2.1 查看日志占用的磁盘空间

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@devops-101 ~]# journalctl --disk-usage
Archived and active journals take up 8.0M on disk.

2.2 设置日志占用的空间

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@devops-101 ~]# journalctl --vacuum-size=500M
Vacuuming done, freed 0B of archived journals on disk.

2.3 设置日志保存的时间

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@devops-101 ~]# journalctl --vacuum-time=1month
Vacuuming done, freed 0B of archived journals on disk.

3. 配置

上面的一些维护动作,也可以通过配置参数设置,配置文件位于/etc/systemd/journald.conf

  • Storage=persistent
  • Compress=yes
  • Seal=yes
  • SplitMode=uid
  • SyncIntervalSec=5m
  • RateLimitInterval=30s
  • RateLimitBurst=1000
  • SystemMaxUse=
  • SystemKeepFree=
  • SystemMaxFileSize=
  • RuntimeMaxUse=
  • RuntimeKeepFree=
  • RuntimeMaxFileSize=
  • MaxRetentionSec=
  • MaxFileSec=1month
  • ForwardToSyslog=yes
  • ForwardToKMsg=no
  • ForwardToConsole=no
  • ForwardToWall=yes
  • TTYPath=/dev/console
  • MaxLevelStore=debug
  • MaxLevelSyslog=debug
  • MaxLevelKMsg=notice
  • MaxLevelConsole=info
  • MaxLevelWall=emerg

参考资料:

  1. journal详细介绍
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
journalctl基本介绍
通过--since和--until选项,可以过滤任意时间限制,显示指定条件之前、之后或之间的日志
全栈程序员站长
2022/08/25
7780
Linux日志管理工具 journalctl「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142590.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
9280
揭秘Linux日志分析利器 - 全面透析journalctl
journalctl是一个功能强大的命令行工具,用于查看和管理系统日志,可以深入了解系统的运行状况、故障信息和关键事件。它也是systemd日志记录器(systemd-journald)的一部分,systemd-journald是systemd守护进程的一个组件,负责收集、存储和检索系统日志,甚至可以将journalctl的日志上报给ELK。
RokasYang
2023/05/29
5.9K3
揭秘Linux日志分析利器 - 全面透析journalctl
journalctl工具基础介绍
在您的服务器上启用了保存以前的引导时,journalctl提供了一些命令来帮助您将引导作为分割单位来使用。要查看journald知道的引导,请使用以下–list-boots选项journalctl:
全栈程序员站长
2022/08/25
6140
如何使用Journalctl查看并操作Systemd日志
作为最具吸引力的优势,systemd拥有强大的处理与系统日志记录功能。在使用其它工具时,日志往往被分散在整套系统当中,由不同的守护进程及进程负责处理,这意味着我们很难跨越多种应用程序对其内容进行解读。
全栈程序员站长
2022/08/31
2.2K0
深入理解journalctl日志分析利器:生产级别十大用法总结及实践
上一篇对于journalctl的扫盲篇幅过于冗长,对每个参数基本都细致入微讲解剖析,更像是一本厚重的“工具书”。生产上很少用到其中的大部分参数,所以也被催更对journalctl的一些常见用法和使用场景进行汇总,承蒙呼声之高,权当对前文的延续和回应。无论你是初学者还是经验丰富的技术专家,本文都将为你提供有价值的信息和见解。
RokasYang
2023/06/12
6.8K4
深入理解journalctl日志分析利器:生产级别十大用法总结及实践
linux journalctl使用详解[通俗易懂]
​ journalctl 用来查询 systemd-journald 服务收集到的日志。systemd-journald 服务是 systemd init 系统提供的收集系统日志的服务。journalctl通常用来查询systemd管理的Unit的日志信息。
全栈程序员站长
2022/08/31
9630
linux journalctl使用详解[通俗易懂]
journalctl日志管理
Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件是/etc/systemd/journald.conf。
全栈程序员站长
2022/08/31
3440
journalctl用法详解
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142159.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
1.1K0
Linux基础:systemctl和journalctl常用命令「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142324.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
1.6K0
Linux 系统 /var/log/journal/ 垃圾日志清理
版权声明:本文为米扑博客原创文章,未经米扑博客允许不得转载。 https://blog.csdn.net/sunboy_2050/article/details/89530790
阳光岛主
2019/05/10
15.9K0
journalctl命令
journalctl命令是Systemd日志系统的一个命令,主要用途是用来查看通过Systemd日志系统记录的日志,在Systemd出现之前,Linux系统及各应用的日志都是分别管理的,Systemd取代了initd之后便开始统一管理了所有Unit的启动日志,可以只用一个journalctl命令,查看所有内核和应用的日志。
WindRunnerMax
2021/02/25
3.7K0
linux系统日志管理详解
日志文件记录了时间,地点,人物,事件四大信息,故系统出现故障时,可以查询日志文件。 系统的日志文件默认都集中放置到/var/log/目录内,其中又以message记录的信息最多。 日志文件的重要性主要体现在以下三方面:
咻一咻
2020/05/29
8.6K0
systemd服务管理详解与子命令一览
描述:系统启动和服务器守护进程管理器,负责在系统启动或运行时激活系统资源,并且管理服务器进程和其它进程,可以说他是Linux的小伙伴系统启动时候最先都是运行的systemd;
全栈工程师修炼指南
2022/09/28
2.1K0
systemd服务管理详解与子命令一览
linux基础命令介绍十五:推陈出新
本文介绍ip、ss、journalctl和firewall-cmd,它们旨在代替linux中原有的一些命令或服务。
用户5030870
2019/04/11
1.4K0
Systemd管理服务
Systemd 是一系列工具的集合,其作用也远远不仅是启动操作系统,它还接管了后台服务、结束、状态查询,以及日志归档、设备管理、电源管理、定时任务等许多职责,并支持通过特定事件(如插入特定 USB 设备)和特定端口数据触发的 On-demand(按需)任务。
mikelLam
2022/08/15
6770
journalctl命令-系统调试中一个常用的命令
centos7开始j系统使用2个日志服务用于系统日志,一个服务是systemd-journald,这个服务把日志存放到内存中。另一个服务是rsyslogd,它可以从systemd-journald获取日志并把日志存放在磁盘上。journalctl命令主要开始承担了查看日志还有一些日志的配置功能,经常需要用到这个命名去查看日志和设置日志的一些参数。借用他山之石(系统centos7,腾讯云cvm,故日志中会有qcloud ntp还有云监控agent的一些log)总结一下:
对你无可奈何
2021/02/05
3.6K0
systemd的作用
早上群上讨论了一下systemd的作用,还导致了一个人的直接退群,出于求知心理,搜索了一些systemd,对此也作出了一些相应的整理; 一、systemd的诞生: 学习嵌入式bootloader与kernel衔接的时候,就入门了init进程;init进程也就是系统的第一个进程,PID号为1; init进程总所周知的问题是从它开始启动,并从下一个程序开始,都是以一个进程启动另一个进程的方式来进行;这样做的显而易见的缺点就是执行速度慢,没有一整套的系统来管理,并且/ect/目录下的随便一个脚本简直长的发指;关机
233333
2018/03/29
1.8K0
journalctl 日志分析工具
journalctl 是一个用于查询和显示从systemd 日志管理系统(systemd-journald 服务)收集的日志的工具。journalctl 内置了日志旋转功能(logrotate)同时具备丰富的过滤能力,可以查看所有systemd 服务单元的日志,帮助用户快速的定位日志信息。
Kevin song
2024/02/22
2920
journalctl 日志分析工具
可能是史上最全面易懂的 Systemd 服务管理教程!( 强烈建议收藏 )
Systemd 是一系列工具的集合,其作用也远远不仅是启动操作系统,它还接管了后台服务、结束、状态查询,以及日志归档、设备管理、电源管理、定时任务等许多职责,并支持通过特定事件(如插入特定 USB 设备)和特定端口数据触发的 On-demand(按需)任务。
iMike
2019/09/29
70.5K0
可能是史上最全面易懂的 Systemd 服务管理教程!( 强烈建议收藏 )
相关推荐
journalctl基本介绍
更多 >
LV.2
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验