主页

索引

模块索引

搜索页面

journalctl命令

备注

systemd 尝试提供一套集中化管理方案,从而统一打理全部内核及用户级进程的日志信息。这套系统能够收集并管理日志内容,而这也就是我们所熟知的 journal。

相关目录:

/etc/systemd/journald.conf
/var/log/journal

按信息类型过滤

按单元:

$ journalctl -u nginx.service
$ journalctl -u nginx.service --since today
$ journalctl -u nginx.service -u php-fpm.service --since today

按进程、用户或者群组 ID:

$ journalctl _PID=8088
$ journalctl _UID=33 --since today

帮助:
man systemd.journal-fields

查看 systemd journal 拥有条目的群组 ID
$ journalctl -F _GID

按组件路径:

$ journalctl /usr/bin/bash

显示内核信息:

$ journalctl -k
$ journalctl -k -b -5

按优先级:

$ journalctl -p err -b

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

实战:

// 查看最新的100行并继续跟踪查看
$ journalctl --lines=100 --follow --unit bee

// 早 9:00 到一小时前这段时间内的报告
$ journalctl --since 09:00 --until "1 hour ago"

修改 journal 显示内容

截断或者扩大输出结果:

截断输出内容,向其中插入省略号以代表被移除的信息:
$ journalctl --no-full
Feb 04 20:54:13 journalme sshd[937]: Failed password for root from 83.234.207.60...
Feb 04 20:54:13 journalme sshd[937]: Connection closed by 83.234.207.60 [preauth]

无论其是否包含不可输出的字符,显示全部信息:
journalctl -a

标准输出结果:

根据需要被重新定向至磁盘上的文件或者处理工具
$ journalclt --no-pager

输出格式:

$ journalctl -b -u nginx -o json

$ journalctl -b -u nginx -o json-pretty

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

活动进程监控

显示近期日志:

journalctl -n       // 默认是10
journalctl -n 20

主页

索引

模块索引

搜索页面