Linux日志写空,(十四)Linux日志管理
第一節(jié) 日志管理簡介
1.日志服務(wù)
在CentOS6.x中日志服務(wù)已經(jīng)由rsyslogd取代了原先的syslogd服務(wù)。rsyslogd日志服務(wù)更加先進(jìn),功能更多
但是不論該服務(wù)的使用,還是日志文件的格式其實(shí)都是和syslogd服務(wù)相兼容的,所以學(xué)習(xí)起來基本和syslogd服務(wù)一致
rsyslogd的新特點(diǎn)
1)基于TCP網(wǎng)絡(luò)協(xié)議傳輸日志信息
2)更安全的網(wǎng)絡(luò)傳輸方式
3)有日志消息的及時(shí)分析框架
4)后臺(tái)數(shù)據(jù)庫
5)配置文件中可以寫簡單的邏輯判斷
6)與syslog配置文件相兼容
2.確定服務(wù)啟動(dòng)
ps aux | grep rsyslogd? ? ? ? ? ? ? ? ?? 查看服務(wù)是否啟動(dòng)
chkconfig --list | grep rsyslog? ? ? ? 查看服務(wù)是否自啟動(dòng)
3.常見的日志的作用
日志文件? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 說? 明
/var/log/cron? ? ? ? ? ? ? ? ? ? ??? 記錄了系統(tǒng)定時(shí)任務(wù)相關(guān)的日志
/var/log/cups/? ? ? ? ? ? ? ? ? ? ? 記錄了打印信息的日志
/var/log/dmesg? ? ? ? ? ? ? ? ? ? 記錄了系統(tǒng)在開機(jī)時(shí)內(nèi)核自檢的信息,也可以使用dmesg命令直接查看內(nèi)核自檢信息
/var/log/btmp? ? ? ? ? ? ? ? ? ? ? 記錄錯(cuò)誤登陸的日志,這個(gè)文件是二進(jìn)制文件,不能直接vi查看,而要使用last命令查看,而要使用lastb命令查看
/var/log/lastl? ? ? ? ? ? ? ? ? ? ? ? 記錄系統(tǒng)中所有用戶最后一次登陸時(shí)間的日志,這個(gè)文件也是二進(jìn)制文件,不能直接vi,而要使用lastlog命令查看
/var/log/maillog? ? ? ? ? ? ? ? ? ? 記錄郵件信息
/var/log/message? ? ? ? ? ? ? ? 記錄系統(tǒng)重要信息的日志,這個(gè)日志文件中會(huì)記錄Linux系統(tǒng)中的絕大多數(shù)重要信息,如果系統(tǒng)出現(xiàn)問題時(shí),首先要檢查的就應(yīng)該是這個(gè)日志文件
/var/log/secure? ? ? ? ? ? ? ? ? ?? 記錄驗(yàn)證和授權(quán)方面的信息,只要涉及賬戶和密碼的程序都會(huì)記錄,比如系統(tǒng)的登陸,ssh的登陸,su切換用戶,sudo授權(quán),甚至添加用戶和修改用戶密碼都會(huì)記錄在這個(gè)日志文件中
/var/log/wtmp? ? ? ? ? ? ? ? ? ? ?? 永久記錄所有用戶的登陸,注銷信息,同時(shí)記錄系統(tǒng)的啟動(dòng),重啟,關(guān)機(jī)事件,同樣這個(gè)文件也是一個(gè)二進(jìn)制文件,不能直接vi,而需要使用last命令查看
/var/run/utmp? ? ? ? ? ? ? ? ? ? ? ? 記錄當(dāng)前已經(jīng)登陸的用戶的信息,這個(gè)文件隨著用戶的登陸和注銷不斷變化,只記錄當(dāng)前登陸用戶的信息。同樣這個(gè)文件不能直接vi,而要使用w,who,users等命令查看
除了系統(tǒng)默認(rèn)的日志之外,采用RPM方式安裝的系統(tǒng)服務(wù)也會(huì)默認(rèn)把日志記錄在/var/log/目錄中(源碼包安裝的服務(wù)日志是在源碼包指定目錄中)。不過這些日志不是由rsyslogd服務(wù)來記錄和管理的,而是各個(gè)服務(wù)使用自己的日志管理文檔來記錄自身日志
/var/log/httpd/? RPM包安裝的apache服務(wù)的默認(rèn)日志目錄
/var/log/mail/? ? RPM包安裝的郵件服務(wù)的額外日志目錄
/var/log/samba/ RPM包安裝的samba服務(wù)的日志目錄
/var/log/sssd/? ? 守護(hù)進(jìn)程安全服務(wù)目錄
第二節(jié) rsyslogd日志服務(wù)
1.日志文件格式
基本日志格式包含以下四列:
時(shí)間產(chǎn)生的時(shí)間
發(fā)生事件的服務(wù)器的主機(jī)名
產(chǎn)生事件的服務(wù)名或進(jìn)程名
事件的具體信息
2./etc/rsyslog.conf 配置文件
authpriv.*? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /var/log/secure
服務(wù)名稱[連接符號(hào)]日志等級(jí)? ? ? ? ? ? ? ? ? 日志記錄位置
認(rèn)證相關(guān)服務(wù).所有日志等級(jí)
1)服務(wù)名稱
服務(wù)名稱? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 說? 明
auth? ? ? ? ? ? ? ? ? ? ??? 安全和認(rèn)證相關(guān)消息(不推薦使用authpriv替代)
authpriv? ? ? ? ? ? ? ? ? 安全和認(rèn)證相關(guān)消息(私有的)
cron? ? ? ? ? ? ? ? ? ? ??? 系統(tǒng)定時(shí)任務(wù)cront和at產(chǎn)生的日志
daemon? ? ? ? ? ? ? ?? 和各個(gè)守護(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)生的日志
mail? ? ? ? ? ? ? ? ? ? ? ? 郵件收發(fā)信息
news? ? ? ? ? ? ? ? ? ? ? 與新聞服務(wù)器相關(guān)的日志
syslog? ? ? ? ? ? ? ? ? ? 有syslogd服務(wù)產(chǎn)生的日志信息(雖然服務(wù)名稱已經(jīng)改為rsyslogd,但是很多配置還是沿用了syslogd的,這里并沒有修改服務(wù)名)
user? ? ? ? ? ? ? ? ? ? ? ? 用戶等級(jí)類別的日志信息
uucp? ? ? ? ? ? ? ? ? ? ? ? uucp子系統(tǒng)的日志信息,uucp是早期linux系統(tǒng)進(jìn)行數(shù)據(jù)傳遞的協(xié)議,后來也常用在新聞組服務(wù)中
2)連接符號(hào)
連接符號(hào)可以識(shí)別為
"*"代表所有日志等級(jí),比如:"authpriv"代表authpriv認(rèn)證服務(wù)產(chǎn)生的日志,所有的日志等級(jí)都記錄
"."代表只要比后面的等級(jí)高的(包含該等級(jí))日志都記錄下來。比如:"cron.info"代表cron服務(wù)產(chǎn)生的日志,只要日志等級(jí)大于info級(jí)別,就記錄
".="代表只記錄所需等級(jí)的日志,其他等級(jí)的都不記錄。比如:"*.=emerg"代表人和日志服務(wù)產(chǎn)生的日志,只要等級(jí)是emerg等級(jí)就記錄。這種用法及少見,了解就好
".!"代表不等于,也就是除了該等級(jí)的日志外,其他等級(jí)的日志都記錄
日志等級(jí)
等級(jí)名稱? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 說? 明
debug? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 一般的調(diào)試信息說明
info? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 基本的通知信息
notice? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 普通信息,但是有一定的重要性
warning? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 警告信息,但是還不會(huì)影響到服務(wù)或系統(tǒng)的運(yùn)行
err? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 錯(cuò)誤信息,一般達(dá)到err等級(jí)的信息以及可以影響到服務(wù)或系統(tǒng)的運(yùn)行了
crit? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? 臨界狀況信息,比err等級(jí)還要嚴(yán)重
alert? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? 警告狀態(tài)信息,比crit還要嚴(yán)重,必須立即采取行動(dòng)
emerg? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 疼痛等級(jí)信息,系統(tǒng)已經(jīng)無法使用了
注意:日志等級(jí)越高記錄的信息越少,優(yōu)先級(jí)越高,日志的等級(jí)越低記錄的信息越多,優(yōu)先級(jí)越低
日志記錄位置
1)日志文件的絕對路徑,如"/var/log/secure"
2)系統(tǒng)設(shè)備文件,如"/dev/lp0"
3)轉(zhuǎn)發(fā)給遠(yuǎn)程主機(jī),如"@192.168.0.210:514"
4)用戶名,如"root"(這個(gè)用戶要在線)
5)忽略或丟棄日志,如 "~"
第三節(jié) 日志輪替
1)切割:將日志分為一天一天的
2)輪替:刪除舊的為新的騰空間
Apache支持日志的切割,但不支持日志的輪替
Linux自帶日志的切割和輪替功能
1.日志文件的命名規(guī)則
如果配置文件中擁有"dateext"參數(shù),那么日志會(huì)用日期來作為日志文件的后綴,例如"secure-20130605",這樣的話日志文件名不會(huì)重疊,所以也就不需要日志文件的改名,只需要保存指定的日志個(gè)數(shù),刪除多余的日志即可。
如果配置文件中沒有"dateext"參數(shù),那么日志文件就需要進(jìn)行改名了。當(dāng)?shù)谝淮芜M(jìn)行日志輪替時(shí),當(dāng)前的"secure"日志會(huì)自動(dòng)改名為"secure.1",然后新建"secure"日志,用來保存新的日志。當(dāng)?shù)诙芜M(jìn)行日志輪替時(shí),"secure.1"會(huì)自動(dòng)改名為"secure.2",當(dāng)前的"secure"日志會(huì)自動(dòng)改名為"secure.1",然后也會(huì)新建"secure"日志來保存新的日志,以此類推。
2.logrotate配置文件
參 數(shù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 參 數(shù) 說 明
daily? ? ? ? ? ? ? ? ? ? ? ? ? ?? 日志輪替周期是每天
weekly? ? ? ? ? ? ? ? ? ? ? ?? 日志輪替周期是每周
monthly? ? ? ? ? ? ? ? ? ? ??? 日志的輪替周期是每月
rotate 數(shù)字? ? ? ? ? ? ? ? ? 保留的日志文件的個(gè)數(shù),0指沒有備份
compress? ? ? ? ? ? ? ? ? ? 日志輪替時(shí),舊的日志進(jìn)行壓縮
create mode owner? ? 建立新的日志,同時(shí)指定新日志的權(quán)限與所有者和所屬組
group
mail address? ? ? ? ? ? ? ? 當(dāng)日志輪替時(shí),輸出內(nèi)容通過郵件發(fā)送到指定的郵件地址
missingok? ? ? ? ? ? ? ? ? ?? 如果日志不存在,則忽略該日志的警告信息
notifempty? ? ? ? ? ? ? ? ? ?? 如果日志為空文件,則不進(jìn)行日志輪替
minsize 大小? ? ? ? ? ? ? ? 日志輪替的最小值,也就是日志一定要達(dá)到這個(gè)最小值才會(huì)輪替,否則就算時(shí)間大達(dá)到也不輪替
size 大小? ? ? ? ? ? ? ? ? ? ?? 日志只有大于指定的大小才進(jìn)行日志輪替,而不是按照時(shí)間輪替。如size 100k
dateext? ? ? ? ? ? ? ? ? ? ? ? ? 使用日期作為日志輪替文件的后綴,如secure-20130605
3.把源碼包安裝的apache日志加入輪替
vi /etc/logrotate.conf
/usr/local/apache2/logs/access_log {
daily
create
rotate 30
}
4.logrotate命令
logrotate [選項(xiàng)] 配置文件名
選項(xiàng)
如果此命令沒有選項(xiàng),則會(huì)按照配置文件中的條件進(jìn)行日志輪替
-v? ? 顯示日志輪替過程。加了-v選項(xiàng),會(huì)顯示日志的輪替過程
-f? ? 強(qiáng)制進(jìn)行日志輪替。不管日志輪替的條件是否已經(jīng)符合,強(qiáng)制配置文件中的所有的日志進(jìn)行輪替
總結(jié)
以上是生活随笔為你收集整理的Linux日志写空,(十四)Linux日志管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MYSQL网络数据库管理
- 下一篇: Linux基础:日志管理