journalctl

By | 2022年9月17日

centos7上专有的日志管理工具,该工具是从message这个文件里读取信息。Systemd统一管理所有Unit的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件是/etc/systemd/journald.conf

使用 journalctl 命令来排查k8s pod 重启有时很有用。一次客户现场精力 storm supervisor 容器一直会重启,但 worker.log 日志没有明显错误日志,最后就是通过 journalctl 发现的问题:no observation found for eviction signal allocatableMemory.available
这个问题主要是在进行策略命中计算时,调用了同事的命中算法,虽有缓存机制,但第一次触发是没有的。由于流量又特别大,且又是不同的策略发过来的,导致每条策略的计算都是第一次,所以都没缓存,就这样一下子爆掉了。

常用命令

# 通过重定向输出符,将日志保存到当前目录的 mylog.txt
journalctl > mylog.txt

# 实时滚动显示最新日志
journalctl -f

# 显示尾部最新10行日志
journalctl -n
# 显示尾部最新20行日志
journalctl -n 20

发表回复

您的电子邮箱地址不会被公开。