温馨提示×

怎样监控linux关键日志

小樊
55
2026-10-05 09:56:11
栏目: 智能运维

在 Linux 系统中,监控关键日志通常是为了及时发现系统异常、安全事件或服务故障。下面从日志来源 → 监控方式 → 实战示例 → 自动化告警几个层面系统说明。


一、明确“关键日志”有哪些

常见关键日志位置(以 systemd 系统为例):

类型 路径 / 来源
系统日志 /var/log/messages、/var/log/syslog
认证安全 /var/log/secure、/var/log/auth.log
内核日志 dmesg、/var/log/kern.log
服务日志 /var/log/nginx/、/var/log/mysql/
systemd journalctl
应用自定义 应用自身日志目录

二、基础实时监控方法

1️⃣ tail -f(最常用)

tail -f /var/log/secure

适合:

  • 人工盯日志
  • 调试阶段

✅ 可配合 grep:

tail -f /var/log/secure | grep "Failed password"

2️⃣ journalctl(systemd 系统推荐)

journalctl -f

按服务监控:

journalctl -u nginx -f

按优先级(只看重错误):

journalctl -p err -f

3️⃣ multitail(多日志同屏)

multitail /var/log/secure /var/log/messages

三、关键字监控 + 自动告警

方案 1:swatch(老牌日志监控)

swatch --config-file swatch.conf --tail-file /var/log/secure

示例配置:

watchfor /Failed password/
    echo
    mail addresses=admin@xxx.com

方案 2:logwatch(每日报告)

logwatch --detail High --service All

适合:

  • 安全审计
  • 每日汇总

方案 3:rsyslog + 规则触发

在 /etc/rsyslog.conf:

:msg, contains, "error" @@logserver:514

四、生产环境推荐方案

✅ 企业级日志监控架构

应用日志 → rsyslog / filebeat → ELK / Loki
                         ↓
                    告警系统(Alertmanager)

常见组合

  • Filebeat + Elasticsearch + Kibana
  • Promtail + Loki + Grafana
  • Fluentd + Kafka

五、实战示例

示例 1:监控 SSH 暴力破解

grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c

示例 2:服务异常自动重启

journalctl -u nginx -f | grep -q "emerg" && systemctl restart nginx

示例 3:磁盘错误监控

dmesg -T | grep -i "error"

六、安全与建议

✅ 建议:

  • 日志集中存储(防篡改)
  • 关键日志只读权限
  • 设置轮转(logrotate)
  • 对 root 登录、sudo、错误密码重点监控

如果你能告诉我:

  • 是 服务器 / 容器 / 云环境
  • 想监控 安全 / 服务 / 性能
  • 是否需要 邮件 / 钉钉 / 企业微信告警

我可以给你一套可直接用的配置方案。

0 踩