了解最新公司動態(tài)及行業(yè)資訊
1、 日志服務
l 在CentOS 6.x中日志服務已經(jīng)由rsyslogd取代了原先的syslogd服務。rsyslogd日志服務更加先進,功能更多。但是不論該服務的使用,還是日志文件的格式其實都是和syslogd服務相兼容的,所以學習起來基本和syslogd服務一致。
l rsyslogd的新特點:
? 基于TCP網(wǎng)絡協(xié)議傳輸日志信息;
? 更安全的網(wǎng)絡傳輸方式;
? 有日志消息的及時分析框架;
? 后臺數(shù)據(jù)庫;
? 配置文件中可以寫簡單的邏輯判斷;
? 與syslog配置文件相兼容。
確定服務啟動
[root@localhost ~]# ps aux | grep rsyslogd
#查看服務是否啟動
chkconfig --list | grep rsyslog
systemctl list-unit-files | grep rsyslog [Centos7]
#查看服務是否自啟動
2、 常見日志的作用
l 除了系統(tǒng)默認的日志之外,采用RPM方式安裝的系統(tǒng)服務也會默認把日志記錄在/var/log/目錄中(源碼包安裝的服務日志是在源碼包指定目錄中)。不過這些日志不是由rsyslogd服務來記錄和管理的,而是各個服務使用自己的日志管理文檔來記錄自身日志。[t1]
1、 日志文件格式
l 基本日志格式包含以下四列:
? 事件產(chǎn)生的時間;
? 發(fā)生事件的服務器的主機名;
? 產(chǎn)生事件的服務名或程序名;
? 事件的具體信息。
?
2、/etc/rsyslog.conf配置文件
authpriv.* /var/log/secure
#服務名稱[連接符號]日志等級 日志記錄位置
#認證相關(guān)服務.所有日志等級 記錄在/var/log/secure日志中
服務名稱
連接符號
l 連接符號可以識別為:
? “*”代表所有日志等級,比如:“authpriv.*”代表authpriv認證信息服務產(chǎn)生的日志,所有的日志等級都記錄
? “.”代表只要比后面的等級高的(包含該等級)日志都記錄下來。比如:“cron.info”代表cron服務產(chǎn)生的日志,只要日志等級大于等于info級別,就記錄
? “.=”代表只記錄所需等級的日志,其他等級的都不記錄。比如:“*.=emerg”代表人和日志服務產(chǎn)生的日志,只要等級是emerg等級就記錄。這種用法及少見,了解就好
? “.!”代表不等于,也就是除了該等級的日志外,其他等級的日志都記錄。
日志等級
日志記錄位置
l 日志文件的絕對路徑,如“/var/log/secure”
l 系統(tǒng)設備文件,如“/dev/lp0”
l 轉(zhuǎn)發(fā)給遠程主機,如“@192.168.0.210:514”
l 用戶名,如“root”
l 忽略或丟棄日志,如“~”
1、 日志文件的命名規(guī)則
l 如果配置文件中擁有“dateext”參數(shù),那么日志會用日期來作為日志文件的后綴,例如“secure-20130605”。這樣的話日志文件名不會重疊,所以也就不需要日志文件的改名,只需要保存指定的日志個數(shù),刪除多余的日志文件即可。
l 如果配置文件中沒有“dateext”參數(shù),那么日志文件就需要進行改名了。當?shù)谝淮芜M行日志輪替時,當前的“secure”日志會自動改名為“secure.1”,然后新建“secure”日志,用來保存新的日志。當?shù)诙芜M行日志輪替時,“secure.1”會自動改名為“secure.2”,當前的“secure”日志會自動改名為“secure.1”,然后也會新建“secure”日志,用來保存新的日志,以此類推。
2、 logrotate配置文件
3、 把apache日志加入輪替
[root@localhost ~]# vi /etc/logrotate.conf
/usr/local/apache2/logs/access_log {
daily
create
rotate 30
}
4、 logrotate命令
[root@localhost ~]# logrotate [選項] 配置文件名
選項:
如果此命令沒有選項,則會按照配置文件中的條件進行日志輪替
-v: 顯示日志輪替過程。加了-v選項,會顯示日志的輪 替的過程
-f: 強制進行日志輪替。不管日志輪替的條件是否已經(jīng) 符合,強制配置文件中所有的日志進行輪替
service --status-all 查詢所有rpm安裝的服務啟動狀態(tài)