📖 Linux 系統日誌管理

分類:進階操作 | 作者:pake | 發布時間:2024-08-14 11:39

Linux 系統日誌管理

在 Red Hat 系列 Linux(包括 RHEL、CentOS 和 Fedora)中,系統日誌對於監控與診斷系統運作狀況至關重要。本篇將介紹 journalctlrsysloglogrotate,並提供實際操作示例。


目錄


系統日誌概述

Red Hat / Fedora 使用 systemd-journald 來管理日誌,而傳統的 rsyslog 仍可用於特定場景。日誌通常記錄在以下目錄:


使用 journalctl 管理日誌

查看所有系統日誌

journalctl

依時間範圍查詢

journalctl --since "1 hour ago"
journalctl --since "2024-01-01" --until "2024-01-02 12:00"

依服務名稱篩選

journalctl -u sshd
journalctl -u httpd --since "1 day ago"

監控即時日誌(類似 tail -f

journalctl -f

限制顯示行數

journalctl -n 50

清理日誌(釋放磁碟空間)

sudo journalctl --vacuum-size=500M
sudo journalctl --vacuum-time=7d

持久化 journalctl 日誌

預設 journalctl 可能只保留記憶體內日誌,如需長期存儲,請執行:

sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald

傳統日誌管理 (rsyslog)

雖然 systemd-journald 是現代標準,rsyslog 仍可用於集中日誌管理與傳送日誌至遠端伺服器。

安裝 rsyslog(如未安裝)

sudo dnf install rsyslog -y
sudo systemctl enable --now rsyslog

檢查 rsyslog 狀態

systemctl status rsyslog

rsyslog 配置文件位置

記錄 SSH 連線日誌至 /var/log/ssh.log

編輯 /etc/rsyslog.conf/etc/rsyslog.d/custom.conf,新增:

:programname, isequal, "sshd" /var/log/ssh.log
& stop

重啟 rsyslog

sudo systemctl restart rsyslog

設定遠端日誌伺服器

若要將日誌發送至遠端伺服器(192.168.1.100):

*.* @@192.168.1.100:514

重啟 rsyslog

sudo systemctl restart rsyslog

日誌輪轉 (logrotate)

Linux 使用 logrotate 來管理日誌大小,避免硬碟被日誌佔滿。

查看 logrotate 設定

cat /etc/logrotate.conf
ls /etc/logrotate.d/

手動執行日誌輪轉

sudo logrotate -vf /etc/logrotate.conf

自定義日誌輪轉(範例:/var/log/custom.log

新增 /etc/logrotate.d/custom,內容如下:

/var/log/custom.log {
    weekly
    rotate 4
    compress
    missingok
    notifempty
}

日誌分析與監控

grep 過濾日誌

grep "error" /var/log/messages
grep "Failed password" /var/log/secure

ausearch(SELinux 日誌分析)

ausearch -m avc -ts recent

fail2ban 監控 SSH 嘗試

sudo dnf install fail2ban -y
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

logwatch - 產生每日日誌報告

sudo dnf install logwatch -y
sudo logwatch --detail High --mailto admin@fedora.tw --range today

結語

本篇介紹了 Red Hat / Fedora 系統的日誌管理,包括 journalctlrsysloglogrotate,以及日誌監控與分析的實際操作。透過這些工具,您可以有效監控與管理系統日誌,確保系統的安全性與穩定性。

⬅ 上一篇 下一篇 ➡
🔙 返回 進階操作 📚 返回教學列表 🏠 返回首頁