Linux上的日誌系統

Linux上的日誌系統

1、syslog

2、syslog-ng 下一代升級版日誌系統

紅帽5使用syslog   6使用syslog-ng

 

 

syslog 服務

     syslogd : 系統,非內核產生的信息

     klogd : 內核,專門負責記錄內核的日誌信息

   

     系統啓動時所輸出的信息【到init啓動之前的所有信息】:kernel -->物理終端(/dev/console) --> /var/log/demesg

     可以直接打開文件查看,也使用demesg命令來查看

     

     init啓動及之後的非內核產生的信息:

        /var/log/messages : 系統標準錯誤日誌;非內核產生引導信息;各子系統產生的信息

        /var/log/maillog:郵件系統產生的日誌信息

        /var/log/secure: 任何用戶嘗試登陸系統的信息

 

 

syslog配置文件:

    /etc/syslog.conf

    配置文件定義格式  : facility    priority  action

                         來源        級別      動作

    

    facility,可以理解爲日誌的來源或設備目前常用的facility;有以下幾種:

        auth           認證相關的

        authpriv       權限,授權相關的

        cron           任務計劃相關的

        daemon         守護進行相關的

        kern           內核相關的

        lpr            打印相關的

        mail           郵件相關的

        mark           標記相關的

        news           新聞相關的

        security       安全相關的

        syslog         syslog自己的

        user           用戶相關的

        uucp           unix to unix cp 相關的

        local0  到 loacal7  用戶自定義使用

 

     priority(log level) 日誌的級別,一般有以下幾種級別(從低到高)

        debug           程序或系統的調試信息

        info            一般信息

        notice          不影響正常功能,需要注意的消息

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

        err/error       錯誤信息

        crit            比較嚴重的

        alert           必須馬上出來的

        emerg/panic     會導致系統不可用的

        *               表示所有的日誌級別

        none            *相反,表示啥也沒有

 

 

     action(動作)日誌記錄的位置(前面加-表示異步寫入)

        系統上的絕對路徑    普通文件

        |                   管道   通過管道送給其他的命令處理

        終端                如/dev/console

        @HOST               遠程主機

        用戶                系統用戶

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

       

     例:

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

     auth.=info  @10.0.0.1            表示將auth相關的,級別爲info的信息記錄到10.0.0.1主機上

                                      前提是10.0.0.1要能接收其他主機發來的日誌信息

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

     user.!error                      user.error相反,表示記錄與user相關,error級別以下的信息

     *.info

     mail.*

     cron.info;mail.info

     cron,mail.info

     mail.*;mail.!=info

     

 

syslog配置文件更改後要重啓服務或reload重讀配置文件:

     service syslog restart  (不建議重啓,以免錯過某些正在寫入的日誌信息)

     service syslog reload

 

 

 

 


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