ubuntu日志的设置

ubuntu日志的设置 | Marshal's Blog

ubuntu日志的设置

日志用于帮助系统出错后的排查。在ubuntu server版本中,syslog命令用于设置日志。

 

设置syslog

ubuntu server中,由syslogd进程处理日志。通过ps命令输出的syslogd进程信息:

syslog    4275     1  0  2008 ?        00:00:02 /sbin/syslogd -u syslog

该进程读取配置文件:

/etc/syslog.conf

该配置文件指定记录哪些日志并记录到哪个位置。比如:日志可以记录到文件或者终端,或者记录一到多个用户登录时刻信息。

该配置文件预定义的设施(facility):

  1. auth:认证进程相关的主要信息;
  2. authpriv:见auth;
  3. cron:与cron和atd进程相关的信息;
  4. daemon:没有自己日志设施的守护进程用来记录信息;
  5. kern:所有内核相关日志。记录这些信息,供一个名为辅助进程klogd使用。该进程确保boot期间记录日志。
  6. lpr:有关打印子系统信息;
  7. mail:和邮件系统相关的所有内容。特别注意,如果错误的设置该部分,可能记录过多的信息;
  8. mark:自动周期性的写入日志文件;
  9. news:所有和新闻服务器相关的事件;
  10. syslog:syslogd进程内部使用;
  11. user:用于用户相关的事件;
  12. uucp:有关遗留的uucp系统的信息;
  13. local0-7:本地日志设施,用于自定义使用。

每个设施,需要设置特定的优先级(priority),有以下优先级可供使用:

  1. none:不关联信息;
  2. debug:只用于排错目的。将记录尽可能多的信息。
  3. info:记录类别为信息的日志内容。不要将该优先级设置为默认,因为会产生大量的信息。
  4. notice:记录普通的系统信息。该优先级帮助跟踪根据日期指定的服务。
  5. warning:该优先级用于大多数服务的默认设置。记录于服务相关的警告。
  6. err:用于记录中断进程功能的严重的错误。
  7. crit:记录与程序相关的危险信息。
  8. alert:记录需要立即操作来保持系统运行的信息。
  9. emerg:用于系统不在可用情况下记录日志。

以上优先级由上到下递增。

syslog设置的最后部分,是日志的目标(destination)。大多数进程记录默认日志到文件,不过还有其他可能的目标:

  1. 记录到文件,指定文件的名字。如果估计会产生大量日志信息,可通过连字号“-”指定日志在写日志文件前缓存,这将减少负载,但是如果系统崩溃,缓存无法写入日志文件中。
  2. 记录到设备,比如记录到控制台。
  3. 发送警告给已登录的用户。
  4. 发送日志信息到指定的日志服务器。
  5. 严重情况下,使用*确保信息立即发送给所有已登录的用户。

默认情况,syslog将日志文件写入到/var/log目录下。一个最重要的日志文件是/var/log/messages。

以下日志文件取决于相关服务是否已经安装:

  1. apache2:该子目录用于apache的访问和错误日志。
  2. auth.log:认证事件列表,比如可以看到root用户何时通过了服务器的认证。
  3. dmesg:内核生成的信息列表,比如,分析内核在启动过程中何时发生了什么。
  4. faillog:这是二进制文件,包含登录失败的信息,使用faillog命令检查内容。
  5. mail.*:邮件服务器信息。
  6. udev:硬件plug-and-play管理器所有事件信息。

其他方式的日志

很多进程使用syslog,但是一些重要的服务有自己的日志设置。比如apache web server使用自己的日志。所以,作为管理员,要仔细查看每个特定服务的日志处理方式。

可以在脚本中使用logger命令,将日志信息直接写入到syslog。

日志文件的轮换

记录日志是好的,但是过多的日志文件可能带来问题。日志文件如果一直增长会填满服务器的硬盘。可以通过设置logrotate服务解决这个问题。它作为每日执行的cron作业。在它的配置文件中,可以设置何时打开新的日志文件,怎样处理旧的日志文件,比如是压缩还是删除。另外,如果压缩,保留多少就的日志文件。

该配置文件为:/etc/logrotate.conf。

默认的文件中设置为:

  1. 每周创建一个新的日志文件;
  2. 保留四周的日志文件;
  3. 使用新的空的日志文件;
  4. 不压缩;
  5. 如果压缩,使用bzip2作为压缩命令,bunzip2作为解压缩命令;
  6. 包含其他日志的配置文件的目录,在/etc/logrotate.d
原文地址:https://www.cnblogs.com/lexus/p/2467862.html