Linux上的日志系統(tǒng)
syslog
syslog-ng: 開源
日志系統(tǒng):syslog()
A:
B:
D:
syslog服務(wù):
sysload:系統(tǒng),非內(nèi)核產(chǎn)生的信息
klogd:內(nèi)核,專門負(fù)責(zé)記錄內(nèi)核產(chǎn)生的日志信息kernel-->物理終端(/dev/console)-->/var/log/dmesg
dmesg命令:
cat /var/log/dmesg 內(nèi)核產(chǎn)生的引導(dǎo)信息
日志需要滾動(日志切割):
/sbin/init
/var/log/messages:系統(tǒng)標(biāo)準(zhǔn)錯誤日志信息:非內(nèi)核產(chǎn)生引導(dǎo)信息:各子系統(tǒng)產(chǎn)生的信息
/var/log/maillog:郵件系統(tǒng)產(chǎn)生的日志信息
/var/log/secure:syslog:
syslogd
klogd
配置文件:/etc/rsyslog.conf
信息詳細(xì)程序:日志級別
子系統(tǒng):facility,設(shè)施
/etc/rsyslog.conf配置文件定義格式為: facility.priority action
facility,可以理解為日志的來源或設(shè)備目前常用的facility有以下幾種:
auth # 認(rèn)證相關(guān)的
authpriv # 權(quán)限,授權(quán)相關(guān)的
cron # 任務(wù)計劃相關(guān)的
daemon # 守護進程相關(guān)的
kern # 內(nèi)核相關(guān)的
lpr # 打印相關(guān)的
mail # 郵件相關(guān)的
mark # 標(biāo)記相關(guān)的
news # 新聞相關(guān)的
security # 安全相關(guān)的,與auth 類似
syslog # syslog自己的
user # 用戶相關(guān)的
uucp # unix to unix cp 相關(guān)的
local0 到 local7 # 用戶自定義使用
* # *表示所有的facility
priority(log level)日志的級別,一般有以下幾種級別(從低到高)
debug # 程序或系統(tǒng)的調(diào)試信息
info # 一般信息
notice # 不影響正常功能,需要注意的消息
warning/warn # 可能影響系統(tǒng)功能,需要提醒用戶的重要事件
err/error # 錯誤信息
crit # 比較嚴(yán)重的
alert # 必須馬上處理的
emerg/panic # 會導(dǎo)致系統(tǒng)不可用的
* # 表示所有的日志級別
none # 跟* 相反,表示啥也沒有
action(動作)日志記錄的位置
系統(tǒng)上的絕對路徑 # 普通文件 如: /var/log/xxx
| # 管道 通過管道送給其他的命令處理
終端 # 終端 如:/dev/console
@HOST # 遠(yuǎn)程主機 如: @10.0.0.1
用戶 # 系統(tǒng)用戶 如: root
* # 登錄到系統(tǒng)上的所有用戶,一般emerg級別的日志是這樣定義的
定義格式例子:
mail.info /var/log/mail.log # 表示將mail相關(guān)的,級別為info及
# info以上級別的信息記錄到/var/log/mail.log文件中
auth.=info @10.0.0.1 # 表示將auth相關(guān)的,基本為info的信息記錄到10.0.0.1主機上去
# 前提是10.0.0.1要能接收其他主機發(fā)來的日志信息
user.!=error # 表示記錄user相關(guān)的,不包括error級別的信息
user.!error # 與user.error相反
*.info # 表示記錄所有的日志信息的info級別
mail.* # 表示記錄mail相關(guān)的所有級別的信息
*.* # 你懂的.
cron.info;mail.info # 多個日志來源可以用";" 隔開
cron,mail.info # 與cron.info;mail.info 是一個意思
mail.*;mail.!=info # 表示記錄mail相關(guān)的所有級別的信息,但是不包括info級別的
日志文件功能詳解
1./var/log/messages — 包括整體系統(tǒng)信息,其中也包含系統(tǒng)啟動期間的日志。此外,mail,cron,daemon,kern和auth等內(nèi)容也記錄在var/log/messages日志中。
2./var/log/dmesg — 包含內(nèi)核緩沖信息(kernel ring buffer)。在系統(tǒng)啟動時,會在屏幕上顯示許多與硬件有關(guān)的信息??梢杂胐mesg查看它們。
3./var/log/auth.log — 包含系統(tǒng)授權(quán)信息,包括用戶登錄和使用的權(quán)限機制等。
4./var/log/boot.log — 包含系統(tǒng)啟動時的日志。
5./var/log/daemon.log — 包含各種系統(tǒng)后臺守護進程日志信息。
6./var/log/dpkg.log – 包括安裝或dpkg命令清除軟件包的日志。
7./var/log/kern.log – 包含內(nèi)核產(chǎn)生的日志,有助于在定制內(nèi)核時解決問題。
8./var/log/lastlog — 記錄所有用戶的最近信息。這不是一個ASCII文件,因此需要用lastlog命令查看內(nèi)容。
9./var/log/maillog /var/log/mail.log — 包含來著系統(tǒng)運行電子郵件服務(wù)器的日志信息。例如,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 — 每當(dāng)cron進程開始一個工作時,就會將相關(guān)信息記錄在這個文件中。
18./var/log/secure — 包含驗證和授權(quán)方面信息。例如,sshd會將所有信息記錄(其中包括失敗登錄)在這里。
19./var/log/wtmp或/var/log/utmp — 包含登錄信息。使用wtmp可以找出誰正在登陸進入系統(tǒng),誰使用命令顯示這個文件或信息等。
20./var/log/faillog – 包含用戶登錄失敗信息。此外,錯誤登錄命令也會記錄在本文件中。
除了上述Log文件以外, /var/log還基于系統(tǒng)的具體應(yīng)用包含以下一些子目錄:
/var/log/httpd/或/var/log/apache2 — 包含服務(wù)器access_log和error_log信息。
/var/log/lighttpd/ — 包含light HTTPD的access_log和error_log。
/var/log/mail/ – 這個子目錄包含郵件服務(wù)器的額外日志。
/var/log/prelink/ — 包含.so文件被prelink修改的信息。
/var/log/audit/ — 包含被 Linux audit daemon儲存的信息。
/var/log/samba/ – 包含由samba存儲的信息。
/var/log/sa/ — 包含每日由sysstat軟件包收集的sar文件。
/var/log/sssd/ – 用于守護進程安全服務(wù)。
除了手動存檔和清除這些日志文件以外,還可以使用logrotate在文件達到一定大小后自動刪除。可以嘗試用vim,tail,grep和less等命令查看這些日志文件。