如何在 Linux 中管理日誌
在 Linux 系統上管理日誌文件可能非常容易,也可能非常痛苦。這完全取決於你所認為的日誌管理是什麼。
如果你認為是如何確保日誌文件不會耗盡你的 Linux 伺服器上的所有磁碟空間,那麼這個問題通常很簡單。Linux 系統上的日誌文件會自動翻轉,系統將只維護固定數量的翻轉日誌。即便如此,一眼看去一組上百個文件可能會讓人不知所措。在這篇文章中,我們將看看日誌輪換是如何工作的,以及一些最相關的日誌文件。
自動日誌輪換
日誌文件是經常輪轉的。當前的日誌會獲得稍微不同的文件名,並建立一個新的日誌文件。以系統日誌文件為例。對於許多正常的系統 messages 文件來說,這個文件是一個包羅萬象的東西。如果你 cd
轉到 /var/log
並查看一下,你可能會看到一系列系統日誌文件,如下所示:
$ ls -l syslog*
-rw-r----- 1 syslog adm 28996 Jul 30 07:40 syslog
-rw-r----- 1 syslog adm 71212 Jul 30 00:00 syslog.1
-rw-r----- 1 syslog adm 5449 Jul 29 00:00 syslog.2.gz
-rw-r----- 1 syslog adm 6152 Jul 28 00:00 syslog.3.gz
-rw-r----- 1 syslog adm 7031 Jul 27 00:00 syslog.4.gz
-rw-r----- 1 syslog adm 5602 Jul 26 00:00 syslog.5.gz
-rw-r----- 1 syslog adm 5995 Jul 25 00:00 syslog.6.gz
-rw-r----- 1 syslog adm 32924 Jul 24 00:00 syslog.7.gz
輪換髮生在每天午夜,舊的日誌文件會保留一周,然後刪除最早的系統日誌文件。syslog.7.gz
文件將被從系統中刪除,syslog.6.gz
將被重命名為 syslog.7.gz
。日誌文件的其餘部分將依次改名,直到 syslog
變成 syslog.1
並創建一個新的 syslog
文件。有些系統日誌文件會比其他文件大,但是一般來說,沒有一個文件可能會變得非常大,並且你永遠不會看到超過八個的文件。這給了你一個多星期的時間來回顧它們收集的任何數據。
某種特定日誌文件維護的文件數量取決於日誌文件本身。有些文件可能有 13 個。請注意 syslog
和 dpkg
的舊文件是如何壓縮以節省空間的。這裡的考慮是你對最近的日誌最感興趣,而更舊的日誌可以根據需要用 gunzip
解壓。
# ls -t dpkg*
dpkg.log dpkg.log.3.gz dpkg.log.6.gz dpkg.log.9.gz dpkg.log.12.gz
dpkg.log.1 dpkg.log.4.gz dpkg.log.7.gz dpkg.log.10.gz
dpkg.log.2.gz dpkg.log.5.gz dpkg.log.8.gz dpkg.log.11.gz
日誌文件可以根據時間和大小進行輪換。檢查日誌文件時請記住這一點。
儘管默認值適用於大多數 Linux 系統管理員,但如果你願意,可以對日誌文件輪換進行不同的配置。查看這些文件,如 /etc/rsyslog.conf
和 /etc/logrotate.conf
。
使用日誌文件
對日誌文件的管理也包括時不時的使用它們。使用日誌文件的第一步可能包括:習慣每個日誌文件可以告訴你有關係統如何工作以及系統可能會遇到哪些問題。從頭到尾讀取日誌文件幾乎不是一個好的選擇,但是當你想了解你的系統運行的情況或者需要跟蹤一個問題時,知道如何從日誌文件中獲取信息會是有很大的好處。這也表明你對每個文件中存儲的信息有一個大致的了解了。例如:
$ who wtmp | tail -10 顯示最近的登錄信息
$ who wtmp | grep shark 顯示特定用戶的最近登錄信息
$ grep "sudo:" auth.log 查看誰在使用 sudo
$ tail dmesg 查看(最近的)內核日誌
$ tail dpkg.log 查看最近安裝和更新的軟體包
$ more ufw.log 查看防火牆活動(假如你使用 ufw)
你運行的一些命令也會從日誌文件中提取信息。例如,如果你想查看系統重新啟動的列表,可以使用如下命令:
$ last reboot
reboot system boot 5.0.0-20-generic Tue Jul 16 13:19 still running
reboot system boot 5.0.0-15-generic Sat May 18 17:26 - 15:19 (21+21:52)
reboot system boot 5.0.0-13-generic Mon Apr 29 10:55 - 15:34 (18+04:39)
使用更高級的日誌管理器
雖然你可以編寫腳本來更容易地在日誌文件中找到感興趣的信息,但是你也應該知道有一些非常複雜的工具可用於日誌文件分析。一些可以把來自多個來源的信息聯繫起來,以便更全面地了解你的網路上發生了什麼。它們也可以提供實時監控。這些工具,如 Solarwinds Log & Event Manager 和 PRTG 網路監視器(包括日誌監視)浮現在腦海中。
還有一些免費工具可以幫助分析日誌文件。其中包括:
- Logwatch — 用於掃描系統日誌中感興趣的日誌行的程序
- Logcheck — 系統日誌分析器和報告器
在接下來的文章中,我將提供一些關於這些工具的見解和幫助。
via: https://www.networkworld.com/article/3428361/how-to-manage-logs-in-linux.html
作者:Sandra Henry-Stocker 選題:lujun9972 譯者:heguangzhi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive