日志管理簡介
1、日志服務(wù)
在CentOS 6.x中日志服務(wù)已經(jīng)由rsyslogd取代了原先的syslogd服務(wù)碴巾。rsyslogd日志服務(wù)更加先進(jìn)溯捆,功能更多。但是不論該服務(wù)的使用,還是日志文件的格式其實都是和syslogd服務(wù)相兼容的提揍,所以學(xué)習(xí)起來基本和syslogd服務(wù)一致
rsyslogd的新特點:
基于TCP網(wǎng)絡(luò)協(xié)議傳輸日志信息啤月;
跟安全的網(wǎng)絡(luò)傳輸方式;
有日志消息的及時分析框架劳跃;
后臺數(shù)據(jù)庫谎仲;
配置文件中可以寫簡單的邏輯判斷;
與syslog配置文件相兼容刨仑。
確認(rèn)服務(wù)啟動
ps aux | grep rsyslogd
#查看服務(wù)是否啟動
chkconfig --list | grep rsyslog
# 查看服務(wù)是否自啟動
2郑诺、常見日志的作用
日志文件 | 說明 |
---|---|
/var/log/cron | 記錄了系統(tǒng)定時任務(wù)相關(guān)的日志 |
/var/log/cups/ | 記錄打印信息的日志 |
/var/log/dmesg | 記錄了系統(tǒng)在開機(jī)時內(nèi)核自檢的信息。也可以使用dmesg命令直接查看內(nèi)核自檢信息杉武。 |
/var/log/btmp | 記錄錯誤登錄的日志辙诞。這個文件是二進(jìn)制文件,不能直接vi查看轻抱,而要使用lastb命令查看 |
/var/log/lastlog | 記錄系統(tǒng)中所有用戶最后一次的登錄時間的日志飞涂。這個文件也是二進(jìn)制文件,不能直接vi祈搜,而要使用lastlog命令查看较店。 |
/var/log/mailog | 記錄郵件信息。 |
/var/log/message | 記錄系統(tǒng)重要信息的日志容燕。這個日志文件中會記錄Linux系統(tǒng)的絕大多數(shù)重要信息梁呈,如果系統(tǒng)出現(xiàn)問題時,首先要檢查的就應(yīng)該是這個日志文件 |
/var/log/secure | 記錄驗證和授權(quán)方面的信息蘸秘,只要涉及賬戶和密碼的程序都會記錄官卡。比如說系統(tǒng)的登錄,ssh的登錄秘血,su切換用戶,sudo授權(quán)评甜,甚至添加用戶和修改用戶密碼都會記錄在這個日志文件中灰粮。 |
/var/log/wtmp | 永久記錄所有用戶的登錄、注銷信息忍坷,同時記錄系統(tǒng)的啟動粘舟、重啟、關(guān)機(jī)事件佩研。同樣這個文件也是一個二進(jìn)制文件柑肴,不能直接vi,而需要使用last命令來查看旬薯。 |
/var/run/utmp | 記錄當(dāng)前已經(jīng)登錄的用戶的信息晰骑,這個文件會隨著用戶的登錄和注銷而不斷變化,只記錄當(dāng)前登錄用戶的信息绊序。同樣這個文件不能直接vi硕舆,而要使用w秽荞,who,users等命令來查詢抚官。 |
除了系統(tǒng)默認(rèn)的日志之外扬跋,采用RPM方式安裝的系統(tǒng)服務(wù)也會默認(rèn)把日志記錄在/var/log/目錄中(源碼包安裝的服務(wù)日志是在源碼包指定目錄中)。不過這些日志不是由rsyslogd服務(wù)來記錄和管理的凌节,而是各個服務(wù)使用自己的日志管理文檔來記錄自身日志钦听。
日志文件 | 說明 |
---|---|
/var/log/httpd/ | RPM包安裝的apache服務(wù)的默認(rèn)日志目錄 |
/var/lod/mail/ | RPM包安裝的郵件服務(wù)的額外日志目錄 |
/var/log/samba/ | RPM包安裝的samba服務(wù)的日志目錄 |
/var/log/sssd/ | 守護(hù)進(jìn)程安全服務(wù)目錄 |
rsyslogd日志服務(wù)
1、日志文件格式
基本日志格式包含以下四列:
事件產(chǎn)生的時間倍奢;
發(fā)生時事件的服務(wù)器的主機(jī)名朴上;
產(chǎn)生事件的服務(wù)名或程序名;
事件的具體信息娱挨。
2余指、/etc/rsyslog.conf配置文件
authpriv.* /var/log/secure
#服務(wù)名稱[連接符號]日志等級 日志記錄位置
# 認(rèn)證相關(guān)服務(wù).所有日志等級 記錄在/var/log/secure日志中
服務(wù)名稱 | 說明 |
---|---|
auth | 安全和認(rèn)證相關(guān)消息(不推薦使用authpriv替代) |
authpriv | 安全和認(rèn)證相關(guān)消息(私有的) |
cron | 系統(tǒng)定時任務(wù)cront和at產(chǎn)生的日志 |
daemon | 和各個守護(hù)進(jìn)程相關(guān)的日志 |
ftp | ftp守護(hù)進(jìn)程產(chǎn)生的日志 |
kern | 內(nèi)核產(chǎn)生的日志(不是用戶進(jìn)程產(chǎn)生的) |
local0-local7 | 為本地使用預(yù)留的服務(wù) |
lpr | 打印產(chǎn)生的日志 |
連接符號
連接符號可以識別為:
“ * ” 代表所有日志等級,比如:“ authpriv.* ” 代表authpriv認(rèn)證信息服務(wù)產(chǎn)生的日志跷坝,所有的日志等級都記錄
“ . ” 代表只要比后面的等級高的(包含該等級)日志都記錄下來酵镜。比如:”cron.info“ 代表cron服務(wù)產(chǎn)生的日志,只要日志等級大于等于info級別柴钻,就記錄
” .= “代表只記錄所需等級的日志淮韭,其他等級的都不記錄。比如:” *.=emerg “ 代表任何日志服務(wù)產(chǎn)生的日志贴届,只要等級是emerg等級就記錄靠粪。這種用法及少見,了解就好
” .! “代表不等于毫蚓,也就是除了該等級的日志外占键,其他等級的日志都記錄
日志等級
等級名稱 | 說明 |
---|---|
debug | 一般的調(diào)試信息說明 |
info | 基本的通知信息 |
notice | 普通信息,但是有一定的重要性 |
warning | 警告信息元潘,但是還不會影響到服務(wù)或系統(tǒng)的運行 |
err | 錯誤信息畔乙,一般達(dá)到err等級的信息已經(jīng)可以影響到服務(wù)或系統(tǒng)的運行了 |
crit | 臨界狀況信息,比err等級還要嚴(yán)重 |
alert | 警告狀態(tài)信息翩概,比crit還要嚴(yán)重牲距。必須立即采取行動 |
emerg | 疼痛登記信息,系統(tǒng)已經(jīng)無法使用了 |
日志輪替
1钥庇、日志文件的命名規(guī)則
如果配置文件中擁有 ” dateext “ 參數(shù)牍鞠,那么日志會用日期來作為日志文件的后綴,例如 ” secure-20181125“. 這樣的話日志文件名不會重疊评姨,所以也就不需要日志文件的改名难述,只需要保存指定的日志個數(shù),刪除多余的日志文件即可。
如果配置文件中沒有”dateext“參數(shù)龄广,那么日志文件就需要進(jìn)行改名了硫眯。當(dāng)?shù)谝淮芜M(jìn)行日志輪替時,當(dāng)前的 ” secure “ 日志會自動改名為 ” secure.1 “择同,然后新建 ” secure “ 日志两入,用來保存新的日志。當(dāng)?shù)诙芜M(jìn)行日志輪替時敲才,” secure.1 “ 會自動改名為 ”secure.2 “, 當(dāng)前的 ”secure “ 日志會自動改名為” secure.1 “裹纳,然后也會新建 ” secure “ 日志,用來保存新的日志紧武,以此類瑞剃氧。
2、logrotate配置文件
參數(shù) | 參數(shù)說明 |
---|---|
daily | 日志的輪替周期是每天 |
weekly | 日志的輪替周期是每周 |
monthly | 日志的輪替周期是每月 |
rotate 數(shù)字 | 保留的日志文件的個數(shù)阻星。0指的是沒有備份 |
compress | 日志輪替時朋鞍,舊的日志進(jìn)行壓縮 |
create mode owner group | 建立新日志,同時指定新日志的權(quán)限與所有者和所屬組妥箕。如create 0600 root utmp |
mail address | 當(dāng)日志輪替時滥酥,輸出內(nèi)容通過郵件發(fā)送到指定的郵件地址。如mail wangwei@163.com |
missingok | 如果日志不存在畦幢,則忽略該日志的警告信息 |
notifempty | 如果日志為空文件坎吻,則不進(jìn)行日志輪替 |
minsize 大小 | 日志輪替的最小值。也就是日志一定要達(dá)到這個最小值才會輪替宇葱,否則就算時間達(dá)到也不輪替 |
size 大小 | 日志只有大于指定大小才進(jìn)行日志輪替瘦真,而不是按照時間輪替。如size 100k |
dateext | 使用日期作為日志輪替文件的后綴黍瞧。如secure-20181125 |
3诸尽、把a(bǔ)pache日志加入輪替
vi /etc/logrotate.conf
/usr/local/aoache2/logs/access_log{
daily
create
route 30
}
4、logrotate命令
logrotate 【選項】 配置文件名
選項:
如果此命令沒有選項印颤,則會按照配置文件中的條件進(jìn)行日志輪替
-v:顯示日志輪替過程您机。加了-v選項會顯示日志的輪替過程
-f:強(qiáng)制進(jìn)行日志輪替。不管日志輪替的條件是否已經(jīng)符合膀哲,強(qiáng)制配置文件中所有的日志進(jìn)行輪替