Linux系統的日誌管理
一、rsyslog的管理
ryslog 是一個快速處理收集系統日誌的程式,提供了高效能、安全功能和模組化設計。rsyslog 是syslog 的升級版,它將多種來源輸入輸出轉換結果到目的地,據官網介紹,現在可以處理100萬條資訊。
1. 服務資訊日誌:/var/log/messages
2. 系統登陸日誌:/var/log/secure
3. 定時任務日誌:/var/log/cron
4. 郵件日誌:/var/log/maillog
5. 系統啟動日誌:/var/log/boot.log
注:檢視/etc/rsyslog.conf,可以看到日誌的配置資訊
其中,日誌採集規則為:日誌型別. 日誌級別 /var/log/file #將不同型別與級別的日誌儲存到不同的日誌檔案中
日誌型別
auth | pam產生的日誌 |
authpriv | ssh, ftp 等登入資訊的驗證資訊 |
cron | 時間任務相關 |
kern | 核心 |
lpr | 列印 |
郵件 | |
mark(syslog)-rsyslog | 服務內部的資訊,時間標識 |
news | 新聞組 |
user | 使用者程式產生的相關資訊 |
uucp | unix to unix copy, unix 主機之間相關的通訊 |
local 1-7 | 自定義的日誌裝置 |
日誌級別
debug | 有除錯資訊的,日誌資訊量最多,因此預設不記錄 |
info | 一般資訊的日誌,最常用 |
notice | 最具有重要性的普通條件的資訊 |
warning | 警告級別 |
err | 錯誤級別,阻止某個功能或者模組不能正常工作的資訊 |
crit | 嚴重級別,阻止整個系統或者整個軟體不能正常工作的資訊 |
alert | 需要立刻修改的資訊 |
emerg | 核心崩潰等嚴重資訊 |
none | 什麼都不記錄 |
注:從上到下,級別從低到高,記錄的資訊越來越少3.
3. 日誌遠端同步(將一方的日誌記錄到另一方的日誌檔案中)
a. 對於日誌傳送方,需要修改:/etc/rsyslog.conf
在其中新增, *.* @ip #此ip為接收方的ip地址,‘@’表示udp協議,‘@@’表示tcp協議
然後重啟rsyslog服務,使修改生效
b. 對於日誌接收方,需要將/etc/rsyslog.conf 中udp協議接受資訊加入
其中,15行為日誌接收模組,16行為開啟接收埠
然後重啟rsyslog服務,使修改生效
c. 同時要想讓接收方成功接收到日誌資訊,還需要關閉接收方的防火牆
關閉防火牆
為了下次開機時,還可以接收日誌,還需要設定防火牆開機不啟動
d. 測試
在傳送方和接收方都先清空日誌檔案
在日誌傳送方:
然後在日誌接收方檢視日誌是否生成:
二、日誌採集格式的設定
1. 編輯日誌配置檔案
vim /etc/rsyslog.conf
其中,%timegenerated% 為顯示日誌時間,%FROMHOST-IP% 為顯示主機ip
%syslogtag% 為日誌記錄目標,%msg% 為日誌內容
*.* 代表所有型別的所有日誌都存放與 後面 /var/log/westos 檔案內
cat /var/log/westos #檢視日誌資訊
三、時間同步服務
服務名稱:chronyd
1. 在服務端:
編輯服務配置檔案:/etc/chrony.conf
其中,22行代表允許哪些客戶端來同步本機時間(網路號/子網掩碼)
29行代表本機不同步任何主機的時間,本機作為時間源
2. 在客戶端:
編輯服務配置檔案:/etc/chrony.conf
其中,第三行代表本機同步172.25.254.108主機的時間
然後重啟服務
3. 測試
在客戶端:
看到*,表示時間同步成功
四、管理系統時間
timedatectl ##管理系統時間,顯示當前時間資訊
命令後接不同的引數:
set-time ##設定當前時間
set-timezone ##設定當前時區
set-local-rtc ##設定是否使用utc 時間,格林尼治時間
list-timezones ##檢視支援的所有時區
產看 /etc/adjtime 檔案,該檔案記錄了時間引數修改後的結果
其中0 代表設定為utc時間,1 代表設定為local 時間
五、檢視日誌
1. journalctl ##日誌檢視工具
命令後接不同的引數:
-n 3 ##檢視最近3條日誌
-p err ##檢視錯誤日誌
-o verbose ##檢視日誌的詳細引數
-f ##監控日誌
--since ##檢視從什麼時間開始的日誌
--until ##檢視到什麼時間為止的日誌
2. 存放歷史日誌
建立目錄:mkdir /var/log/journal
目錄只對root 使用者有寫許可權
更改目錄所屬組:chgrp systemd-journal /var/log/journal
通過vim /etc/group 檢視journal 組的名稱
對目錄所屬組增加強制位許可權,使其目錄內生成檔案的所屬組均和目錄所屬組一致
產看日誌服務相關程序:ps aux | grep systemd-journal
重新載入服務配置:killall -1 systemd-journald
檢視新生成的日誌目錄