17 个您需要监控的 Linux 日志文件

梳理 17 个值得纳入监控的 Linux 日志文件,覆盖系统、认证、内核、启动、计划任务、邮件、Web、数据库、防火墙、审计和登录记录,并给出常见查看命令与告警关键词建议。

作者 快猫运营团队

Linux日志监控文件

核心摘要

  • 监控优先级上,业务北极星指标和应用 RED 指标仍然最重要,因为它们直接关联营收和用户体验。
  • Linux 日志监控的价值不只是触发告警,更重要的是在故障发生时提前筛出高价值线索,减少临场翻日志的时间。
  • /var/log 下的系统日志、认证日志、内核日志、启动日志、计划任务日志、Web 访问日志、数据库日志和安全审计日志,适合作为运维基础监控清单。
  • 对日志做告警时,不建议只看“是否有日志”,更应该围绕 errorfailedFAILEDFailed password 等高信号关键词建立规则。
  • 不同 Linux 发行版和服务安装方式会导致日志路径略有差异,例如 /var/log/syslog/var/log/messages/var/log/auth.log/var/log/secure,监控前需要按实际环境确认。

在监控领域,通常最应该监控的是业务的北极星指标、应用的 RED 指标,因为这些指标直接关联业务营收和用户体验。对于下层的机器类指标、日志等,也会配置告警规则,但是级别通常比较低。

这类日志告警的核心价值,是提前从纷繁复杂的指标、日志数据中提取重点信息。等到故障发生时,运维和研发可以优先读取这些少量但有价值的线索,提升故障定位效率。

系统日志是最基础的监控数据。Linux 系统日志文件通常存储在 /var/log 目录下,不同日志文件记录不同信息。下面这 17 类常见 Linux 日志文件,可以作为日志监控清单,用来查漏补缺。

Linux 日志文件监控总览

序号 日志文件 主要记录内容 适合关注的问题
1 /var/log/syslog/var/log/messages 系统消息、守护进程、系统进程、内核消息 系统错误、警告、OOM、稳定性问题
2 /var/log/auth.log/var/log/secure 登录、权限变化、认证事件 登录失败、未授权访问、安全风险
3 /var/log/kern.log Linux 内核消息 硬件、驱动、内核相关异常
4 /var/log/boot.log 系统启动过程、服务启动状态 服务启动失败、启动延迟
5 /var/log/dmesg kernel ring buffer 消息 硬件组件、驱动、内核初始化问题
6 /var/log/cron 计划任务运行情况 任务调度失败、任务未按预期执行
7 /var/log/maillog/var/log/mail.log 邮件服务器活动、投递和错误 邮件投递失败、邮件服务异常
8 /var/log/httpd/access.log/var/log/apache2/access.log Apache 访问请求 Web 流量、访问行为、潜在安全威胁
9 /var/log/httpd/error.log/var/log/apache2/error.log Apache 错误 Web 服务配置、应用错误、客户端问题
10 /var/log/NGINX/access.log NGINX 访问请求 Web 流量、DDoS、未授权访问尝试
11 /var/log/NGINX/error.log NGINX 错误 NGINX 配置、服务错误、客户端相关问题
12 /var/log/mysql.log/var/log/mysql/error.log MySQL 活动和错误 查询、连接、性能和数据库运行问题
13 /var/log/ufw.log UFW 防火墙事件 允许或拒绝的连接、可疑访问
14 /var/log/audit/audit.log audit daemon 审计事件 安全审计、合规、系统活动和变更
15 /var/log/daemon.log 系统守护进程消息 后台服务运行状况和性能
16 /var/log/btmp 失败登录尝试 未授权访问尝试
17 /var/log/wtmp 登录和注销事件 用户活动、登录历史、异常行为

系统与内核日志

/var/log/syslog/var/log/messages

/var/log/syslog/var/log/messages 捕获广泛的系统消息,包括来自各种守护进程、系统进程和内核的消息。它们相当于系统活动的综合记录。

这类日志对 Linux 日志分析很重要,因为其中包含系统错误、警告和其他重要事件。常见例子包括 OOM 日志。监控这些日志,有助于诊断影响系统稳定性和性能的问题。

建议监控:

  • 系统级 errorwarningfailed 等关键词。
  • OOM 相关日志。
  • 短时间内持续出现的同类系统错误。

/var/log/kern.log

/var/log/kern.log 包含 Linux 内核消息,包括硬件事件、驱动程序消息和其他内核相关活动。

内核日志对于诊断硬件和驱动相关问题很重要,这些问题往往会影响系统稳定性和性能。除了直接读取日志文件,也可以通过 dmesg 命令查看内核日志。

