linux日誌信息

日誌系統:rsyslog()



rsyslog服務:

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

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


kernel --> 物理終端(/dev/console) --> /var/log/dmesg

# dmesg

# cat /var/log/dmesg



日誌需要滾動(日誌切割):

messages messages.1 messages.2 messages.3


/sbin/init 

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

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

/var/log/secure: 

rsyslog: 

rsyslogd

klogd

配置文件:/etc/rsyslog.conf



信息詳細程序:日誌級別


子系統:facility, 設施


動作:




rsyslog: rsyslogd和klogd



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

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

    auth       # 認證相關的 

    authpriv   # 權限,授權相關的 

    cron       # 任務計劃相關的 

    daemon     # 守護進程相關的 

    kern       # 內核相關的 

    lpr       # 打印相關的 

    mail     # 郵件相關的 

    mark     # 標記相關的 

    news     # 新聞相關的 

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

    rsyslog   # rsyslog自己的 

    user     # 用戶相關的 

    uucp     # unix to unix cp 相關的 

    local0 到 local7 # 用戶自定義使用 

    *         # *表示所有的facility 


 

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

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

    info            # 一般信息

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

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

    err/error       # 錯誤信息 

    crit            # 比較嚴重的 

    alert           # 必須馬上處理的 

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

    *               # 表示所有的日誌級別 

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

     

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

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

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

    終端              # 終端   如:/dev/console 

    @HOST               # 遠程主機 如: @10.0.0.1      

    用戶              # 系統用戶 如: root 

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


定義格式例子: 

mail.info   /var/log/mail.log # 表示將mail相關的,級別爲info及 

                              # 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相反 

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

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

*.*                           # 你懂的. 

cron.info;mail.info           # 多個日誌來源可以用";" 隔開 

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

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




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