zoukankan      html  css  js  c++  java
  • Linux系统级日志系统

      linux日志系统,在不同的发行版本名字不同。本质一样都是对系统运行非正常状态的记录。。。

    rhel5.x    syslog
    rhel6.x    rsyslog service rsyslog status
    rhel7.x   systemd-journald和rsyslog

    00、日志等级

    编码优先级严重性
    0 emerg 系统不可用。
    1 alert 必须立即采取措施。
    2 crit 严重状况。
    3 err 非常严重错误状况。
    4 warning 警告状况。
    5 notice 正常但重要的事件。
    6 info 信息性事件。
    7 debug 调试级别消息。
    8 none    日志不记录

    01、日志等级符号

    . ∶代表『比后面还要高的等级(含该等级)都被记录下来』    mail.info  >=info 级别的日志都记录

    .=∶代表所需要的等级就是后面接的等级而已,                     mail.=info   仅仅记录info级别的日志

    .!∶代表不等于,亦即是除了该等级外的其他等级都记录       mail.!info    !=info除去info不记录,其他都记录

    例子:

    news.*;cron.*                    /var/log/cronnews              #news及cron的所有日志信息都输出到cronnews
    news.=warn;cronn.=warn /var/log/cronnews.warn    #news及cron的warn信息都输出到cronnews.warn

    messages 这个档案需要记录所有的资讯,但是就是不想要记录 cron, mail 及 news 的资讯

    可以有两种写法,分别是∶ *.* = 所有资讯!
    *.*;news,cron,mail.none                  /var/log/messages
    *.*;news.none;cron.none;mail.none /var/log/messages
    注意:使用,分隔时,那么等级只要接在最后一个即可。如果是以『;』来分的话,那么就需要将服务与等级都写上去!

     02、查看系统默认的日志系统

    # 来自 RHEL5 的相关资料
    [root@linux ~]# vi /etc/syslog.conf
    #kern.* /dev/console
    # 只要是 kernel 产生的讯息,全部都送到 console 去!
    # 这个项目预设是关闭的!不过,只要您愿意,可以开启就是了!

    *.info;mail.none;authpriv.none;cron.none /var/log/messages
    # 在已知各服务的讯息中,不要记录到这个档案当中!
    # 例如 mail 我们已经预设要记录在 /var/log/maillog (底下),
    # 所以自然不要在记录 mail 到这个 /var/log/messages 档案中!
    # 然后其他的讯息全部都记录到 /var/log/messages 当中!
    # 所以这个档案相当的重要!没有被规定到的讯息都可以在这里找到!

    authpriv.* /var/log/secure
    # 这个就是经过一些身份确认的行为之后,需要记录身份的档案!
    # 什么是身份确认呢?例如 pop3 收信要输入帐号与密码、 ssh 与 telnet, ftp
    # 等等的服务需要输入帐号与密码,这些都会在 /var/log/secure 里面记录!
    # 他可也是相当重要的一个档案呢!

    mail.* -/var/log/maillog
    # 只要跟 mail 有关的(不论是 pop3 还是 sendmail )都会被纪录到这个档案中!

    cron.* /var/log/cron
    # 还记得例行性命令那一章节吗?!对!就是那个 crontab 的东西,
    # 那东西的服务程序名称就是 cron !执行 cron 的结果都记录于此!
    *.emerg *
    # 任何时候发生的警告讯息都会显示给线上的所有人!那个 * 就是目前线上的所有人!
    # 这个就是利用 wall 之类的方式传输讯息的啊!
    uucp,news.crit /var/log/spooler
    # 记录新闻错误高于 crit 的等级的资讯,写入 spooler 当中!

    local7.* /var/log/boot.log
    # 将开机的当中的讯息给他写入 /var/log/boot.log 这个档案当中呦!
    基本上,每个版本的 syslog.conf 差异是颇大的,所以,每个登录档记录的资料其实不很固定

    曾经使用过 Mandriva 的话,他的 syslogd 设定资讯有点像这样∶

    # 1. 先设定好所要建立的档案设置!
    [root@linux ~]# vi /etc/syslog.conf
    *.info /var/log/admin.log
    # 2. 重新启动 syslog 呢!
    [root@linux ~]# /etc/init.d/syslog restart
    [root@linux ~]# ll /var/log/admin.log
    -rw------- 1 root root 122 Oct 23 22:21 /var/log/admin.log
    # 瞧吧!建立了这个档案出现!

    chattr +a /var/log/messages   #添加隐藏属性,只能追加不能删除

    charttr -a /var/log/message   #去除追加属性

    lsattr /var/log/messages        #查看文件隐藏属性

    03、RHEL6.X日志系统rsyslog

    [root@mvp etc]# cat rsyslog.conf 
    # rsyslog v5 configuration file
    
    # For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
    # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
    
    #### MODULES ####
    
    $ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
    $ModLoad imklog   # provides kernel logging support (previously done by rklogd)
    #$ModLoad immark  # provides --MARK-- message capability
    
    # Provides UDP syslog reception
    #$ModLoad imudp
    #$UDPServerRun 514
    
    # Provides TCP syslog reception
    #$ModLoad imtcp
    #$InputTCPServerRun 514
    
    
    #### GLOBAL DIRECTIVES ####
    
    # Use default timestamp format
    $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
    
    # File syncing capability is disabled by default. This feature is usually not required,
    # not useful and an extreme performance hit
    #$ActionFileEnableSync on
    
    # Include all config files in /etc/rsyslog.d/
    $IncludeConfig /etc/rsyslog.d/*.conf  #配置的日志文件,自定义的日志
    
    
    #### RULES ####
    
    # Log all kernel messages to the console.
    # Logging much else clutters up the screen.
    #kern.*                                                 /dev/console
    
    # Log anything (except mail) of level info or higher.
    # Don't log private authentication messages!
    *.info;mail.none;authpriv.none;cron.none                /var/log/messages
    
    # The authpriv file has restricted access.
    authpriv.*                                              /var/log/secure
    
    # Log all the mail messages in one place.
    mail.*                                                  -/var/log/maillog
    
    
    # Log cron stuff
    cron.*                                                  /var/log/cron
    
    # Everybody gets emergency messages
    *.emerg                                                 *
    
    # Save news errors of level crit and higher in a special file.
    uucp,news.crit                                          /var/log/spooler
    
    # Save boot messages also to boot.log
    local7.*                                                /var/log/boot.log
    
    
    # ### begin forwarding rule ###
    # The statement between the begin ... end define a SINGLE forwarding
    # rule. They belong together, do NOT split them. If you create multiple
    # forwarding rules, duplicate the whole block!
    # Remote Logging (we use TCP for reliable delivery)
    #
    # An on-disk queue is created for this action. If the remote host is
    # down, messages are spooled to disk and sent when it is up again.
    #$WorkDirectory /var/lib/rsyslog # where to place spool files
    #$ActionQueueFileName fwdRule1 # unique name prefix for spool files
    #$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
    #$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
    #$ActionQueueType LinkedList   # run asynchronously
    #$ActionResumeRetryCount -1    # infinite retries if host is down
    # remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
    #*.* @@remote-host:514
    # ### end of the forwarding rule ###
    
    # A template to for higher precision timestamps + severity logging
    $template SpiceTmpl,"%TIMESTAMP%.%TIMESTAMP:::date-subseconds% %syslogtag% %syslogseverity-te
    xt%:%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%
    "
    :programname, startswith, "spice-vdagent"    /var/log/spice-vdagent.log;SpiceTmpl
  • 相关阅读:
    作业题---设计一个类,求和的方法,求乘积的方法
    PHP-----预定义数组和数组的函数
    PHP-----指针遍历
    PHP------定义数组,取值数组和遍历数组
    PHP---------生成随机数,日期时间函数
    PHP的字符串处理
    PHP的正则表达式常用应用
    PHP的正则表达式
    PHP---函数
    PHP分页查询中的条件查询
  • 原文地址:https://www.cnblogs.com/xiaochina/p/7467483.html
Copyright © 2011-2022 走看看