日誌是系統的「黑盒子」,也是管理員的「聽診器」。嚴謹的日誌管理,能將故障排查時間從小時壓縮到分鐘。本文系統梳理 Syslog 架構、日誌檔案結構、配置策略與高效分析技巧,構建企業級日誌管理基線。
Linux 核心子系統(網路、檔案系統、記憶體管理等)產生海量訊息,需統一送達可維護的公共訊息區。Syslog 守護進程承擔此職責:
/var/log/)每行一條訊息,四欄組成:
| 欄位 | 說明 | 範例 |
|---|---|---|
| 時間戳記 | 訊息產生日期時間 | Nov 15 04:08:02 |
| 主機名 | 產生訊息的主機(集中日誌時關鍵) | bigboy |
| 子系統/進程 | 來源標識,方括號內為 PID | httpd[1234] |
| 訊息內容 | 具體事件描述 | httpd startup succeeded |
特殊訊息: MARK 訊息每 20 分鐘產生一次,確認系統存活(心跳訊號),亦可用於事後推算死機時間點。
/etc/syslog.conf(或 /etc/rsyslog.conf)規則由選擇器與動作組成,每行一條:
selector action
* 與逗號分隔多值*.info;*.notice /usr/adm/messages
*.debug /usr/adm/debug
*.err /usr/adm/syslog
messagesdebugsyslogkillall -HUP syslogd # 發送 SIGHUP 重讀配置
less /var/log/messages(支援搜尋 /keyword、向上翻頁)grep "error" /var/log/messages、grep -i "failed" /var/log/securetail -f /var/log/messages(新增行即時顯示,排查進行中故障神器)logrotate(參考前文)防止磁碟寫滿grep "Failed password" /var/log/secure | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -20
輸出攻擊來源 IP 及嘗試次數,配合 Fail2ban/iptables 秒級封禁。
日誌管理不是事後諸葛亮,而是預防性醫學。建立「收集→分類→輪替→分析→告警」閉環,讓系統在故障發生前就發出訊號。