CentOS fetchlinux的日志分析技巧
导读:CentOS 日志分析技巧 一 日志来源与定位 系统日志集中在 /var/log:常见文件与作用包括 /var/log/messages(系统常规消息)、/var/log/secure(认证与 SSH 登录)、/var/log/cron(...
CentOS 日志分析技巧
一 日志来源与定位
- 系统日志集中在 /var/log:常见文件与作用包括 /var/log/messages(系统常规消息)、/var/log/secure(认证与 SSH 登录)、/var/log/cron(计划任务)、/var/log/boot.log(开机过程)、/var/log/dmesg(内核环缓冲)、以及应用日志目录 /var/log/httpd/、/var/log/mysql/ 等。若系统启用 systemd,可用 journalctl 统一查询与管理日志。以上路径与用途是 CentOS 日志分析的起点。
二 命令行快速分析范式
- 实时查看新增日志:tail -f /var/log/messages
- 关键字筛选与计数:grep “ERROR” /var/log/httpd/error_log | wc -l
- 提取字段与去重统计:
- 统计 SSH 失败登录的源 IP(CentOS 7 常见字段位置): grep “Failed password” /var/log/secure | awk ‘{ print $11} ’ | sort | uniq -c | sort -nr
- 统计 Web 访问状态码分布(假定为默认 combined 格式): awk ‘{ print $9} ’ /var/log/httpd/access_log | sort | uniq -c | sort -nr
- 时间窗检索(systemd 日志):journalctl --since “2025-12-01 00:00:00” --until “2025-12-01 23:59:59”
- 内核与启动问题:dmesg | tail -n 50;journalctl -k
- 以上命令覆盖日常 80% 的“定位—筛选—统计”需求,字段位置可能因发行版与日志格式略有差异,必要时先 head 查看样例行确认分隔与列号。
三 典型场景与命令清单
| 场景 | 关键命令 | 说明 |
|---|---|---|
| SSH 暴力破解排查 | grep “Failed password” /var/log/secure | 发现失败登录;结合 awk 提取 $11(源 IP),再排序计数定位高频来源 |
| Web 错误高峰定位 | grep “ERROR” /var/log/httpd/error_log | 快速统计错误数量与时间点 |
| 某服务故障排查 | journalctl -u nginx.service -b | 查看本次启动以来的服务日志;必要时加 --since/–until 缩小范围 |
| 内核与硬件告警 | dmesg -T | 观察 OOM、驱动异常、硬件告警等 |
| 计划任务异常 | grep -i “CRON” /var/log/cron | 发现异常 cron 执行与报错 |
| 登录成功清单 | grep “Accepted” /var/log/secure | 核对合法登录来源与时间 |
| 以上命令与字段示例适用于 CentOS 常见日志布局;若使用 journald 记录服务日志,优先用 journalctl 查询对应 unit。 |
四 进阶与可视化
- 集中化与可视化:搭建 ELK Stack(Elasticsearch + Logstash + Kibana) 或 Splunk/Graylog,统一采集 /var/log 与 journald 日志,构建仪表盘与告警规则,适合多主机与长期留存分析。
- 自动化巡检脚本:以 Bash/Python 定期执行 grep/awk 统计,输出 Top N 异常来源、错误码分布、服务重启次数等,并接入邮件或企业微信/钉钉 Webhook 告警。
- 日志轮转与容量治理:使用 logrotate 配置按日/按大小切分与保留策略,避免 /var/log 占满磁盘;对大文件优先用 less/tail -f 浏览,必要时先 gzip 归档再分析。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS fetchlinux的日志分析技巧
本文地址: https://pptw.com/jishu/765997.html
