1. 程式人生 > >Linux——日誌管理

Linux——日誌管理

一、系統日誌

  1. 系統日誌: 程序和作業系統核心需要能夠為發生的事件記錄日誌,這些日誌可用於系統稽核和時間的故障排除,一般這些日誌永久儲存於/var/log目錄中
  2. 系統預設日誌的分類:
    /var/log/messages   服務資訊日誌,包括服務的資訊,報錯等等,大多數系統日誌資訊記錄在此
    /var/log/secure     系統認證資訊日至
    /var/log/cron      定時任務日誌
    /var/log/maillog     郵件服務日誌
    /var/log/boot.log     系統啟動日誌

二、日誌管理服務rsyslog

  • rsyslog是一個開源工具,被廣泛用於linux系統以通過TCP/UDP協議轉發或接受日誌訊息
    UDP  速度快,不需要應答
    TCP  穩定,確認收到
  • rsyslog 服務是用來採集系統日誌的,不產生日誌,只起到採集的作用, 對我們的日誌進行管理
  • rsyslog服務主配置檔案是/etc/rsyslog.conf
    指定日誌儲存位置修改配置檔案,修改後重啟rsyslog服務生效
    在這裡插入圖片描述
  • systemctl status rsyslog.service 檢視服務
    在這裡插入圖片描述
  • systemctl restart rsyslog.service 重啟服務
    在這裡插入圖片描述
    在這裡插入圖片描述
  1. 格式
    日至的型別.日至的級別 /var/log/file(存放檔案)
    在這裡插入圖片描述
  2. 日誌的型別
    auth      pam產生的日誌
    authpriv    ssh,ftp等登陸資訊的驗證資訊
    cron      時間任務相關
    kern      核心
    lpr       列印
    mail      郵件
    mark(syslog)-rsyslog    服務內部的資訊,時間標識
    news      新聞組
    user       使用者程式產生的相關資訊
    uucp      unix to unix copy,unix主機之間相關的通訊
    local 1~7     自定義的日誌裝置
  3. 日誌級別
    debug    有調式資訊的,日誌資訊最多
    info     一般資訊的日誌,最常用
    notice    最具有重要性的普通條件的資訊
    warning    警告級別
    err      錯誤級別,阻止某個功能或者模組不能正常工作的資訊
    crit      嚴重級別,阻止整個系統或者整個軟體不能正常工作資訊
    alert     需要立刻修改的資訊
    emerg    核心崩潰等嚴重資訊
    none     什麼都不記錄
    注意:從上到下,級別從低到高,記錄的資訊越來越少
    詳細的可以檢視手冊:man 3 syslog

三、遠端日誌的同步

此處的實驗中:
主機:node1——>接收端
主機:node2——>傳送端
(一)接收端:


(1)關閉火牆
在這裡插入圖片描述
(2)編輯日誌配置檔案vim /etc/rsyslog.conf
在這裡插入圖片描述
在這裡插入圖片描述
(3)重啟rsyslog服務
在這裡插入圖片描述
(二)傳送端:
(1)關閉火牆
在這裡插入圖片描述
(2) 編輯日誌配置檔案vim /etc/rsyslog.conf 在這裡插入圖片描述
在這裡插入圖片描述
(3)重啟服務
在這裡插入圖片描述
注意:兩臺主機防火牆都要關閉,並且修改完檔案後都要重啟服務
(三)測試

  • 先清空兩個主機的/var/log/messages,為了方便檢視實驗效果 在這裡插入圖片描述在這裡插入圖片描述
  • 傳送端新建一個日誌並檢視
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 接收端檢視是否接收到日誌資訊(從截圖可看接收成功)
    在這裡插入圖片描述
    在這裡插入圖片描述
    (四)清除/etc/rc.d/rc.local檔案
    做實驗的時候我們會發現有很多此類檔案的生成,不方便實驗的檢視
    所以我們可以進行以下操作將相關檔案清除掉:
    在這裡插入圖片描述

四、採集檔案

  1. 採集日誌格式的設定:vim  /etc/rsyslog.conf
    在這裡插入圖片描述
    在這裡插入圖片描述
    2.重啟服務(此步驟不要忘記)
    在這裡插入圖片描述
    3.測試
    在這裡插入圖片描述

五、日誌分析

  1. systemd-journald服務
      提供一種改進的日誌管理服務,可以手機來自核心/啟動服務,標準輸出,系統日誌及守護程序啟動和執行期間錯誤的訊息,它將這些訊息寫入到一個結構化事件日誌中
  2. journalctl   日誌分析命令,按q退出
    注意:如果系統reboot則用journalctl檢視的日誌資訊將不存在
    在這裡插入圖片描述
    journalctl   -n  5 顯示最新5條的程序
    在這裡插入圖片描述
    journalctl  --since 09:20
    journalctl  --since 09:20 --until 09:21:50 顯示一個時間段的程序資訊
    在這裡插入圖片描述
    journalctl  -p   err     顯示系統報錯
    在這裡插入圖片描述
    journalctl   -f       監控日誌 ctrl+c退出
    journalctl   -o  verbose  顯示日誌能夠使用的詳細程序引數
    在這裡插入圖片描述
    journalctl  _PID=1055  _COMM=sshd
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
  3. 用journalctl的方式採集日誌
      預設情況下,systemd日誌儲存在/run/log/journal中,這意味著系統重啟時會被清除,那如果將日誌儲存在/var/log/journal目錄,這樣做的優點是啟動後就可以利用歷史資料,形成永久日誌
    實現步驟如下: 在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述