ubuntu

Ubuntu日志中如何实现自动化分析

小樊
33
2025-12-19 21:14:00
栏目: 智能运维

Ubuntu日志自动化分析实用方案

一 基础与数据来源

二 本地自动化脚本与定时任务

#!/usr/bin/env bash
set -Eeuo pipefail
OUT=/var/log/syslog_errors_$(date +%F).txt
journalctl --since "24 hours ago" \
  -p err..emerg \
  --no-pager \
  -o short-iso \
  | tee "$OUT"
echo "Top 50 errors:" >> "$OUT"
grep -i "error" "$OUT" | tail -n 50 >> "$OUT"
# 可选:邮件发送或推送到企业IM
# 每天 02:00 执行,结果压缩归档
0 2 * * * root /usr/local/bin/analyze_syslog.sh && gzip /var/log/syslog_errors_*.txt
/var/log/syslog {
  daily
  rotate 7
  compress
  missingok
  notifempty
  create 0640 root adm
}

三 集中化与可视化平台

四 关键场景与命令清单

场景 命令或配置 说明
当前启动的错误 journalctl -p err -b 快速定位本次启动内的错误
指定服务的错误 journalctl -u nginx -p err --since "2025-05-22 09:00" 服务维度定位问题
SSH 暴力破解 grep "Failed password" /var/log/auth.log 发现认证异常来源
内核报错 `dmesg grep -i error` 或查 /var/log/kern.log
日志轮转策略 编辑 /etc/logrotate.d/syslog(daily/rotate 7/compress) 控制体积与保留周期
集中转发 rsyslog 配置 *.* @remote:514 并重启服务 统一收集到日志服务器

五 落地实施建议

0
看了该问题的人还看了