zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    iText + Freemarker实现pdf的导出,支持中文、css以及图片,页眉页脚,页眉添加图片
    SpringBoot使用拦截器、过滤器、监听器
    Java中boolean类型占用多少个字节?我说一个,面试官让我回家等通知
    【搞定面试官】try中有return,finally还会执行吗?
    细说JVM内存模型
    easyExcel简介#
    gbdt和xgboost api
    RNN BPTT
    tensorflow LSTM
    [转]python与numpy基础
  • 原文地址:https://www.cnblogs.com/lexus/p/2467862.html
Copyright © 2011-2022 走看看