此 rsyslogd
後台進程負責搜集來自應用程式與核心的服務訊息,然後送至日誌檔內 (通常儲存在 /var/log/
資料夾內)。遵守 /etc/rsyslog.conf
組態檔案的要求。
每個日誌檔內的訊息都與應用程式次系統有關 (文件中稱為 “設施”):
auth
和 authpriv
:供認證之用;
cron
:來自工作排程服務,cron
和 atd
;
daemon
:未受任何特別分類影響的後台進程 (DNS、NTP 等);
ftp
:關心 FTP 伺服器;
kern
:來自核心的訊息;
lpr
:來自列印次系統的;
mail
:來自電子郵件次系統;
news
:Usenet 次系統的訊息 (尤其是來自管理新聞群組的 NNTP — Network News Transfer Protocol — 伺服器);
syslog
:來自 syslogd
伺服器本身的訊息;
user
:使用者訊息 (一般);
uucp
:來自 UUCP 伺服器 (Unix to Unix Copy Program,用於散布電子郵件訊息的通訊協定) 的訊息;
local0
至 local7
:保留給在地使用。
每個訊息有其自身的優先層級。以下的遞減的清單:
The syntax of the /etc/rsyslog.conf
file is detailed in the rsyslog.conf(5) manual page, but there is also HTML documentation available in the rsyslog-doc package (/usr/share/doc/rsyslog-doc/html/index.html
). The overall principle is to write “selector” and “action” pairs. The selector defines all relevant messages, and the action describes how to deal with them.
選擇器是分號區隔 次系統.優先層級
配對 (如:auth.notice;mail.info
) 清單。星號代表所有次系統或優先層級 (如:*.alert
或 mail.*
)。可以用逗點群聚多個次系統,(如:auth,mail.info
)。優先層級也包括等於或高於的優先訊息;因此 auth.alert
表示 auth
次系統的 alert
或 emerg
優先層級。前置驚嘆號 (!) 表示相反的意思,換句話說,就是限於較低的優先層級;auth.!notice
表示來自 auth
次系統的 info
或 debug
優先層級。前置等號 (=) 表示祗限該優先層級 (auth.=notice
祗限於來自 auth
訊息的 notice
優先層級)。
選擇器清單內的元素,後者權限均高於前者。據以限制或排除特定的元素。例如,kern.info;kern.!err
表示來自核心的訊息,其優先權介於 info
和 warn
之間。none
優先權表示空白的集合 (無優先權),且可做為從訊息集中排除指定的次系統。因此,*.crit;kern.none
表示所有來自核心以外的訊息,其優先權均等同於高於 crit
。
可能的行動為:
新增訊息至檔案 (如:/var/log/messages
);
新增訊息至遠端 syslog
伺服器 (如:@log.falcot.com
);
送訊息至已命名的管端 (如:|/dev/xconsole
);
送訊息給一位或多位已登入的使用者 (如:root,rhertzog
);
送訊息給所有已登入的使用者 (如:*
);
在文字終端機撰寫訊息 (如:/dev/tty8
)。