阿汤博客-承接中小企业服务器维护和网站维护,有意者可以联系博主!

Linux日志系统以及日志文件功能详解

学习笔记 267℃ 0评论

Linux上的日志系统

syslog

syslog-ng: 开源

日志系统:syslog()

A:
B:
D:
syslog服务:

sysload:系统,非内核产生的信息
klogd:内核,专门负责记录内核产生的日志信息

kernel–>物理终端(/dev/console)–>/var/log/dmesg

dmesg命令:

cat /var/log/dmesg 内核产生的引导信息

日志需要滚动(日志切割):
/sbin/init

/var/log/messages:系统标准错误日志信息:非内核产生引导信息:各子系统产生的信息
/var/log/maillog:邮件系统产生的日志信息
/var/log/secure: 

syslog:

syslogd
klogd
配置文件:/etc/rsyslog.conf

信息详细程序:日志级别


子系统:facility,设施

/etc/rsyslog.conf配置文件定义格式为: facility.priority        action 

facility,可以理解为日志的来源或设备目前常用的facility有以下几种: 

    auth       # 认证相关的 

    authpriv    # 权限,授权相关的 

    cron       # 任务计划相关的 

    daemon      # 守护进程相关的 

    kern        # 内核相关的 

    lpr        # 打印相关的 

    mail       # 邮件相关的 

    mark       # 标记相关的 

    news       # 新闻相关的 

    security    # 安全相关的,与auth 类似  

    syslog      # syslog自己的 

    user       # 用户相关的 

    uucp       # unix to unix cp 相关的 

    local0 到 local7  # 用户自定义使用 

    *         # *表示所有的facility 

 

 priority(log level)日志的级别,一般有以下几种级别(从低到高) 

    debug           # 程序或系统的调试信息 

    info            # 一般信息

    notice          # 不影响正常功能,需要注意的消息 

    warning/warn      # 可能影响系统功能,需要提醒用户的重要事件 

    err/error        # 错误信息 

    crit            # 比较严重的 

    alert           # 必须马上处理的 

    emerg/panic       # 会导致系统不可用的 

    *              # 表示所有的日志级别 

    none            # 跟* 相反,表示啥也没有 

     

 action(动作)日志记录的位置 

    系统上的绝对路径      # 普通文件 如: /var/log/xxx 

    |                # 管道  通过管道送给其他的命令处理 

    终端              # 终端   如:/dev/console 

    @HOST             # 远程主机 如: @10.0.0.1      

    用户              # 系统用户 如: root 

    *                # 登录到系统上的所有用户,一般emerg级别的日志是这样定义的 

定义格式例子: 

mail.info   /var/log/mail.log # 表示将mail相关的,级别为info及 

                      # info以上级别的信息记录到/var/log/mail.log文件中 

auth.=info  @10.0.0.1         # 表示将auth相关的,基本为info的信息记录到10.0.0.1主机上去 

                       # 前提是10.0.0.1要能接收其他主机发来的日志信息 

user.!=error                # 表示记录user相关的,不包括error级别的信息 

user.!error                 # 与user.error相反 

*.info                    # 表示记录所有的日志信息的info级别 

mail.*                    # 表示记录mail相关的所有级别的信息 

*.*                      # 你懂的. 

cron.info;mail.info           # 多个日志来源可以用";" 隔开 

cron,mail.info              # 与cron.info;mail.info 是一个意思 

mail.*;mail.!=info           # 表示记录mail相关的所有级别的信息,但是不包括info级别的

日志文件功能详解

1./var/log/messages — 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。

2./var/log/dmesg — 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。

3./var/log/auth.log — 包含系统授权信息,包括用户登录和使用的权限机制等。

4./var/log/boot.log — 包含系统启动时的日志。

5./var/log/daemon.log — 包含各种系统后台守护进程日志信息。

6./var/log/dpkg.log – 包括安装或dpkg命令清除软件包的日志。

7./var/log/kern.log – 包含内核产生的日志,有助于在定制内核时解决问题。

8./var/log/lastlog — 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。

9./var/log/maillog /var/log/mail.log — 包含来着系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中。

10./var/log/user.log — 记录所有等级用户信息的日志。

11./var/log/Xorg.x.log — 来自X的日志信息。

12./var/log/alternatives.log – 更新替代信息都记录在这个文件中。

13./var/log/btmp – 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。

14./var/log/cups — 涉及所有打印信息的日志。

15./var/log/anaconda.log — 在安装Linux时,所有安装信息都储存在这个文件中。

16./var/log/yum.log — 包含使用yum安装的软件包信息。

17./var/log/cron — 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。

18./var/log/secure — 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。

19./var/log/wtmp或/var/log/utmp — 包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。

20./var/log/faillog – 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。

除了上述Log文件以外, /var/log还基于系统的具体应用包含以下一些子目录:

/var/log/httpd/或/var/log/apache2 — 包含服务器access_log和error_log信息。

/var/log/lighttpd/ — 包含light HTTPD的access_log和error_log。

/var/log/mail/ –  这个子目录包含邮件服务器的额外日志。

/var/log/prelink/ — 包含.so文件被prelink修改的信息。

/var/log/audit/ — 包含被 Linux audit daemon储存的信息。

/var/log/samba/ – 包含由samba存储的信息。

/var/log/sa/ — 包含每日由sysstat软件包收集的sar文件。

/var/log/sssd/ – 用于守护进程安全服务。

除了手动存档和清除这些日志文件以外,还可以使用logrotate在文件达到一定大小后自动删除。可以尝试用vim,tail,grep和less等命令查看这些日志文件。

转载请注明:阿汤博客 » Linux日志系统以及日志文件功能详解

喜欢 (0)or分享 (0)