美文网首页
Linux日志学习

Linux日志学习

作者: Meditator_6344 | 来源:发表于2018-08-02 22:32 被阅读0次

    什么是日志文件

    日志文件不用说,就是记录linux系统在什么时候由哪个进程做了什么样的行为,发生了什么事件等。详细的日志文件信息可以帮助我们解决大部分的Linux问题。

    常见的Linux日志文件名

    • /var/log/cron : 与之前写过的crontab任务调度相关的日志文件。
    • /var/log/dmesg : 记录系统在开机时候内核检测过程中所产生的各项信息。由于centos默认将开机时内核的硬件检测过程取消,因此额外将数据记录一份在这个文件中。
    • /var/log/lastlog : 记录系统上面所有账号最近一次登录系统时的相关信息。lastlog命令就是基于此。
    • /var/log/maillog|* : 记录邮件的往来信息,主要是记录sendmail(SMTP协议提供者)与dovecot(POP3协议提供者)所产生的信息。
    • /var/log/message : 相当重要的日志文件,几乎系统发生的错误信息都会记录在这个文件中。系统发生莫名的错误时,这个文件是一定要查阅的日志文件之一。
    • /var/log/secure : 基本上,只要涉及账号密码的软件,登录信息都会存在这个文件中。
    • /var/log/wtmp,/var/log/faillog : 分别记录正确登录系统的账户信息(wtmp)和错误登录的账户信息(faillog)
    • /var/log/httpd/*
      /var/log/news/*
      /var/log/samba/*:网络服务相关的日志文件。

    【ps:不同的linux distributions中,通常日志的文件名不会相同,所以,具体仍需查阅主机上的日志文件设置数据。】

    日志文件的产生方式:

    • 软件开发商自行定义写入的日志文件与相关格式。
    • Linux distribution提供的日志文件管理服务来统一管理。centos7使用rsyslogd来统一管理。

    日志文件所需服务与程序

    rsyslogd : 主要登录系统与网络等服务的信息。
    klogd : 主要登录内核产生的各项信息。
    logrotate : 主要进行日志文件的轮替功能。
    

    rsyslogd

    日志文件内容的一般格式

    一般来说,系统产生的信息经过syslog记录的数据,每条信息均会记录下面的几个重要数据。

    • 事件发生的日期与时间
    • 发生此事件的主机名
    • 启动此事件的服务名称和函数名称
    • 该信息的实际数据内容
    image.png

    这里就拿第一条数据做说明:
    在7月22日 03:46:03(Jul 22 03:46:03) 由 izuf6i29flb2df231kt91hz这台主机的sshd[pid为3070]传来的消息,信息为 来自175.124.123.28端口46519的用户wuzhenqun无效

    syslog的配置文件:/etc/rsyslog.conf(centos7采用rsyslog)

    syslog针对各种服务与信息记录在某些文件的配置文件就是/etc/rsyslog.conf.这个文件规定了什么服务的什么等级信息以及需要被记录在那里(设备或文件)
    语法规则:

    服务名称[.=!]信息等级   信息记录的文件名或设备或主机
    mail.info                      /var/log/maillog_info
    #  说明 mail服务产生的大于等于info等级的信息,都记录到/var/log/maillog_info文件中
    
    • 服务名称
      syslog设置有一些服务,可以通过这些服务来存储系统的信息,syslog设置的服务主要有下面这些:
    服务类型 说明
    auth(authpriv) 主要与认证有关的机制,例如login,ssh,su等需要账号/密码
    cron 就是例行性工作调度cron/at等生成信息日志的地方
    daemon 与各个daemon有关的信息
    kern 就是内核(kernel)产生信息的地方
    lpr 即时打印相关的信息
    mail 只要与邮件收发有关的信息记录都属于这个
    news 与新闻组服务器有关的东西
    syslog 就是syslogd这个程序本身生成的信息
    user,uucp,local0-local7 与Unix like机器本身有关的一些信息

    以上提到的都是syslog自行制定的服务名称。软件开发商可以通过调用上述的服务名称来记录他们的软件。
    比如sendmail是与邮件相关的软件,都是调用syslogd内的mail服务。

    • 信息等级
    等级 等级名称 说明
    1 info 仅是一些基本的信息说明而已
    2 notice 除了info外还需要注意的一些信息内容
    3 warning(warn) 警示的信息,可能有问题,但是还不至于影响某个daemon运行的信息
    4 err(error) 一些重大的错误信息,例如配置文件的某些设置造成该服务无法启动的信息说明
    5 crit 比error还要严重的错误信息,这个crit是临界点(critical)的缩写,这个错误已经很严重了
    6 alert 警告,已经很有问题的等级,比crit还严重
    7 emergency(panic) "疼痛"等级,意指系统已经几乎要死机的状态
    • 链接符号
    "."     : 代表比后面还要高的等级(含该等级),都被记录下来的意思
    ".="    :代表需要的等级就是后面接的等级而已
    ".!"    : 代表不等于,即是除了该等级之外的其他等级都记录
    
    • rsyslog.conf配置(centos7采用rsyslog,这里使用的是rsyslog的数据)
    # Don't log private authentication messages!
    记录所有日志类型的info级别以及大于info级别的信息到/var/log/messages,但是mail邮件信息,authpriv验证方面的信息和cron时间任务相关的信息除外
    *.info;mail.none;authpriv.none;cron.none                /var/log/messages
    # The authpriv file has restricted access.
    authpriv验证相关的所有信息存放在/var/log/secure
    authpriv.*                                              /var/log/secure
    # Log all the mail messages in one place.
    邮件的所有信息存放在/var/log/maillog; 这里有一个-符号, 表示是使用异步的方式记录, 因为日志一般会比较大
    mail.*                                                  -/var/log/maillog
    # Log cron stuff
    计划任务有关的信息存放在/var/log/cron
    cron.*                                                  /var/log/cron
    # Everybody gets emergency messages
     记录所有的大于等于emerg级别信息, 以wall方式发送给每个登录到系统的人
    *.emerg                                                 :omusrmsg:*
    # Save news errors of level crit and higher in a special file.
    记录uucp,news.crit等存放在/var/log/spooler
    uucp,news.crit                                          /var/log/spooler
    # Save boot messages also to boot.log
    启动的相关信息
    local7.*                                                /var/log/boot.log
    

    日志文件的安全设置

    通过这个chattr属性可以保护日志文件只能被增加,而不能被删除。

    chattr +a /var/log/message
    

    日志文件的轮替

    配置文件:
    /etc/logrotate.conf 主要参数文件
    /etc/logrotate.d 目录文件

    下图是centos7默认的logrotate.conf文件

    logrotate.conf image.png

    相关文章

      网友评论

          本文标题:Linux日志学习

          本文链接:https://www.haomeiwen.com/subject/belevftx.html