syslog日志介紹


一. syslog簡介

        syslog是一種工業標准的協議,可用來記錄設備的日志。在UNIX系統,路由器、交換機等網絡設備中,系統日志(System Log)記錄系統中任何時間發生的大小事件。管理者可以通過查看系統記錄,隨時掌握系統狀況。UNIX的系統日志是通過syslogd這個進程記錄系統有關事件記錄,也可以記錄應用程序運作事件。通過適當的配置,我們還可以實現運行syslog協議的機器間通信,通過分析這些網絡行為日志,藉以追蹤掌握與設備和網絡有關的狀況。

 

syslog是Linux系統默認的日志守護進程。默認的syslog配置文件是/etc/syslog.conf文件。程序,守護進程和內核提供了訪問系統的日志信息。因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成該信息。

幾乎所有的網絡設備都可以通過syslog協議,將日志信息以用戶數據報協議(UDP)方式傳送到遠端服務器,遠端接收日志服務器必須通過syslogd監聽UDP 端口514,並根據 syslog.conf配置文件中的配置處理本機,接收訪問系統的日志信息,把指定的事件寫入特定文件中,供后台數據庫管理和響應之用。意味着可以讓任何事件都登錄到一台或多台服務器上,以備后台數據庫用off-line(離線) 方法分析遠端設備的事件。

 

日志滾動(日志切割):

                所謂的滾動是指歷史信息所保存的日志,如;messages文件日志會越來越大等到了某一段時間,會把messages文件重新命名為messages.1,系統並重新創建messages文件,所以叫做日志滾動

syslog配置文件/etc/rsyslog.conf

注:centos 6 的配置文件是/etc/rsyslog.conf,centos5的配置文件是/etc/syslog.conf

5.配置文件定義格式為facility.priority  action

            facility是指哪個facility來源產生的日志;   priority是指拿個級別的日志 ;action是指產生日志怎么辦是保存在文件中還是其他。。。

           facility可以理解為日志的來源或設備或選擇條件,目前常用的facility有以下幾種:

               auth                      #認證相關的

               authpriv                #權限,授權相關的

               cron                      #任務計划相關的

               daemon                #守護進程相關的

               kern                       #內核相關的

               lpr                          #打印相關的

               mail                        #郵件相關的

               mark                       #標記相關的

               news                       #新聞相關的

               security                   #安全相關的,與auth類似

               syslog                      #syslog自己的

               user                         #用戶相關的

               uucp                        #unix to unix cp相關的

               local0到local7          #用戶自定義使用

               *                                #*表示所有的facility

priority(log level)日志優先級的級別,一般分為以下幾種級別(從低到高)

             注:級別越低記錄的越詳細

                debug                    #程序或系統的調試信息

                info                         #一般信息

                notice                     #不影響正常的功能,需要提醒用戶的重要事件

                warning/warn         #可能影響系統功能,需要提醒用戶的重要事件

                err/error                  #錯誤信息

                crit                           #比較嚴重的

                alert                         #必須馬上處理的

                emerg/canic            #會導致系統不可用的

                *                               #表示所有的日志級別

                none                        #跟*相反,表示什么也沒有

action(動作)日志記錄的位置

                系統上的絕對路徑      #普通文件 如:/var/log/XXX

                |                                #管道 通過管道送給其他的命令出來

                終端                          #終端 如:/dev/console

                @host                      #遠程主機  如@10.1.1.1

                用戶                          #系統用戶 如:root

                *                               #登錄到系統上的所有用戶,一般emerg級別的日志是這樣定義的

定義格式列子:

                mail.info  /var/log/mail.log   #表示將mail相關的,級別為info及info以上級別的信息記錄到/var/log/mail.log文件中 

                auth.=info  @10.1.1.1            #表示將auth相關的,級別為info的信息記錄到10.1.1.1主機上去,前提是10.1.1.1要能接收其主機發來的日志信息

                user.!=error                            #表示記錄user相關的,不包括error級別的信息

                 user.!error                           #表示user.error相反

                *.info                                      #表示記錄所有的日志信息的info級別

                mail.*                                      #表示記錄所有mail相關的所有級別的信息

                *.*                                           #表示記錄所有的日志信息的所有的日志級別

                cron.info;mail.info                  #多個日志來源可以用“ ; ”隔開

                cron,mail.info                         #與cron.info;mail.info        是一個意思

                mail.*;mail.!=info                    #表示記錄mail相關的所有級別的信息,但是不包括info級別的信息

 

重啟服務

#service rsyslog reload    注:不重啟但能讀到配置文件;不建議重啟

 


免責聲明!

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



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