新聞中心

/etc/rsyslog.conf配置文件的格式
該配置文件的基本格式如下所示:
authpriv.* /var/log/secure
#服務(wù)名稱[連接符號(hào)]日志等級 日志記錄位置
#認(rèn)證相關(guān)服務(wù).所有日志等級 記錄在/var/log/secure日志中
服務(wù)名稱
我們首先需要確定 rsyslogd 服務(wù)可以識(shí)別哪些服務(wù)的日志,也可以理解為以下這些服務(wù)委托 rsyslogd 服務(wù)來代為管理日志。這些服務(wù)如表 1 所示。
| 服務(wù)名稱 | 說 明 |
|---|---|
| auth(LOG AUTH) | 安全和認(rèn)證相關(guān)消息 (不推薦使用authpriv替代) |
| authpriv(LOG_AUTHPRIV) | 安全和認(rèn)證相關(guān)消息(私有的) |
| cron (LOG_CRON) | 系統(tǒng)定時(shí)任務(wù)cront和at產(chǎn)生的日志 |
| daemon (LOG_DAEMON) | 與各個(gè)守護(hù)進(jìn)程相關(guān)的曰志 |
| ftp (LOG_FTP) | ftp守護(hù)進(jìn)程產(chǎn)生的曰志 |
| kern(LOG_KERN) | 內(nèi)核產(chǎn)生的曰志(不是用戶進(jìn)程產(chǎn)生的) |
| Iocal0-local7 (LOG_LOCAL0-7) | 為本地使用預(yù)留的服務(wù) |
| lpr (LOG_LPR) | 打印產(chǎn)生的日志 |
| mail (LOG_MAIL) | 郵件收發(fā)信息 |
| news (LOG_NEWS) | 與新聞服務(wù)器相關(guān)的日志 |
| syslog (LOG_SYSLOG) | 存syslogd服務(wù)產(chǎn)生的曰志信息(雖然服務(wù)名稱己經(jīng)改為reyslogd,但是很多配罝依然沿用了 syslogd服務(wù)的,所以這里并沒有修改服務(wù)名稱) |
| user (LOG_USER) | 用戶等級類別的日志信息 |
| uucp (LOG_UUCP> | uucp子系統(tǒng)的日志信息,uucp是早期Linux系統(tǒng)進(jìn)行數(shù)據(jù)傳遞的協(xié)議,后來 也常用在新聞組服務(wù)中 |
這些日志服務(wù)名稱是rsyslogd服務(wù)自己定義的,并不是實(shí)際的Linux的服務(wù)。當(dāng)有服務(wù)需要由rsyslogd服務(wù)來幫助管理日志時(shí),只需要調(diào)用這些服務(wù)名稱就可以實(shí)現(xiàn)日志的委托管理。
這些日志服務(wù)名稱大家可以使用命令“man 3 syslog”來查看。雖然我們的日志管理服務(wù)已經(jīng)更新到rsyslogd,但是很多配置依然沿用了syslogd服務(wù),在幫助文檔中仍然查看syslog服務(wù)的幫助信息。
連接符號(hào)
日志服務(wù)連接日志等級的格式如下:
日志服務(wù)[連接符號(hào)]日志等級 日志記錄位置
在這里,連接符號(hào)可以被識(shí)別為以下三種。
- “.”代表只要比后面的等級高的(包含該等級)日志都記錄。比如,“cron.info”代表cron服務(wù)產(chǎn)生的日志,只要日志等級大于等于info級別,就記錄。
- “.=”代表只記錄所需等級的日志,其他等級的日志都不記錄。比如,“*.=emerg”代表人和日志服務(wù)產(chǎn)生的日志,只要等級是emerg等級,就記錄。這種用法極少見,了解就好。
- “.!”代表不等于,也就是除該等級的日志外,其他等級的日志都記錄。
日志等級
每個(gè)日志的重要性都是有差別的,比如,有些日志只是系統(tǒng)的一個(gè)日常提醒,看不看根本不會(huì)對系統(tǒng)的運(yùn)行產(chǎn)生影響;但是有些日志就是系統(tǒng)和服務(wù)的警告甚至報(bào)錯(cuò)信息,這些日志如果不處理,就會(huì)威脅系統(tǒng)的穩(wěn)定或安全。如果把這些日志全部寫入一個(gè)文件,那么很有可能因?yàn)楣芾韱T的大意而忽略重要信息。
比如,我們在工作中需要處理大量的郵件,筆者每天可能會(huì)接收到200多封郵件。而這些郵件中的絕大多數(shù)是不需要處理的普通信息郵件,甚至是垃圾郵件。所以筆者每天都要先把這些大量的非重要郵件刪除之后,才能找到真正需要處理的郵件。但是每封郵件的標(biāo)題都差不多,有時(shí)會(huì)誤刪除需要處理的郵件。這時(shí)筆者就非常懷念Linux的日志等級,如果郵件也能標(biāo)識(shí)重要等級,就不會(huì)誤刪除或漏處理重要郵件了。
郵件的等級信息也可以使用“man 3 syslog”命令來查看。日志等級如表 2 所示,我們按照嚴(yán)重等級從低到高排列。
| 等級名稱 | 說 明 |
|---|---|
| debug (LOG_DEBUG) | 一般的調(diào)試信息說明 |
| info (LOG_INFO) | 基本的通知信息 |
| nolice (LOG_NOTICE) | 普通信息,但是有一定的重要性 |
| warning(LOG_WARNING) | 警吿信息,但是還不會(huì)影響到服務(wù)或系統(tǒng)的運(yùn)行 |
| err(LOG_ERR) | 錯(cuò)誤信息, 一般達(dá)到err等級的信息已經(jīng)可以影響到服務(wù)成系統(tǒng)的運(yùn)行了 |
| crit (LOG_CRIT) | 臨界狀況信思,比err等級還要嚴(yán)? |
| alert (LOG_ALERT) | 狀態(tài)信息,比crit等級還要嚴(yán)重,必須立即采取行動(dòng) |
| emerg (LOG_EMERG) | 疼痛等級信息,系統(tǒng)已經(jīng)無法使用了 |
| * | 代表所有日志等級。比如,“authpriv.*”代表amhpriv認(rèn)證信息服務(wù)產(chǎn)生的日志,所有的日志等級都記錄 |
日志等級還可以被識(shí)別為“none”。如果日志等級是none,就說明忽略這個(gè)日志服務(wù),該服務(wù)的所有日志都不再記錄。
日志記錄位置
日志記錄位置就是當(dāng)前日志輸出到哪個(gè)日志文件中保存,當(dāng)然也可以把日志輸出到打印機(jī)打印,或者輸出到遠(yuǎn)程日志服務(wù)器上(當(dāng)然,遠(yuǎn)程日志服務(wù)器要允許接收才行)。日志的記錄位置也是固定的:
- 日志文件的絕對路徑。這是最常見的日志保存方法,如“/var/log/secure”就是用來保存系統(tǒng)驗(yàn)證和授權(quán)信息日志的。
- 系統(tǒng)設(shè)備文件。如“/dev/lp0”代表第一臺(tái)打印機(jī),如果日志保存位置是打印機(jī)設(shè)備,當(dāng)有日志時(shí)就會(huì)在打印機(jī)上打印。
- 轉(zhuǎn)發(fā)給遠(yuǎn)程主機(jī)。因?yàn)榭梢赃x擇使用 TCP 和 UDP 協(xié)議傳輸日志信息,所以有兩種發(fā)送格式:如果使用“@192.168.0.210:514”,就會(huì)把日志內(nèi)容使用 UDP 協(xié)議發(fā)送到192.168.0.210 的 UDP 514 端口上;如果使用“@@192.168.0.210:514”,就會(huì)把日志內(nèi)容使用 TCP 協(xié)議發(fā)送到 192.168.0.210 的 TCP 514 端口上,其中 514 是日志服務(wù)默認(rèn)端口。當(dāng)然,只要 192.168.0.210 同意接收此日志,就可以把日志內(nèi)容保存在日志服務(wù)器上。
- 用戶名。如果是“root”,就會(huì)把日志發(fā)送給 root 用戶,當(dāng)然 root 要在線,否則就收不到日志信息了。發(fā)送日志給用戶時(shí),可以使用“*”代表發(fā)送給所有在線用戶,如“mail.**”就會(huì)把 mail 服務(wù)產(chǎn)生的所有級別的日志發(fā)送給所有在線用戶。如果需要把日志發(fā)送給多個(gè)在線用戶,則用戶名之間用“,”分隔。
- 忽略或丟棄日志。如果接收日志的對象是“~”,則代表這個(gè)日志不會(huì)被記錄,而被直接丟棄。如“l(fā)ocal3.* ~”代表忽略 local3 服務(wù)類型所有的日志都不記錄。
- 忽略或丟棄日志。如果接收日志的對象是“~”,則代表這個(gè)日志不會(huì)被記錄,而被直接丟棄。如“l(fā)ocal3.* ~”代表忽略 local3 服務(wù)類型所有的日志都不記錄。
/etc/rsyslog.conf配置文件的內(nèi)容
我們知道了/etc/rsyslog.conf 配置文件中日志的格式,接下來就看看這個(gè)配置文件的具體內(nèi)容。
[root@localhost ~]# vi /etc/rsyslog.conf
#查看配置文件的內(nèi)容
#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)
#加載imixsock模塊,為本地系統(tǒng)登錄提供支持
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
#加載imklog模塊,為內(nèi)核登錄提供支持
#$ModLoad immark # provides --MARK-- message capability
#加載immark模塊,提供標(biāo)記信息的能力
# Provides UDP syslog reception
#$ModLoad imudp
#SUDPServerRun 514
#加載UPD模塊,允許使用UDP的514端口接收采用UDP協(xié)議轉(zhuǎn)發(fā)的日志
# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
#加栽TCP摸塊,允許使用TCP的514編口接收采用TCP協(xié)議轉(zhuǎn)發(fā)的日志
#### GLOBAL DIRECTIVES ####
#定義全局設(shè)置
#Use default timestamp format
#ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat #定義曰志的時(shí)間使用默認(rèn)的時(shí)間戳格式
#File syncing capability is disabled by default. This feature is usually not required,
#not useful and an extreme performance hit
#$ActionFileEnableSync on
#文件同步功能。默認(rèn)沒有開啟,是注釋的
#Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf
#包含/etx/tsyslog.d/目錄中所有的".conf"子配置文件。也就是說,這個(gè)目錄中的所有子配置文件也同時(shí)生效
#### RULES ####
#日志文件保存規(guī)則
#Log all kernel messages to the console.
#Logging much else clutters up the screen.
#kern.* /dev/console
#kern服務(wù).所有曰志級別 保存在/dev/console
#這個(gè)日志默認(rèn)沒有開啟,如果需要,則取消注釋
#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
#所有服務(wù).info以上級到的日志保存在/var/log/messages日志文件中
#mail, authpriv^ cron的B志不記錄在/var/log/messages曰志文件中,因?yàn)樗鼈儾坑凶约旱脑恢疚募?br />#所以/var/log/messages日志是最重要的系統(tǒng)日志文件,需要經(jīng)常查看
#The authpriv file has restricted access.
authpriv.* /var/log/secure
#用戶認(rèn)證服務(wù)所有級別的日志保存在/vai/1og/secure日志文件中
#Log all the mail messages in one place.
mail.* -/var/log/maillog
#mail服務(wù)的所有級別的日志保存在/var/log/maillog 日志文件中
#"-"的含義是日志先在內(nèi)存中保存.當(dāng)曰志足夠多之后.再向文件中保存
# Log cron stuff
cron.* /var/log/cron
#計(jì)対任務(wù)的所有日志保存在/var/log/cron日志文件中
# Everybody gets emergency messages
#所有日志服務(wù)的疼痛等級日志對所有在線用戶廣播
#Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler
#uucp和news曰志服務(wù)的crit以上級別的日志保存在/var/log/sppoler曰志文件中
#Save boot messages also to boot.log
local7.* /var/log/boot.log
#loacl7 日志服務(wù)的所有日志寫入/var/log/boot.log 日志文件中 #會(huì)把開機(jī)時(shí)的檢測信息在顯示到屏幕的同時(shí)寫入/var/log/boot.log 日志文件中
# ### begin forwarding rule ###
#定義轉(zhuǎn)發(fā)規(guī)到
#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. #SWorkDirectory /var/lib/rsyslog # where to place spool files #$ActionQueueFileName fwdRulel # 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 t 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 #*?* @6remote-host:514
# ### end of the forwarding rule ##
其實(shí)系統(tǒng)已經(jīng)非常完善地定義了這個(gè)配置文件的內(nèi)容,系統(tǒng)中重要的日志也已經(jīng)記錄得非常完備。如果是外來的服務(wù),如 apache、Samba 等服務(wù),那么這些服務(wù)的配置文件中也詳細(xì)定義了日志的記錄格式和記錄方法。所以,日志的配置文件基本上不需要我們修改,我們要做的僅僅是查看和分析系統(tǒng)記錄好的日志而已。
文章題目:rsyslogd配置文件格式及其內(nèi)容詳解
標(biāo)題來源:http://m.fisionsoft.com.cn/article/djjdjpe.html


咨詢
建站咨詢
