linux日誌管理
❶ linux日誌文件的管理、備份及日誌伺服器的搭建
日誌文件存放目錄: /var/log
[root@xing log]# cd /var/log
[root@xing log]# ls
messages:系統日誌
secure:登錄日誌
————————————————
日誌管理服務文件: vim /etc/rsyslog.conf
日誌記錄的日誌級別:最不嚴重 -> 最嚴重
debug, info, notice, warning, warn (same as warning), err, error (same
as err), crit, alert, emerg, panic (same as emerg)
測試提示:
[ming@xing etc]$ logger -p authpriv.emerg "==mingeror=="
[ming@xing etc]$
Message from syslogd@xing at Jul 18 11:00:41 ...
root: ==mingeror==
登錄日誌的錯誤信息同步寫入 「/var/log/secure 」 文件中
————————————————
日誌的異地備份
日誌的異地備份至關重要。防止別人拿到你的root許可權;用命令:echo "" > /var/log/secure 直接清空你的登錄日誌。
配置需備份日誌的客戶機(172.168.0.254):
[root@xing etc]# vim rsyslog.conf
————————————————
配置文件修改:
#*.* @@remote-host:514
authpriv.* @@172.168.0.1:514
————————————————
[root@xing etc]# setenforce 0 //執行setenforce 0 表示 臨時關閉 selinux防火牆。
[root@xing etc]# getenforce
Permissive
[root@xing etc]# service rsyslog restart
————————————————
配置日誌記錄伺服器(172.168.0.1):
[root@xing etc]# vim rsyslog.conf
————————————————
開啟接收埠模塊
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
———
配置備份的數據源及日誌備份存放文件
:fromhost-ip,isequal,「172.168.0.254」 /var/log/client/172.168.0.254.log
————————————————
[root@xing etc]# service rsyslog restart
———————
ss -antpl | grep 514
————————————————
注意:配置成功需關閉雙方伺服器的防火牆,或者修改防火牆配置。
❷ linux日誌管理-1-syslogd
Linux日誌管理中的syslogd是一個關鍵服務,它不僅負責kernel日誌的記錄,還能管理user space的日誌。作為守護進程,syslogd的配置和其子服務如mail、auth、cron等通過/etc/syslog.conf文件進行管理,獲取官方文檔可通過rsyslog.com/doc/master/。系統默認日誌會追加到/var/log/messages和/kern.log中,日誌格式包含時間、主機名、服務程序名以及事件詳情。
開啟rsyslogd後,kernel log不再通過/proc/kmsg查看。配置syslogd的行為主要通過/etc/syslog.conf進行,該文件決定了日誌類型、級別和輸出路徑。默認規則在/etc/rsyslog.d/50-default.conf中,可以通過自定義rsyslog規則文件(如/etc/rsyslog.d/*.conf)進一步細化日誌處理。
進程如何與syslogd交互?如sshd、login、su等進程通過syslog系統調用來發送日誌,通過指定的不同常量(如LOG_AUTH或LOG_CRON)將日誌分類至不同的文件,如secure、cron或kernel日誌。用戶空間進程也可以使用syslog()函數自定義日誌規則,包括選擇ident、facility和優先順序。
syslogd還支持重定向和等級控制,例如通過修改rsyslog.conf或程序中的facility設置,可以將日誌定向到特定文件,或僅記錄高於某個等級的事件。此外,syslogd還支持將日誌輸出到console,以便實時監控。
❸ Linux查看日誌文件的常用命令
在Linux中,管理日誌文件的命令工具非常實用。以下是幾個常用的命令來幫助你查看、搜索和篩選日誌內容:
1. 查看文件最後1000行:使用`tail -n 1000 filename`。
2. 實時監控:若需動態刷新最後1000行,使用`tail -f -n 1000 filename`。
3. 關鍵字搜索:通過`cat filename | grep '關鍵字'`找到包含特定關鍵字的行。
4. 搜索前後行:要包含特定關鍵字前後幾行,輸入`cat filename | grep '關鍵字' -A 2`(A代表前幾行)。
5. 重定向結果:搜索結果可定向到新文件,如`cat filename | grep '關鍵字' > aaa.log`。
6. 查看執行時間日誌:定位特定時間的記錄,用`cat filename | grep '2023-10-20 16:30'`。
7. 指定時間段日誌:`cat filename | grep '2023-10-20 16:3[1-3]'`篩選特定時間段。
8. 分頁查看:對於大型文件,`less filename`提供了滾動瀏覽功能。
9. 顯示文件開頭:`head -n 100 filename`查看文件前100行內容。
10. grep命令深入搜索:`grep "keyword" filename`搜索包含特定關鍵詞的行。
11. 分頁瀏覽:`cat filename | more`逐頁查看文件內容。
12. 編輯器VIM:雖然主要用於編輯,但也可用於查看日誌,如`vim filename`。
13. sed命令:支持按行號或時間范圍篩選,如`sed -n '5,10p' filename`查看指定行,或`sed -n '/2023-10-17 16:17:20/,/2023-10-17 16:17:36/p' test.log`查詢時間段內容。
通過這些命令,你可以有效地管理Linux系統中的日誌文件,快速定位和分析關鍵信息。