首页/系统/Linux 运维命令速查/journal 结构化输出与 jq 分析
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条
日志与排查40 条
systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

journal 结构化输出与 jq 分析

journalctl -o json 把每条日志变成结构化对象:字段筛选、统计、导出给分析脚本;比逐行 grep 强大得多。

Linux 运维命令速查系统更新于 2026-10-12
用途结构化查询与统计 journal
语法journalctl -o json [--output-fields=…]
工具jq / python)

常用示例

常用示例
# 只看需要的字段
journalctl -u nginx -o json --output-fields=_PID,SYSLOG_IDENTIFIER,MESSAGE -n 5 | jq -c .

# 统计某 unit 各优先级条数
journalctl -u myapp -o json --since today | jq -r '._PRIORITY' | sort | uniq -c

# 按错误文本过滤(含 json 转义处理)
journalctl -u myapp -o json --since '1 hour ago' | jq -r 'select(.MESSAGE | test("timeout")) | .MESSAGE'
jq 不在最小化系统里时先用 -o json-pretty 人肉看,或导出到本地分析。

易错点

  • json 输出体量远大于短格式:仅在需要的窗口抓取,避免全量导到大文件
  • 字段名大小写与下划线固定(_PID、_SYSTEMD_UNIT),记错字段 jq 结果为空但不报错

数据来源与参考

  • man 1 journalctl(-o json)
  • jq 官方手册

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