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