rsyslog使用及配置

日誌:

    日誌是歷史時間

    

    按時間序列將發生的事件予以記錄的文件

    日誌記錄:事件發生的時間,事件內容

    日誌級別:事件的關鍵性程度,log level


    

Linux:哪些進程需要記錄日誌?

syslog: 日誌系統

syslogd: 系統進程的相關日誌

klogd: 內核事件相關的日誌


我們這裏使用rsyslog來記錄日誌。    

    rsyslog特點:      
        支持多線程
        支持:TCP,SSL,TLS,RELP
        支持:MySQL, PGSQL, Oracle等多種關係型數據中
        有強大的過濾器,可實現過濾系統信息中的任意部分
        支持自定義輸出格式
        適用於企業級別日誌記錄需求
        模塊化程序
    
    rsyslog主配置文件:/etc/rsyslog.conf

    rsyslog的選項:facility(設施),priority(級別),Target(路徑)
    
    facility: 設施,從功能或程序上對日誌進行分類,並由專門的工具負責記錄其日誌
		auth:跟認證相關的
		authpriv:跟認證授權相關的
		cron:跟週期性任務相關的
		daemon:幫守護進程相關的
		kern:幫內核記錄日誌的
		lpr:幫打印組記錄日誌
		mail:幫郵件服務記錄日誌
		mark:防火牆標記記錄日誌的
		news: 新聞組
		security:跟安全相關的
		syslog:syslong自己的日誌
		user:跟用戶相關的
		uucp:unix日誌
		local0 through local7: 8 customed facility(8個自定義的facility)
			
		指定設施時可以使用通配符:指定日誌選項
			* :所有
			,:列表,f1,f2,f3,f4...
			! : 取反
			; :記錄多個日誌信息
			- :啓用異步功能
			
	priority: 級別,如果不用=號會記錄比自己更高的級別
		debug
		info
		notice
		warn, warning
		err, error
		crit
		alert
		emerg,panic
			
			通配符:
				* :所有級別
				none :沒有任何級別,不記錄日誌信息
				; :記錄多個日誌信息
				- :啓用異步功能
				
	Target:
		文件路徑:例如/var/log/messages
		用戶:*,所有用戶
		日誌服務器:@SERVER_IP
		管道:|COMMAND
    
    
    
    rsyslog的格式:
        facility.priority    Target
        
        例如1:mail.info		/var/log/maillog
		比指定級別更高的所有級別,包括指定的級別本身
		
	例如2:mail.=info	/var/log/maillog	:只記錄info級別的日誌
		明確指定級別
	
	例如3:mail.!info	/var/log/maillog
		除了指定級別
			
	例如4:*.info		/var/log/log
		所有facility的info級別
	
	例如5: mail.*		/var/log/maillog
		mail的所有級別
		
	例如6:mail,news.info	/var/log/maillog
		mail與news的info級別
	
	例如7:mail.notice, new.info		/var/log/log
		mial的notice級別和new的info級別
			
	例如8:mail.info		*
		mail的日誌發送給當前系統上已登錄的所有用戶info級別及以上的日誌
			
	例如9:mail.=info		@192.168.1.1	
		將mail的info日誌發送給192.168.1.1這個日誌服務器
		
	例如10:mail.!info		| COMMAND
		將mail除info之外的其他級別日誌發送給一個命令,如gerp
		
	例如11:*.info;mail.none
		記錄所有設施的info及其他更高級別日誌,但是mail不記錄
	
	例如12:mail.*		-/var/log/maillog
		記錄mail的所有級別日誌,但是日誌是異步同步的
		
    查看日誌信息:
        tail /etc/log/messages
        
        日誌信息格式:
	    	時間	主機	進程(PID):時間

    

啓用接受其他服務器發送來的日誌文件功能:啓用日誌服務器功能

	vim /etc/rsyslog.conf
			修改配置之後重啓纔會生效
			
			
	MODULES:	模塊
		#沒跟空格的都是可啓用功能
			ModLoad imudp		:裝載一個udp模塊
			UDPServerRun 514
				監聽在UDP的514端口接收其他服務器發來的日誌信息
				--------------------------------------------------
			ModLoad imtcp		:裝載一個tcp模塊
			InputTCPserverRun	:
			監聽在TCP的514端口接收其他服務器發來的日誌信息
						
				--------------------------------------------------
				
			GLOBAL DIRECTIVES:	全局指令
			
				--------------------------------------------------
			
			RULES:	規則
			


    

rsyslog支持將日誌存儲於MySQL服務器中:

	vim /etc/rsyslong.conf
		
		yum install rsyslog-mysql	: 安裝rsyslog-mysql模塊
			rpm -ql  rsyslog-mysql
				/lib/rsyslog/ommysql.so	: om代表輸出模塊im代表輸入模塊
				/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql		:日誌輸出模版
			
			begin forwarding rule
				
		MODULES
		#Log event to MySQL
			$ModLoad ommysql	: 裝載mysql模塊
		
			
		RULES
		mail.*	:ommysql:127.0.0.1,Syslog,sysloguser,syslogpass
		facility.priority :ommysql:SERVER_IP,DATABASE,USERNAME,PASSWD
		
		將日誌模版重定向輸入到mysql數據庫
		mysql < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql	
		
		mysql : 進入mysql數據庫
			SHOW DATABASES; : 查看是否已經將模版導入
			use Syslog; : 將Syslog設爲默認數據庫
			SHOW TABLES; : 查看默認數據庫的表
			GRANT ALL ON Syslog.* TO [email protected] IDENTIFIED BY 'syslogpass';
				設置sys的用戶名與密碼並切擁有syslog的所有權限
			FLUSH PRIVILEGES;	: 刷新權限
			
		service rsyslog restart	:重啓服務
		
		做一個服務訪問讓其生成日誌
		
		SELECT * FROM SystemEvents;	:查看日誌信息



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章