/var/log/{syslog,dmesg,messages} 日志文件的差异

/var/log/{syslog,dmesg,messages} 日志文件的差异

哪些文件对应哪些日志?其原理是什么?

答案1

不同版本的 Linux 对此的处理方式不同 [ 例如,Ubuntu 比 CentOS/Redhat 创建的文件多得多 ],并且可以很容易地进行更改。(查看/etc/syslog.conf/etc/rsyslog.conf)。

除了不同的服务(可以记录到相同或不同的地方)之外,还有不同级别的日志记录。

这种灵活性背后的原理必须是允许系统管理员根据其需求获得适当的平衡 - 例如,如果系统是邮件服务器,则将传入邮件和传出邮件从一般服务器日志中分离出来可能会很有用,以便更容易地跟踪某些情况下发生的事情。

类似地,如果特定应用程序的行为未按预期运行,则可能需要增加调试信息,但您不希望这种级别的调试信息与您的日志混合在一起。

更为复杂的是,一些程序(例如 fail2ban)监视日志中的活动并采取行动 - 拥有多个日志可以提供更好的响应能力和更容易的配置。

答案2

/var/日志

系统和各种程序/服务的日志文件,尤其是 login(/var/log/wtmp,记录系统的所有登录和注销)和 syslog(/var/log/messages,通常存储所有内核和系统程序消息)。 中的文件/var/log通常会无限增长,可能需要定期清理。现在通常通过日志轮换实用程序(例如)进行管理logrotate。此实用程序还允许自动轮换压缩、删除和邮寄日志文件。可以将 Logrotate 设置为每日、每周、每月或在日志文件达到特定大小时处理日志文件。通常,logrotate 作为每日 cron 作业运行。这是开始排除一般技术故障的好地方。

  • /var/log/messages– 包含全局系统消息,包括系统启动期间记录的消息。记录的内容/var/log/messages包括 mail、cron、daemon、kern、auth 等。
  • /var/log/dmesg– 包含内核环形缓冲区信息。系统启动时,它会在屏幕上打印多条消息,显示内核在启动过程中检测到的硬件设备的信息。这些消息在内核环形缓冲区中可用,每当有新消息出现时,旧消息就会被覆盖。您还可以使用命令查看此文件的内容dmesg
  • /var/log/auth.log– 包含系统授权信息,包括所使用的用户登录和身份验证机制。
  • /var/log/boot.log– 包含系统启动时记录的信息。
  • /var/log/daemon.log– 包含系统上运行的各种后台守护进程记录的信息。
  • /var/log/dpkg.log– 包含使用 dpkg 命令安装或删除包时记录的信息。
  • /var/log/kern.log– 包含内核记录的信息。有助于您排除定制内核故障。
  • /var/log/lastlog– 显示所有用户的最近登录信息。这不是 ASCII 文件。您应该使用lastlog命令来查看此文件的内容。
  • /var/log/mail.log– 包含系统上运行的邮件服务器的日志信息。例如,sendmail将所有已发送邮件的信息记录到此文件。
  • /var/log/user.log– 包含有关所有用户级别日志的信息。
  • /var/log/Xorg.x.log– 来自 X 的日志消息。
  • /var/log/alternatives.log– 信息update-alternatives记录到此日志文件中。在 Ubuntu 上,update-alternatives维护确定默认命令的符号链接。
  • /var/log/btmp– 该文件包含有关失败登录尝试的信息。使用命令last查看该btmp文件。例如,last -f /var/log/btmp | more
  • /var/log/cups– 所有打印机和打印相关的日志消息。
  • /var/log/anaconda.log– 当您安装 Linux 时,所有与安装相关的消息都存储在此日志文件中。
  • /var/log/yum.log– 包含使用 安装包时记录的信息yum
  • /var/log/cron– 每当 cron 守护进程(或 anacron)启动一个 cron 作业时,它都会在此文件中记录有关该 cron 作业的信息。
  • /var/log/secure– 包含与身份验证和授权权限相关的信息。例如,sshd在此处记录所有消息,包括登录失败。
  • /var/log/wtmp或者/var/log/utmp– 包含登录记录。使用wtmp它可以找出谁登录了系统。该who命令使用此文件来显示信息。
  • /var/log/faillog– 包含用户失败的登录尝试。使用该faillog命令显示此文件的内容。

除上述日志文件外,该/var/log目录还可能包含以下子目录,具体取决于系统上运行的应用程序:

  • /var/log/httpd/或者/var/log/apache2/– 包含 apache web 服务器access_logerror_log
  • /var/log/lighttpd/– 包含轻量级 HTTPDaccess_logerror_log
  • /var/log/connman/– ConnMan 客户端的日志文件。ConnMan 连接由守护进程管理的远程控制台connmand
  • /var/log/mail/– 此子目录包含来自邮件服务器的其他日志。例如,sendmail将收集的邮件统计信息存储在/var/log/mail/statistics文件中。
  • /var/log/prelink/prelink程序修改共享库和链接二进制文件以加快启动过程。该文件包含有关被 修改的库文件的/var/log/prelink/prelink.log信息。.soprelink
  • /var/log/audit/– 包含 Linux 审计守护进程存储的日志信息 ( auditd)。
  • /var/log/setroubleshoot/– SELinux 使用setroubleshootd(SE Trouble Shoot Daemon)来通知文件安全环境中的问题,并将这些信息记录在此日志文件中。
  • /var/log/samba/– 包含 Samba 存储的日志信息,用于通过本地网络(SMB 协议)共享文件。
  • /var/log/sa/sar– 包含该包收集的每日文件sysstat
  • /var/log/sssd/– 由管理远程机器访问的系统安全服务 (SSH) 守护程序使用。

答案3

一般惯例是:

  • 系统日志:一切
  • 消息:一般事件,无调试内容,排除一些错误
  • dmesg:内核消息,每次启动时重置。

答案4

是的,它们对于修复错误非常重要,如果你的用户应用程序、内核、硬件或 shell 有问题,你可以选择使用

cat /usr/log/syslog|tail

它将显示所有错误

如果你想解决内核问题和硬件管理问题,请使用

消息 |尾巴

相关内容