下载linux系统基本都是用systemd启动系统并管理进程
journalctl可以查看所有的系统日志文件,由于日志信息量很大,journalctl还提供了各种参数帮助用户更快速的定位到日志信息
默认情况下,用户都可以访问自己的日志。对于系统主日志和其他用户的日志,仅限于有权限的用户访问,比如root用户,wheel组和systemd组的用户
下面我们来看看journalctl命令的用法
01.journalctl #用来查看所有日志,默认显示本次启动的所有日志02.journalctl -r #-r参数表示反序输出,从新到旧,默认是从旧到新03.journalctl -k #查看内核日志04.journalctl -f #跟踪日志文件,会实时输出最新日志05.journalctl -n 数字 #指定输出显示的大小
限制指定时间内的事件日志
01.journalctl --since 1 hour ago
查看1小时前到现在的日志,除了这样可以直接使用"yesterday"、"today"、"tomorrow"或"now"
01.journalctl --since yesterday
查看昨天的日志
01.journalctl --since "2022-07-28 10:00:00" --until "2022-07-29 10:00:00"
查看昨天10点到今天10点的日志
01.journalctl -u kubelet
查看kubelet服务的日志
01.journalctl _PID=1
根据进程ID查询
默认情况,journal输出进入分页模式,用户可以在终端上调整显示的内容,如果要不需要分页,需要加上--no-pager参数
以Json格式输出
通过-o参数,可以设置为json格式输出,这对于其他接收json格式的日志分析工具非常友好
01.journalctl -p 5 --no-pager -o json
使用json-pretty则对于管理员查看日志非常易读
01.journalctl -p 5 --no-pager -o json-pretty
支持的各种格式如下:
01.cat: 只显示信息字段本身。02.export: 适合传输或备份的二进制格式。03.json: 标准JSON,每行一个条目。04.json-pretty: JSON格式,适合人类阅读习惯。05.json-sse: JSON格式,经过打包以兼容server-sent事件。06.short: 默认syslog类输出格式。07.short-iso: 默认格式,强调显示ISO 8601挂钟时间戳。08.short-monotonic: 默认格式,提供普通时间戳。09.short-precise: 默认格式,提供微秒级精度。10.verbose: 显示该条目的全部可用journal字段,包括通常被内部隐藏的字段
journalctl其它功能
查看日志占用的磁盘空间
01.journalctl --disk-usage02.Archived and active journals take up 2.8G in the file system.
设置日志占用的空间
01.journalctl --vacuum-size=500M
设置日志保存时间
01.journalctl --vacuum-time=1month
journalctl清空删除日志
由于Linux是一个非常敏感的操作系统,若删除文件错误,很容易造成系统崩溃。
所以,清理journalctl日志的方法,请按日期、允许保留的容量进行删除。
01.journalctl --vacuum-time=2d02.journalctl --vacuum-size=500M
其他日志命令
01.tail /var/log/messages //系统主日志文件02.tail -20 /var/log/messages //查看20行日志文件03.tail -f /var/log/messages //动态查看日志文件的尾部04.tail /var/log/secure //认证、安全05.tail /var/log/maillog //跟邮件postfix相关06.tail /var/log/cron //crond、at进程产生的日志07.tail /var/log/dmesg //和系统启动相关08.tail /var/log/audit/audit.log //系统审计日志09.tail /var/log/yum.log //查看yum日志10.tail /var/log/mysqld.log //查看MySQL日志11.tail /var/log/xferlog //和访问FTP服务器相关12.w /var/log/wtmp //当前登录的用户(命令:w)13.last /var/log/btmp //最近登录的用户(命令last)14.lastlog /var/log/lastlog //所有用户的登录情况(命令lastlog)
最后是journalctl命令帮助文档
01.journalctl [选项...] [匹配项...]02. 03.查询日志。04. 05.选项:06. --system 显示系统日志07. --user 显示当前用户的用户日志08. -M --machine=CONTAINER 对本地容器进行操作09. -S --since=DATE 显示不早于指定日期的条目10. -U --until=DATE 显示不晚于指定日期的条目11. -c --cursor=CURSOR 从指定的游标开始显示条目12. --after-cursor=CURSOR 显示指定游标之后的条目13. --show-cursor 在所有条目后打印游标14. --cursor-file=FILE 显示文件中游标后的条目并更新文件15. -b --boot[=ID] 显示当前启动或指定的启动16. --list-boots 显示有关记录启动的简洁信息17. -k --dmesg 显示当前启动的内核消息日志18. -u --unit=UNIT 显示指定单元的日志19. --user-unit=UNIT 显示指定用户单元的日志20. -t --identifier=STRING 显示具有指定syslog标识符的条目21. -p --priority=RANGE 显示具有指定优先级的条目22. --facility=FACILITY... 显示具有指定设施的条目23. -g --grep=PATTERN 显示与PATTERN匹配的MESSAGE的条目24. --case-sensitive[=BOOL] 强制进行大小写敏感或不敏感的匹配25. -e --pager-end 在分页器中立即跳到末尾26. -f --follow 跟踪日志27. -n --lines[=INTEGER] 要显示的日志条目数量28. --no-tail 即使在跟踪模式下也显示所有行29. -r --reverse 先显示最新的条目30. -o --output=STRING 改变日志输出模式 (short, short-precise,31. short-iso, short-iso-precise, short-full,32. short-monotonic, short-unix, verbose, export,33. json, json-pretty, json-sse, json-seq, cat,34. with-unit)35. --output-fields=LIST 在verbose/export/json模式下选择要打印的字段36. --utc 以协调世界时(UTC)表示时间37. -x --catalog 在可用的地方添加消息解释38. --no-full 缩略字段39. -a --all 显示所有字段,包括长和不可打印的40. -q --quiet 不显示信息消息和权限警告41. --no-pager 不将输出管道输出到分页器42. --no-hostname 抑制主机名字段的输出43. -m --merge 显示所有可用日志的条目44. -D --directory=PATH 显示来自目录的日志文件45. --file=PATH 显示日志文件46. --root=ROOT 在根目录下操作文件47. --namespace=NAMESPACE 显示指定命名空间的日志数据48. --interval=TIME 更改FSS密封键的时间间隔49. --verify-key=KEY 指定FSS验证键50. --force 使用--setup-keys覆盖FSS密钥对51.命令:52. -h --help 显示此帮助文本53. --version 显示包版本54. -N --fields 列出当前使用的所有字段名称55. -F --field=FIELD 列出指定字段采取的所有值56. --disk-usage 显示所有日志文件的总磁盘使用量57. --vacuum-size=BYTES 将磁盘使用量减少到指定大小以下58. --vacuum-files=INT 只保留指定数量的日志文件59. --vacuum-time=TIME 删除早于指定时间的日志文件60. --verify 验证日志文件的一致性61. --sync 将未写入的日志消息同步到磁盘62. --relinquish-var 停止记录到磁盘,记录到临时文件系统63. --smart-relinquish-var 类似,但如果日志目录在根挂载上,则无操作64. --flush 将所有日志数据从 /run 刷新到 /var65. --rotate 请求立即旋转日志文件66. --header 显示日志头信息67. --list-catalog 在目录中显示所有消息ID68. --dump-catalog 显示消息目录中的条目69. --update-catalog 更新消息目录数据库70. --setup-keys 生成新的FSS密钥对
- 标签
- linux
- journalctl
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://sulao.cn/post/866
评论列表