温馨提示×

如何利用centos日志进行监控

小樊
49
2025-11-22 00:04:12
栏目: 智能运维

CentOS 日志监控实操指南

一 关键日志与用途

  • 系统与服务通用:/var/log/messages(系统常规信息、内核与服务消息)、journalctl(systemd 日志,适合按服务、时间、优先级检索)。
  • 安全相关:/var/log/secure(认证与授权,如 SSH 登录)、/var/log/audit/audit.log(审计事件,需启用 auditd)、/var/log/wtmp(登录/注销历史,配合 last 使用)。
  • 常见应用:/var/log/httpd/access_log/var/log/httpd/error_log(Apache)、/var/log/mysqld.log(MySQL)。
    以上文件与工具是日常排查与监控的主要入口,配合 grep、tail、journalctl 能快速定位问题。

二 快速监控命令与用法

  • 实时查看新增日志:
    • 系统日志:tail -f /var/log/messages
    • 安全日志:sudo tail -f /var/log/secure
    • 某服务日志:journalctl -u sshd -fjournalctl -u httpd.service -f
  • 按时间与优先级过滤:
    • 指定时段:journalctl --since “2025-11-22 00:00:00” --until “2025-11-22 12:00:00”
    • 仅错误级别:journalctl -p err
  • 关键字检索与统计:
    • 实时错误:journalctl -f | grep --line-buffered “error”
    • 失败登录统计:grep ‘Failed’ /var/log/secure | wc -l
      这些命令覆盖“实时盯盘 + 回溯定位 + 关键字告警”的基本需求,适合作为日常巡检与应急的命令行基线。

三 自动化监控与告警方案

  • 轻量本地方案
    • 日志轮转防爆炸:logrotate(配置于 /etc/logrotate.conf/etc/logrotate.d/),常用策略如:rotate 4(保留4份)、weeklycompressdateext,确保磁盘空间可控。
    • 报表与邮件摘要:logwatch(yum 安装),可每日生成分析报告并邮件发送给 root,用于例行健康检查。
    • 主机监控联动:Zabbix 支持基于日志文件与正则表达式的匹配告警,适合在出现 Error/Warning 时触发通知。
  • 集中式日志平台
    • 收集与转发:rsyslog 支持将本机日志通过 514/UDP 或 TCP 发送到远程日志服务器,便于统一存储与审计。
    • 检索与可视化:部署 ELK Stack(Elasticsearch + Logstash + Kibana)Grafana Loki + Promtail/Filebeat,实现海量日志的集中化存储、检索、仪表盘与告警。
      上述组合可按规模与预算分层落地:先本地轮转与报表,再逐步演进到集中式平台。

四 安全监控最小实践清单

  • SSH 暴力破解识别:
    • 实时观察失败登录:sudo tail -f /var/log/secure | grep ‘Failed’
    • 统计当日失败次数:grep “Failed” /var/log/secure | wc -l
  • 审计关键系统调用:
    • 启用并配置 auditd,审计规则示例:/etc/audit/rules.d/audit.rules 中加入
      • 监控文件访问:-w /etc/passwd -p wa -k identity
      • 监控特权命令:-a always,exit -F arch=b64 -S execve -k exec
    • 查询审计日志:ausearch -k identityausearch -k exec
  • 合规留存与集中:
    • 配置 rsyslog/var/log/secure/var/log/messages/var/log/audit/audit.log 等转发至远程日志服务器,避免本地篡改并便于取证。
      以上做法能在不引入复杂平台的前提下,快速覆盖“暴力登录识别 + 关键文件/命令审计 + 日志外发留存”的安全基线。

五 落地实施步骤

  • 明确目标与范围:先聚焦 SSH 登录系统错误核心业务服务(如 Nginx/MySQL)三类日志。
  • 建立命令行基线:为每台主机固化“实时查看 + 时间过滤 + 关键字检索”的常用命令别名或脚本。
  • 配置本地保障:启用 logrotate 策略,部署 logwatch 日报,设置 Zabbix 日志告警项(如 /var/log/secure 出现 “Failed” 即告警)。
  • 搭建集中平台:选定 rsyslog 服务器ELK/Loki,统一收集与安全审计;为审计与业务日志分别建立索引/数据源与可视化面板。
  • 演练与迭代:定期回放历史告警、优化正则表达式与阈值,确保告警“少而精”,并建立值班响应手册。

0