当前位置:首页 > RockyLinux > 正文

RockyLinux日志分析脚本(手把手教你编写自动化日志监控脚本)

在日常的 RockyLinux运维教程 中,日志分析是保障系统安全与稳定运行的重要环节。无论是排查错误、监控异常,还是审计用户行为,都需要对系统日志进行有效分析。本文将带你从零开始,编写一个简单但实用的 RockyLinux日志分析脚本,即使你是 Linux 新手,也能轻松上手!

RockyLinux日志分析脚本(手把手教你编写自动化日志监控脚本) RockyLinux日志分析脚本  Linux系统日志 日志监控自动化 RockyLinux运维教程 第1张

为什么需要日志分析脚本?

手动查看 /var/log/ 目录下的日志文件(如 messagessecureaudit.log 等)既耗时又容易遗漏关键信息。通过编写 日志监控自动化 脚本,我们可以:

  • 自动检测登录失败次数(防止暴力破解)
  • 实时监控系统错误或警告
  • 定期生成日志摘要报告
  • 提升 Linux系统日志 管理效率

准备工作

确保你的 RockyLinux 系统已安装以下工具(通常默认已安装):

  • bash(脚本解释器)
  • grepawksed(文本处理工具)
  • mail(可选,用于发送告警邮件)

编写基础日志分析脚本

我们将创建一个脚本,用于分析 /var/log/secure 文件中的 SSH 登录失败记录,并统计每个 IP 的失败次数。

步骤 1:创建脚本文件

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 命令将报告发送给管理员邮箱

总结

通过这个简单的 RockyLinux日志分析脚本,你已经掌握了如何自动化分析系统日志。这不仅提升了 Linux系统日志 的管理效率,也为实现更高级的 日志监控自动化 打下了基础。希望这篇 RockyLinux运维教程 能帮助你在系统管理之路上走得更稳、更远!

—— 学会自动化,让运维更轻松 ——