Linux journalctl命令
在Systemd出现之前,Linux系统及各应用的日志都是分别管理的,Systemd开始统一管理了所有Unit的启动日志,这样带来的好处就是可以只用一个 journalctl命令,查看所有内核和应用的日志。
1. 基础用法
1.1 查看所有日志(默认显示本次启动的所有日志)
[root@devops- ~]# journalctl
查看本次启动的所有日志也可以使用
[root@devops- ~]# journalctl -b
1.2 查看内核日志
[root@devops- ~]# journalctl -k
1.3 查看指定时间的日志
通过--since和--until选项,可以过滤任意时间限制,显示指定条件之前、之后或之间的日志。
[root@devops- ~]# journalctl --since="2018-09-21 10:21:00"
查询一个时间段范围内的日志。
[root@devops- ~]# journalctl --since="2018-09-21 10:21:00" --until="2018-09-21 10:22:00"
1.4 根据不同的主题进行过滤筛选
根据服务筛选
[root@devops- ~]# journalctl -u kubelet.service
[root@devops- ~]# journalctl -u kubelet
根据进程ID查询
如果进程使用了systemd托管日志,则可以通过以下命令查找进程对应的日志。
[root@devops- ~]# journalctl _PID=
Systemd journal 有很多可以用来过滤的字段,可以通过
man systemd.journal-fields查看所有可以用来过滤的字段。对于用来筛选的字段,可以使用-F参数来查看所有可以用来过滤的值,例如journalctl -F _PID。
按优先级
操作系统提供了从0 (emerg) 到 7 (debug) 一共7个级别的日志,可以配合-p参数分别查看对应级别的日志。
[root@devops- ~]# journalctl -p -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格式输出
[root@devops- ~]# journalctl -p --no-pager -o json
通过-o参数,可以设置为json格式输出,这对于其他接收json格式的日志分析工具非常友好。
[root@devops- ~]# journalctl -p --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 查看日志占用的磁盘空间
[root@devops- ~]# journalctl --disk-usage
Archived and active journals take up 8.0M on disk.
2.2 设置日志占用的空间
root@devops- ~]# journalctl --vacuum-size=500M
Vacuuming done, freed 0B of archived journals on disk.
2.3 设置日志保存的时间
[root@devops- ~]# 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
来自:https://www.cnblogs.com/cocowool/p/systemd_journal_log.html
参考资料:
Linux journalctl命令的更多相关文章
- linux journalctl 命令
目录 Help 输出所有的日志记录 匹配(match) 把日志保存到文件中 限定日志所能占用的最高容量 查看某次启动后的日志 查看指定时间段的日志 同时应用 match 和时间过滤条件 按 unit ...
- linux grep命令
linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...
- Linux常用命令(一)
Linux常用命令 1. pwd查看当前路径(Print Working Directory) [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...
- Linux下命令行安装weblogic10.3.6
Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...
- Linux paste命令
Linux paste命令用于合并文件的列. paste指令会把每个文件以列对列的方式,一列列地加以合并. 语法 paste [-s][-d <间隔字符>][--help][--versi ...
- 20145222《信息安全系统设计基础》Linux常用命令汇总
学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...
- Linux sudo 命令的应用
.note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...
- linux 基础命令与文件管理
Linux终端介绍 Shell提示符 Bash Shell基本语法 基本命令的使用:ls.pwd.cd 查看系统和BIOS硬件时间 Linux如何获得帮助 Linux关机命令:shutdow.in ...
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
随机推荐
- Promise (1) 如何使用Promise
Promise 也是面试高频问题, 今天我们来看看Promise是什么, 能做什么, 怎么用, 下一期我们自己来模拟一个myPromise 1 Promise 是什么 我们要学会自己给自己提问, 才 ...
- samba 基本配置及自定义控制
Samba简介: Samba实现的是Linux和Windows之间的一种共享,为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,共享文件系统.打印机及其他资 ...
- 你真的了解ASP.NET Core 部署模型吗?
---------------------------- 以下内容针对 ASP.NET Core2.1,2.2出现IIS进程内寄宿 暂不展开讨论-------------------------- ...
- spring boot sharding-jdbc实现分佈式读写分离和分库分表的实现
分布式读写分离和分库分表采用sharding-jdbc实现. sharding-jdbc是当当网推出的一款读写分离实现插件,其他的还有mycat,或者纯粹的Aop代码控制实现. 接下面用spring ...
- C#语言介绍
C#(读作“See Sharp”)是一种简单易用的新式编程语言,不仅面向对象,还类型安全. C# 源于 C 语言系列,C.C++.Java 和 JavaScript 程序员很快就可以上手使用. C# ...
- 解决Dynamics 365使用JS调用Web API时报no property value was found in the payload 错误。
摘要: 微软动态CRM专家罗勇 ,回复323或者20190421可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 碰到如下报错: message: "An er ...
- sql server replace的替换字符,replace的使用
sql server replace的替换字符,replace的使用 select REPLACE(name,'张','') * from entity_5c7a578c05c7042958d9148 ...
- win7下建立超级隐藏账户
win7下建立超级隐藏账户 实验目的: 隐藏用户,不让管理员简单的发现 隐藏方法: 1.命令提示符中创建隐藏账户这种方法只能将账户在"命令提示符"中进行隐藏,而对于"计算 ...
- Windows提示 错误: RPC 服务器不可用 解决方法。
试验环境: 本地主机:win10 ip:192.168.0.10 远程主机: win2008 R2 ip:192.168.1.128 我想要通过systeminfo去获取远程主机的系统信息,但是 ...
- 使用Chrome 中的 ssh 插件登陆 linux 服务器
. 在chrome 商店中搜索 secure shell , 安装 Secure Shell Extension 2. 安装完成后,就可以在应用程式中找到Secure Shell App 3.点击 S ...