Linux 日志管理:journald、rsyslog 与 logrotate

「服务挂了但日志没有」、磁盘被日志写满、容器里找不到 journal,根因通常是 存储后端、持久化目录、速率限制与轮转策略 没对齐。

源码锚点

路径 / 手册 作用
man journalctl 查询 journal
man journald.conf 持久化、大小上限
/etc/systemd/journald.conf 主配置
man rsyslogd 传统 syslog
man logrotate 文本日志轮转

调用链

渲染错误: Mermaid 渲染失败: Lexical error on line 5. Unrecognized text. ...--> E/var/log/\*.log E --> F[logrot -----------------------^

重点知识

持久化

bash 复制代码
# /var/log/journal 存在且 Storage=persistent 时重启可查
mkdir -p /var/log/journal
systemctl restart systemd-journald
journalctl --disk-usage

SystemMaxUse= / RuntimeMaxUse= 防止日志吃光盘。

常用查询

bash 复制代码
journalctl -u nginx -b --no-pager
journalctl -p err..alert --since "1 hour ago"
journalctl -k -b   # 内核环缓
journalctl -f -u myapp

与 rsyslog

不少发行版 journald 仍转发到 rsyslog,文本文件继续给老脚本用。改一处前先确认应用写的是 journal、syslog 还是自己的文件。

logrotate

bash 复制代码
cat /etc/logrotate.d/*
logrotate -d /etc/logrotate.conf   # 演练

关注 daily/weekly、rotate、compress、copytruncate vs create。

嵌入式

只读根把 journal 指到可写分区;必要时 Storage=volatile 保寿命,关关键故障抓 /tmp 环形缓冲。

相关推荐
运维行者_43 分钟前
应用性能监控怎么选?从调用链到用户体验的五个能力维度
运维·服务器·数据库·人工智能·mysql·性能优化·应用性能监控
考虑考虑5 小时前
nginx路由重写
运维·后端·自动化运维
Zenova EdgeOS7 小时前
Linux 内核日志 dmesg 进阶实战:从现场过滤到持久化闭环
linux·运维·服务器
郝亚军7 小时前
ec_private.pem的生成方法
linux·运维·服务器
NendoZen8 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
Elastic 中国社区官方博客9 小时前
Elasticsearch:安装自行管理的 Elastic Stack 集群
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
忆挽篱笙歌9 小时前
进程控制管理
linux·运维·服务器
Escalating_xu9 小时前
【Linux 网络编程】connect 的断线重连:用状态机写一个能恢复连接的 TCP 客户端
linux·网络·tcp/ip
Zucker n10 小时前
英语“论文”语法检查工具
linux·windows
fengkai454510 小时前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod