Linux 日志管理
目錄
1 日志管理簡介
1.1 日志服務
1.2 確定服務啟動
1.3 查看服務是否自啟動
1.4 常見日志的作用
2 rsyslogd日志服務
2.1 日志文件格式
2.2 /etc/rsyslog.conf配置文件
2.2.1 服務名稱
2.2.2 連接符號
2.2.3 日志等級
2.2.4 日志記錄位置
3 日志輪替
3.1 日志文件的命名規則
3.2 logrotate配置文件
3.3 logrotate命令
1 日志管理簡介
1.1 日志服務
在CentOS 6.x中日志服務已經由rsyslogd取代了原先的syslogd服務。rsyslogd日志服務更加先進,功能更多。但是不論該服務的使用,還是日志文件的格式其實都是和syslogd服務相兼容的,所以學習起來基本和syslogd服務一致。
rsyslogd的新特點:
-
基于TCP網絡協議傳輸日志信息;
-
更安全的網絡傳輸方式;
-
有日志消息的及時分析框架;
-
后臺數據庫;
-
配置文件中可以寫簡單的邏輯判斷;
-
與syslog配置文件相兼容。
1.2 確定服務啟動
查看服務是否啟動
ps aux | grep rsyslogd
1.3 查看服務是否自啟動
chkconfig --list | grep rsyslog
小貼士:
Centos7使用以下命令
systemctl list-unit-files | grep rsyslog
1.4 常見日志的作用
| 日志文件 | 說明 |
| /var/log/cron | 記錄了系統定時任務相關的日志。 |
| /var/log/cups/ | 記錄打印信息的日志 |
| /var/log/dmesg | 記錄了系統在開機時內核自檢的信息。也可以使用dmesg命令直接查看內核自檢信息。 |
| /var/log/btmp | 記錄錯誤登錄的日志。這個文件是二進制文件,不能直接vi查看,而要使用lastb命令查看,命令如下:lastb root tty1 Tue Jun 4 22:38 - 22:38 (00:00) 有人在6月4日22:38使用root用戶,在本地終端1登錄錯誤 |
| /var/log/lastlog | 記錄系統中所有用戶最后一次的登錄時間的日志。這個文件也是二進制文件,不能直接vi,而要使用lastlog命令查看。 |
| /var/log/mailog | 記錄郵件信息。 |
| /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/ | 守護進程安全服務目錄 |
2 rsyslogd日志服務
2.1 日志文件格式
基本日志格式包含以下四列:
-
事件產生的時間;
-
發生事件的服務器的主機名;
-
產生事件的服務名或程序名;
-
事件的具體信息。
2.2 /etc/rsyslog.conf配置文件
authpriv.* /var/log/secure
字段說明:
服務名稱[連接符號]日志等級 日志記錄位置
認證相關服務.所有日志等級 記錄在/var/log/secure日志中
2.2.1 服務名稱
| 服務名稱 | 說明 |
| auth | 安全和認證相關消息(不推薦使用authpriv替代) |
| authpriv | 安全和認證相關消息(私有的) |
| cron | 系統定時任務cront和at產生的日志 |
| daemon | 和各個守護進程相關的日志 |
| ftp | ftp守護進程產生的日志 |
| kern | 內核產生的日志(不是用戶進程產生的) |
| local0-local7 | 為本地使用預留的服務 |
| lpr | 打印產生的日志 |
| | 郵件收發信息 |
| news | 與新聞服務器相關的日志 |
| syslog | 有syslogd服務產生的日志信息(雖然服務名 稱已經改為rsyslogd,但是很多配置都還是沿 用了syslogd的,這里并沒有修改服務名)。 |
| user | 用戶等級類別的日志信息 |
| uucp | uucp子系統的日志信息,uucp是早期linux系統進行數據傳遞的協議,后來也常用在新聞 組服務中。 |
2.2.2 連接符號
連接符號可以識別為:
-
“*”代表所有日志等級,比如:“authpriv.*”代表authpriv認證信息服務產生的日志,所有的日志等級都記錄
-
“.”代表只要比后面的等級高的(包含該等級)日志都記錄下來。比如:“cron.info”代表cron服務產生的日志,只要日志等級大于等于info級別,就記錄
-
“.=”代表只記錄所需等級的日志,其他等級的都不記錄。比如:“*.=emerg”代表人和日志服務產生的日志,只要等級是emerg等級就記錄。這種用法及少見,了解就好
-
“.!”代表不等于,也就是除了該等級的日志外,其他等級的日志都記錄。
2.2.3 日志等級
| 等級名稱 | 說明 |
| debug | 一般的調試信息說明 |
| info | 基本的通知信息 |
| notice | 普通信息,但是有一定的重要性 |
| warning | 警告信息,但是還不回影響到服務或系統的運行 |
| err | 錯誤信息,一般達到err等級的信息以及可以影響到服務或系統的運行了。 |
| crit | 臨界狀況信息,比err等級還要嚴重 |
| alert | 警告狀態信息,比crit還要嚴重。必須立即采取行動 |
| emerg | 疼痛等級信息,系統已經無法使用了 |
2.2.4 日志記錄位置
-
日志文件的絕對路徑,如“/var/log/secure”
-
系統設備文件,如“/dev/lp0”
-
轉發給遠程主機,如“@192.168.0.210:514”
-
用戶名,如“root”
-
忽略或丟棄日志,如“~”
3 日志輪替
3.1 日志文件的命名規則
-
如果配置文件中擁有“dateext”參數,那么日志會用日期來作為日志文件的后綴,例如“secure-20130605”。這樣的話日志文件名不會重疊,所以也就不需要日志文件的改名,只需要保存指定的日志個數,刪除多余的日志文件即可。
-
如果配置文件中沒有“dateext”參數,那么日志文件就需要進行改名了。當第一次進行日志輪替時,當前的“secure”日志會自動改名為“secure.1”,然后新建“secure”日志,用來保存新的日志。當第二次進行日志輪替時,“secure.1”會自動改名為“secure.2”,當前的“secure”日志會自動改名為“secure.1”,然后也會新建“secure”日志,用來保存新的日志,以此類推。
3.2 logrotate配置文件
| 參數 | 參數說明 |
| daily | 日志的輪替周期是每天 |
| weekly | 日志的輪替周期是每周 |
| monthly | 日志的輪替周期是每月 |
| rotate 數字 | 保留的日志文件的個數。0指沒有備份 |
| compress | 日志輪替時,舊的日志進行壓縮 |
| create mode owner group | 建立新日志,同時指定新日志的權限與所有者和所屬組。如create 0600 root utmp |
| mail address | 當日志輪替時,輸出內容通過郵件發送到指定的郵件地址。如mail XXXX@qq.com |
| missingok | 如果日志不存在,則忽略該日志的警告信息 |
| notifempty | 如果日志為空文件,則不進行日志輪替 |
| minsize 大小 | 日志輪替的最小值。也就是日志一定要達到這個最小值才會輪替,否則就算時間達到也不輪替 |
| size 大小 | 日志只有大于指定大小才進行日志輪替,而不是按照時間輪替。如size 100k |
| dateext | 使用日期作為日志輪替文件的后綴。如secure-20130605 |
案例:把apache日志加入輪替
- vi /etc/logrotate.conf
3.3 logrotate命令
命令格式:logrotate [選項] 配置文件名
選項:
- -v:顯示日志輪替過程。加了-v選項,會顯示日志的輪替的過程
- -f:強制進行日志輪替。不管日志輪替的條件是否已經符合,強制配置文件中所有的日志進行輪替
注:如果此命令沒有選項,則會按照配置文件中的條件進行日志輪替
總結
以上是生活随笔為你收集整理的Linux 日志管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Lr预设(手机+电脑):时尚Ins人像旅
- 下一篇: C++基础课—郑莉9-