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%\n" :programname, startswith, "spice-vdagent" /var/log/spice-vdagent.log;SpiceTmpl