例如,使用下面的命令查看内核错误:

dmesg -T | grep -i error

同样,也可以把 error 作为关键词配置告警规则。

/var/log/dmesg

/var/log/dmesg 包含来自内核 ring buffer 的消息,记录硬件组件、驱动程序和内核初始化等信息。

这个日志适合用于硬件诊断和系统性能排查。遇到硬件故障、驱动异常或启动早期问题时,可以优先查看它。

/var/log/boot.log

/var/log/boot.log 记录与系统启动过程相关的事件,包括启动的服务及其状态。

这个日志适合排查启动问题,例如启动失败的服务、启动过程延迟,以及其他与启动相关的异常。可以使用下面的命令浏览文件,查找标有 FAILEDERROR 的行:

less /var/log/boot.log

认证、登录与安全日志

/var/log/auth.log/var/log/secure

/var/log/auth.log/var/log/secure 记录认证相关事件,例如成功和失败的登录尝试、用户权限更改,以及其他身份验证机制。

这个日志对识别未经授权的访问尝试和潜在安全漏洞很重要。通过它可以了解谁访问了系统,以及何时访问系统。

例如,使用下面的命令查看登录失败记录:

grep "Failed password" /var/log/auth.log

自然也可以把 Failed password 作为关键词配置告警规则。

/var/log/btmp

/var/log/btmp 记录失败的登录尝试,提供未经授权访问尝试的记录。它对安全监控很重要,有助于检测和响应未授权访问尝试。

使用下面的命令查看失败的登录尝试:

lastb

/var/log/wtmp

/var/log/wtmp 记录登录和注销事件,用于跟踪系统上的用户活动。

它适合用于审核用户活动、了解系统使用模式,以及检测异常登录行为。可以使用下面的命令查看登录历史记录:

last

/var/log/ufw.log

/var/log/ufw.log 记录与简单防火墙 UFW 相关的事件,包括允许和拒绝的连接尝试。

防火墙日志对网络安全监控和检测未经授权的访问尝试很重要。可以通过 tail 等命令查看 UFW 日志,重点关注来自同一 IP 的重复拒绝尝试,这可能表明存在安全威胁。定期审查这类日志,有助于确认防火墙规则是否有效。

/var/log/audit/audit.log

/var/log/audit/audit.log 包含来自审计守护程序的详细记录,会捕获广泛的系统事件,用于安全审计和合规性目的。

审计日志适合做更细粒度的安全分析。它能提供系统活动和更改的全面视图,帮助确认系统行为是否符合策略。

可以使用 ausearchaureport 工具从审计日志中搜索和生成报告。定期审计有助于确保系统安全和符合策略。

任务、邮件与后台服务日志

/var/log/cron

/var/log/cron 记录计划任务的运行情况。它有助于诊断任务调度和执行方面的问题。

如果某个定时任务没有执行、执行失败,或者执行时间与预期不一致,/var/log/cron 是应该优先查看的日志之一。

/var/log/maillog/var/log/mail.log

/var/log/maillog/var/log/mail.log 捕获与邮件服务器活动相关的事件,包括电子邮件投放和错误。

监控邮件日志对邮件服务器管理和解决电子邮件投递问题很重要。它们有助于确保组织内外的可靠通信。

可以使用下面的命令检查邮件日志,查找包含 errorfailed 的行:

tail -f /var/log/maillog

/var/log/daemon.log

/var/log/daemon.log 记录来自系统守护进程的消息,这些守护进程是系统上运行的后台服务。

守护进程日志适合监控后台服务的运行状况和性能,也有助于解决服务运行问题。

Web 服务器日志

/var/log/httpd/access.log/var/log/apache2/access.log

/var/log/httpd/access.log/var/log/apache2/access.log 记录对 Apache Web 服务器的所有访问请求,包括 IP 地址、请求类型和响应状态等详细信息。

访问日志适合监控 Web 流量、识别潜在安全威胁、观察访问者行为,并帮助优化网站性能。

/var/log/httpd/error.log/var/log/apache2/error.log

/var/log/httpd/error.log/var/log/apache2/error.log 捕获 Apache Web 服务器遇到的错误,包括 Apache 服务器配置问题、应用程序错误和客户端相关问题。

错误日志适合诊断 Web 服务器及其上运行的应用程序问题。监控这类日志,有助于保障网站和 Web 服务顺利运行。

/var/log/NGINX/access.log

/var/log/NGINX/access.log 记录对 NGINX Web 服务器的所有访问请求,包括 IP 地址、请求方法、响应状态和用户代理等详细信息。

监控 NGINX 访问日志,有助于了解 Web 流量和用户行为,也有助于识别潜在安全威胁,例如 DDoS 攻击或未经授权的访问尝试。

