1. 程式人生 > >centos的rsyslog服務介紹

centos的rsyslog服務介紹

centos log 日誌 rsyslog

日誌文件
  • 日誌:歷史事件的相關記錄
  • 記錄的內容:事件發生的事件、事件內容
  • 日誌級別:事件的關聯程序,loglevel

linux常見日誌

  • 註意:日誌文件可以查看到很多系統重要的事件,包括登錄者的信息,因此日誌文件的權限通常設置為僅有root能夠讀。
  • /var/log/dmesg:記錄系統在開機的時候內核監測過程產生的各項信息。
  • /var/log/lastlog:記錄系統上面所有的賬號最近一次登錄系統時的相關信息。該文件文件類型為DBase 3 data file,通過lastlog命令查看。
  • /var/log/messages:幾乎系統發生的錯誤信息或者重要信息都會記錄在這個文件中,如果系統發生莫名的錯誤時,這個文件一定要查閱的日誌文件之一。
  • /var/log/secure:只要涉及到需要輸入賬號密碼的軟件,當登錄時不管正確或錯誤都會記錄,login、su、sudo、ssh、telnet等等
  • /var/log/wtmp: 記錄正確登錄系統的賬戶信息。通過last命令查看。
  • /var/log/btmp: 記錄錯誤登錄時使用的賬戶信息。通過lastb命令查看。

rsyslog是記錄日誌文件的服務,特性:

  • 多線程工作
  • 支持UDP、TCP、SSL、TLS、RELP
  • 支持將日誌存儲到MySQL、PGSQL、Oracle等多種關系數據庫中
  • 強大的過濾器,可以實現過濾系統信息中的任何部分
  • 自定義輸出格式
  • 適用於企業級別日誌記錄需求

核心概念:

  • facility: 設施,從功能或程序上對日誌進行分類,並由專門工具負責記錄相應的日誌信息;
    • auth,authpriv:認證相關設施
    • cron:定時任務
    • daemon:守護進程
    • kern:內核日誌設施
    • lpr:打印設施
    • mail:郵件設施
    • mark:防火墻日誌設施
    • news:新聞組日誌
    • security:安全日誌設施
    • syslog:本身日誌設施
    • user:用戶的日誌設施
    • uucp:unix copy相關日誌設施
    • local0 - local7:用戶自定義使用的日誌設施
  • priority: 級別
    • debug:調試級別
    • info:基本信息
    • notice:除了info的信息,還需要註意的信息
    • warn,warning:警示信息,可能有問題,基本不會造成系統運行困擾
    • err,error:重大錯誤信息,例如 引起服務無法啟動的信息
    • crit:比err嚴重的信息。crit是臨界點critical的縮寫。
    • alert:警告信息,比crit嚴重
    • emerg,panic: 系統或應用程序馬上就要掛啦
      • 指定級別的方式:
        • *:所有級別
        • none:沒有級別
        • priority:比次級別高的(包含)所有級別的日誌信息都會記錄
        • =priority:僅記錄指定級別
  • rsyslog的配置文件:/etc/rsyslog.conf

    • RULLS規則:
      • facility(服務設施).priority(級別) target(位置)
    • target:
      • 文件路徑:將日誌記錄於指定的文件中
      • 用戶:將日誌信息通知給文件或者用 * 代表通知給所有用戶
      • 日誌服務器: @SERVER server表示日誌服務器
      • 管道: | COMMAND
    • cron.* /var/log/cron
  • 日誌文件的格式:
    • 事件產生的時間 主機 進程(PID): 事件
    • Apr 15 17:35:50 www sshd[20839]: Failed password for root from 223.71.85.6 port 3135 ssh2
  • 模塊
    • 啟用本機成為日誌服務器
       #Provides UDP syslog reception
       #$ModLoad imudp
       #$UDPServerRun 514
       或者
       #Provides TCP syslog reception
       #$ModLoad imtcp
       #$InputTCPServerRun 514
    • 日誌存儲到mysql中
      • 有可用的mysql服務器
      • 安裝rsyslog-mysql程序包
        • 安裝包中包含創建數據庫的腳本 /usr/share/doc/rsyslog-mysql-VERSION/
      • 創建rsyslog依賴的數據庫
      • 配置rsyslog啟用ommysql模塊
         ####  MODULES ####
         $ModLoad ommysql
      • 定義某facility把日誌記錄到指定數據的表中
         #### RULES ####
          facility.priority     :ommysql:SERVER_IP,DATABASE,USERNAME,PASSWORD
      • 可選:使用loganalyzer(WebGUI)來展示日誌信息 php程序
        • 依賴LAMP組件
          • yum install httpd php php-mysql php-gd``
          • 下載loganalyzer

centos的rsyslog服務介紹