在日常的 RockyLinux运维教程 中,日志分析是保障系统安全与稳定运行的重要环节。无论是排查错误、监控异常,还是审计用户行为,都需要对系统日志进行有效分析。本文将带你从零开始,编写一个简单但实用的 RockyLinux日志分析脚本,即使你是 Linux 新手,也能轻松上手!
为什么需要日志分析脚本?
手动查看
/var/log/目录下的日志文件(如
messages、
secure、
audit.log等)既耗时又容易遗漏关键信息。通过编写 日志监控自动化 脚本,我们可以: 自动检测登录失败次数(防止暴力破解) 实时监控系统错误或警告 定期生成日志摘要报告 提升 Linux系统日志 管理效率
准备工作
确保你的 RockyLinux 系统已安装以下工具(通常默认已安装):
bash(脚本解释器)
grep、
awk、
sed(文本处理工具)
编写基础日志分析脚本
我们将创建一个脚本,用于分析
/var/log/secure文件中的 SSH 登录失败记录,并统计每个 IP 的失败次数。
步骤 1:创建脚本文件
将以下代码复制到文件中: 运行后,你将看到类似如下的输出: 你可以进一步扩展此脚本: 通过这个简单的 RockyLinux日志分析脚本,你已经掌握了如何自动化分析系统日志。这不仅提升了 Linux系统日志 的管理效率,也为实现更高级的 日志监控自动化 打下了基础。希望这篇 RockyLinux运维教程 能帮助你在系统管理之路上走得更稳、更远! —— 学会自动化,让运维更轻松 ——sudo nano /usr/local/bin/analyze_secure_log.sh 步骤 2:写入脚本内容
#!/bin/bash# RockyLinux日志分析脚本 - 分析SSH登录失败记录LOG_FILE="/var/log/secure"OUTPUT_FILE="/tmp/ssh_fail_report.txt"# 清空上次结果> "$OUTPUT_FILE"echo "=== SSH 登录失败分析报告 ===" > "$OUTPUT_FILE"echo "生成时间: $(date)" >> "$OUTPUT_FILE"echo "" >> "$OUTPUT_FILE"# 提取包含 'Failed password' 的行,并统计每个IP的失败次数awk '/Failed password/ {print $11}' "$LOG_FILE" | \sort | uniq -c | sort -nr >> "$OUTPUT_FILE"echo "" >> "$OUTPUT_FILE"echo "报告已保存至: $OUTPUT_FILE"cat "$OUTPUT_FILE" 步骤 3:赋予执行权限
sudo chmod +x /usr/local/bin/analyze_secure_log.sh 步骤 4:运行脚本
sudo /usr/local/bin/analyze_secure_log.sh === SSH 登录失败分析报告 ===生成时间: Wed Jun 12 10:30:45 CST 2024 23 192.168.1.100 15 203.0.113.45 7 198.51.100.22报告已保存至: /tmp/ssh_fail_report.txt 进阶建议
crontab
定时每天凌晨执行脚本 当某个 IP 失败次数超过阈值(如 10 次),自动将其加入防火墙黑名单 通过 mail
命令将报告发送给管理员邮箱 总结
