Linux nohup日志监控工具推荐
小樊
40
2026-01-11 09:00:33
Linux nohup 日志监控工具推荐
一 内置命令组合
- 实时查看:使用 tail -f 或 tail -F 跟踪日志新增内容;当日志被轮转或改名时,-F(–follow=name --retry) 会继续追踪,-f 可能中断。示例:tail -f app.log 或 tail -F app.log。
- 关键字高亮与过滤:结合 grep 实时筛选,如 tail -f app.log | grep --color=auto -i “error”;仅输出匹配部分可用 grep -o。
- 进程存活检查:用 ps -ef | grep your_command 或 pgrep your_command 确认进程是否在运行。
- 快速定位与排查:用 grep/awk/sed 检索关键字、按时间窗口分析,配合 vim/nano 查看上下文。
- 后台持续过滤:将过滤结果长期写入文件,如 nohup tail -f app.log | grep “error” > error.log 2>&1 &。
以上命令适合“轻量、即开即用”的日常排查与值守场景。
二 系统级日志轮转与归档
- 使用 logrotate 做按大小或按天轮转、压缩与保留策略,避免 nohup.out 或业务日志无限增长。示例配置(/etc/logrotate.d/myapp):
/path/to/app.log {
daily
rotate 7
compress
missingok
notifempty
create 640 root root
size 100M
}
说明:daily 表示按天轮转;rotate 7 保留最近 7 份;compress 压缩旧日志;size 100M 达到 100MB 触发轮转;create 设定新日志权限与属主。可手动测试:logrotate -f /etc/logrotate.conf。
- 权限与安全:日志文件建议权限 640/600,防止非授权访问。
- 归档压缩:历史日志可用 gzip 归档节省空间。
该方案适合长期运行服务的生产环境,稳定、低开销、可审计。
三 集中式日志平台
- 当服务器数量多、日志分散时,建议引入 ELK Stack(Elasticsearch、Logstash、Kibana) 或 Graylog 做集中采集、检索、可视化与告警。
- 典型做法:应用将日志写入本地文件(nohup 输出或日志框架),由 Filebeat/rsyslog 等采集器发送到 Logstash/Elasticsearch,在 Kibana 中构建仪表盘与阈值告警。
- 适用场景:跨主机统一检索、指标与错误趋势分析、合规审计与长期留存。
集中式方案在复杂环境中能显著提升可观测性与运维效率。
四 轻量监控与告警脚本
- 关键字触发告警:实时扫描并高亮错误,同时写入告警日志。示例:
tail -F app.log | while IFS= read -r line; do
echo “$line” | grep -q -i “error” && \
echo “$(date ‘+%F %T’) ALERT: $line” >> alerts.log
done
- 定期模式匹配:用 cron 每分钟检查一次并将匹配行追加到告警文件:
-
-
-
-
- grep -o “pattern” /path/to/app.log >> alerts.log 2>&1
- 日志大小守护:当日志超过阈值时自动备份并清空,避免磁盘被写满。示例脚本思路:
LOG=/path/to/app.log; MAX=100M
[ -f “$LOG” ] && [ “$(stat -c%s “$LOG”)” -gt “$(echo $MAX | numfmt --from=iec)” ] && \
mv “$LOG” “$LOG.$(date +%F-%H%M%S)” && touch “$LOG”
以上脚本便于快速落地“关键字告警 + 容量守护”,适合中小规模或临时值守。
五 选型建议与快速命令清单
- 选型建议
- 临时排查与单机值守:优先用 tail -f/-F + grep/awk/sed。
- 稳定生产单机:加上 logrotate 做轮转与压缩。
- 多机与长期可观测:上 ELK/Graylog 集中化。
- 需要自动化告警:用 shell + cron 或轻量监控框架做关键字与容量告警。
- 快速命令清单
- 启动并记录:nohup your_cmd > app.log 2>&1 &
- 实时跟踪:tail -f app.log;文件可能被轮转时用 tail -F app.log
- 只看错误:tail -f app.log | grep -i “error”
- 进程检查:ps -ef | grep your_cmd
- 轮转配置示例:创建 /etc/logrotate.d/myapp,内容含 daily、rotate 7、compress、size 100M、create 640 root root
这些命令覆盖从启动、查看、过滤到轮转与告警的高频操作,可直接复制到终端使用。