可以使用下面的命令实时监控访问:

tail -f /var/log/NGINX/access.log

分析这些日志有助于优化 Web 性能和改进安全措施。像 goaccess 这样的工具,可以提供实时 Web 日志分析和可视化报告。

/var/log/NGINX/error.log

/var/log/NGINX/error.log 捕获 NGINX Web 服务器遇到的错误,包括配置问题、服务器错误和与客户端相关的问题。

错误日志适合诊断 Web 服务器及其托管应用程序的问题。它们能够提供问题出现的位置和时间,帮助保障网站和 Web 服务顺利运行。

数据库日志

/var/log/mysql.log/var/log/mysql/error.log

/var/log/mysql.log/var/log/mysql/error.log 记录与 MySQL 数据库服务器相关的活动和错误,包括查询、连接和性能问题。

监控 MySQL 日志对数据库管理、故障排除和确保数据库高效运行很重要。遇到数据库连接异常、查询问题或性能问题时,这类日志是重要线索。

Linux 日志监控建议

先按场景分级,而不是把所有日志都设成高优先级

日志告警通常位于业务指标和应用 RED 指标之后。更合理的做法是按场景设定告警级别:

  • 安全相关:登录失败、重复拒绝连接、异常认证事件,可以更早进入关注列表。
  • 稳定性相关:OOM、内核错误、服务启动失败、守护进程异常,需要能在故障排查时快速定位。
  • 业务入口相关:Web 访问日志和错误日志,应与访问状态、错误信息和异常流量结合分析。
  • 基础服务相关:cron、mail、MySQL 等日志,应围绕任务失败、投递失败、连接失败和服务错误建立规则。

优先监控高信号关键词

日志量通常很大,不适合把所有内容都变成告警。可以先从原文中提到的关键词开始:

场景 可关注关键词或命令
登录失败 Failed passwordlastb
内核错误 dmesg -T | grep -i error
启动失败 FAILEDERROR
邮件问题 errorfailed
Web 访问分析 tail -f /var/log/NGINX/access.log、GoAccess
登录历史 last

监控前确认实际路径

同一类日志在不同系统中可能有不同路径。例如系统日志可能是 /var/log/syslog,也可能是 /var/log/messages;认证日志可能是 /var/log/auth.log,也可能是 /var/log/secure;Apache 日志也会因安装方式不同而落在 /var/log/httpd//var/log/apache2/ 下。

因此,配置采集和告警前,需要先确认当前机器上实际存在的日志文件和服务路径。

FAQ

Linux 日志文件通常在哪里?

Linux 系统日志文件通常存储在 /var/log 目录下。不同日志文件记录不同类型的信息,例如系统消息、认证事件、内核消息、启动过程、计划任务、Web 请求、数据库活动和安全审计事件。

Linux 日志监控应该优先看哪些文件?

如果是做基础查漏补缺,可以优先覆盖 /var/log/syslog/var/log/messages/var/log/auth.log/var/log/secure/var/log/kern.log/var/log/boot.log、Web 服务器访问和错误日志、MySQL 日志、UFW 日志、audit 日志,以及 btmpwtmp 这类登录记录。

日志告警应该怎么配置关键词?

可以先从高信号关键词开始,例如认证失败中的 Failed password,内核和服务错误中的 error,启动异常中的 FAILEDERROR,邮件投递问题中的 failed。关键词需要结合具体日志类型使用,避免把低价值噪声全部变成告警。

/var/log/auth.log/var/log/secure 有什么区别?

二者都用于记录认证相关事件,但常见于不同 Linux 发行版或系统配置中。监控前应以当前机器实际存在的日志文件为准。

/var/log/btmp/var/log/wtmp 分别看什么?

/var/log/btmp 记录失败的登录尝试,可以通过 lastb 查看;/var/log/wtmp 记录登录和注销事件,可以通过 last 查看。前者更偏安全告警,后者更适合用户活动审计和登录历史排查。

总结

Linux 日志监控的目的,不是把 /var/log 下的每一行都变成告警,而是把系统、认证、内核、启动、任务、邮件、Web、数据库、防火墙、审计和登录记录中的关键信息提前整理出来。

当故障或安全事件发生时,这些日志能帮助你更快回答几个关键问题:系统发生了什么、谁访问过、哪个服务异常、错误从什么时候开始、是否存在重复失败或可疑访问。把上面 17 类日志纳入基础监控清单,就能覆盖大部分 Linux 运维场景中的常见排查入口。

本文翻译自:https://sematext.com/blog/17-linux-log-files-you-must-be-monitoring/

联系我们交流

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

标签 日志监控
快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云