Linux日誌系統

目標

對於日誌系統有基礎的認識,瞭解【常見的日誌】【配置的日誌】【輪替的日誌】


學習目錄

1.常見的日誌
2.配置的日誌
3.轉儲的日誌


1.常見的日誌

在Linux大部分發行版都內置使用rsyslog系統日誌,常見的日誌一般存放在/var/log中。
根據服務對象一般可以把日誌分爲兩種:

  • 系統日誌
  • 應用日誌
    系統日誌主要存放系統內置程序或系統內核之類的日誌信息。
    應用日誌主要是存放第三方應用所產生的日誌。

常見的系統日誌

alternatives.log 系統的一些更新替代信息記錄
apport.log 應用程序崩潰信息記錄
apt/history.log 使用apt-get安裝卸載軟件的信息記錄
apt/term.log 使用apt-get時的具體操作
auth.log 登錄認證的信息記錄
boot.log 系統啓動時的程序服務的日誌信息
btmp 錯誤的信息記錄
Consolekit/history 控制檯的信息記錄
dist-upgrade dist-upgrade 這種更新方式的信息記錄
dmesg 啓動時,顯示屏幕上內核緩衝信息,與硬件有關的信息
dpkg.log dpkg 命令管理包的日誌
faillog 用戶登錄失敗詳細信息記錄
fontconfig.log 與字體配置有關的信息記錄
kern.log 內核產生的信息記錄,在自己修改內核時很有幫助
lastlog 用戶的最近信息記錄
wtmp 登錄信息的記錄,wtmp可以找出誰正在進入系統
syslog 系統信息記錄

2.配置的日誌

日誌信息是如何實現的?

通過兩種方式:

  • 一種由軟件開發商自己來自定義日誌格式然後指定輸出日誌位置
  • 一種方式就是Linux提供的日誌服務程序,也就是rsyslog
    rsyslog的全稱是 rocket-fast system for log,它提供了高性能高安全功能和模塊化設計。

rsyslog的配置文件有什麼呢?

  • 一個是/etc/rsyslog.conf
    #配置環境,也就是加載模塊,文件所屬者
  • 一個是/etc/rsyslog.d/50-default.conf
    #配置的Filter Conditions

rsyslog模塊構成:

  • input
  • output
  • parser
  • queue
模塊流程:通過input module收集消息,然後將收集的消息傳送給parser module,通過分析模塊的層層處理將真正需要的消息傳送給output module,然後輸出至日誌文件。
queue模塊:高併發模塊。

etc/rsyslog.d/50-default.conf 配置文件

這個文件中主要是配置的 Filter Conditions,也就是我們在流程圖中所看見的 Parser & Filter Engine,它的名字叫 Selectors 是過濾 syslog 的傳統方法,他主要由兩部分組成,facility 與 priority。

3.轉儲的日誌

出現原因:每天都有許多的日誌信息被寫入文件,爲了節約空間logratate誕生了。

logratate:日誌文件管理工具。將舊的日誌文件刪除,創建新的日誌文件,根據日誌文件的大小或者日誌文件的天數來切割日誌,管理日誌,這個過程叫做“轉儲”。

logratate是基於CRON來運行,其腳本是/etc/cron.daily/logratate,同時,可以在/etc/logratate中找到其配置文件。

logratate配置文件信息參數及含義

see “man logrotate” for details //可以查看幫助文檔
rotate log files weekly
weekly //設置每週轉儲一次(daily、weekly、monthly當然可以使用這些參數每天、星期,月 )
keep 4 weeks worth of backlogs
rotate 4 //最多轉儲4次
create new (empty) log files after rotating old ones
create //當轉儲後文件不存在時創建它
uncomment this if you want your log files compressed
compress //通過gzip壓縮方式轉儲(nocompress可以不壓縮)
RPM packages drop log rotation information into this directory
include /etc/logrotate.d //其他日誌文件的轉儲方式配置文件,包含在該目錄下
no packages own wtmp – we’ll rotate them here
/var/log/wtmp { //設置/var/log/wtmp日誌文件的轉儲參數
monthly //每月轉儲
create 0664 root utmp //轉儲後文件不存在時創建它,文件所有者爲root,所屬組爲utmp,對應的權限爲0664
rotate 1 //最多轉儲一次

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