日志rsyslog


(1)日志基礎

1)簡介

rsyslog:記錄大部分與系統操作有關,例如安全,認證sshd,su,計划任務at,cron
rsyslog日志可以存在本地,也可以存放在遠程服務器

2)常見的日志文件

/var/log/messages 					//系統主日志文件
/var/log/secure						//認證丶安全
/var/log/maillog					//跟郵件postfix有關
/var/log/cron						//crond,at進程產生的日志
/var/log/dmesg						//和系統啟動有關
/var/log/audit/audit.log 			//系統審計日志
/var/log/yum.log					//yum日志
/var/log/xferlog 					//和訪問FTP服務器有關
w 									//當前登錄的用戶 /var/log/wtmp 
last 								//最近登錄的用戶 /var/log/btmp 
lastlog 							//所有用戶的登錄情況 /var/log/lastlog 

3)例

統計登錄失敗的top5 ip地址
#grep  "failure" /var/log/secure | awk -F'[ =]+' '{print $18}'  | grep -v user | sort | uniq -c | sort -k1 -rn | head -5
統計登錄成功的top5 ip地址
#grep "Accept" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -k1 -rn | head -5

(2)rsyslog子系統

1)服務和配置文件

systemctl status rsyslog
/etc/logrotate.d/syslog 			//日志切割相關
/etc/rsyslog.conf 					//rsyslogd的主配置文件

2)主配置文件:/etc/rsyslog.conf

在主配置文件下定義了一套規則: 告訴rsyslogd進程哪個設備(facility),關於哪個級別的信息,以及如何處理

authpriv.*                                              /var/log/secure
設備.日志級別											日志文件
#### RULES ####
authpriv.*                                              /var/log/secure				//設備authpriv的所有級別都輸出到/var/log/secure文件中
mail.*                                                  -/var/log/maillog			//設備mail的所有級別都延遲輸出到/var/log/maillog文件中
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*					//所有設備的緊急級別日志都輸出到屏幕上
local7.*                                                /var/log/boot.log
local4.*   												@192.168.1.253   //UDP 		//local4設備所有級別日志使用udp協議輸出到192.168.1.253這台主機
local4.*   												@@192.168.1.253   //TCP 
local設備是系統保留的設備

級別 :遇到何種情況才會記錄日志

emerg 				//緊急,致命,服務無法繼續運行,如配置文件丟失
alert 				//報警,需要立即處理,如磁盤使用率95%
crit 				//致命行為
err					//錯誤行為
warning 			//警告信息
notice				//普通
info				//標准信息
debug				//調試信息,拍錯所需

說明:例如sshd程序的配置文件(/etc/ssh/sshd_config)中定義SyslogFacility AUTHPRIV;表示sshd程序使用rsyslog程序中的AUTHPRIV這個設備,表示sshd的日志都會輸出到AUTHPRIV這個設備,同時在rsyslog的配置文件上(/etc/rsyslog.conf)中定義了一個規則(authpriv.* /var/log/secure),這個規則表示設備AUTHPRIV這個設備的所有級別日志都會輸出到/var/log/secure上

3)例:改變應用程序sshd的日志設備為local5,並定義local5設備日志記錄到/var/log/sshd.log文件中

#vim /etc/ssh/sshd_config			//修改sshd使用rsyslog的設備為LOCAL5
#SyslogFacility AUTHPRIV
SyslogFacility LOCAL5
#systemctl restart sshd 
#vim /etc/rsyslog.conf 				//修改rsyslog配置文件定義設備local5的所有級別日志輸出到/var/log/sshd.log中
local5.*     /var/log/sshd.log
#systemctl restart rsyslog 

4)命令logger

logger "pppppp"						//日志默認輸出到/var/log/messages文件中
logger -p local5.info  "pppp"		//-p指定設備名和日志級別,日志輸出到local5這個設備定義的輸出文件中
logger -p local5.emerg "warnning"	//日志級別為緊急emerg,默認情況都會打印到屏幕上,

5)日志發送到遠程服務器:192.168.1.40的local5設備的所有級別日志都發送到192.168.1.253上;

#vim /etc/rsyslog.conf 
local5.*       @192.168.1.253		//定義local5設備的所有級別日志發送到192.168.1.253這台主機
#systemctl restart rsyslog 
#tcpdump -i eth0 -nn port 514		//在192.168.1.253主機上進行抓包驗證
#vim /etc/rsyslog.conf 				//修改rsyslog主配置文件,定義設備local5的所有級別日志都輸出到/var/log/test.log文件中
local5.*       /var/log/test.log 
#systemctl restart rsyslog 
測試命令:logger -p local5.info  "pppp"		//在40主機上使用logger進程產生設備local5的info級別日志


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM