今天就跟大家聊聊有關(guān)如何理解Linux 系統(tǒng)中的管理日志,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為宿松等服務(wù)建站,宿松等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為宿松企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
在 Linux 系統(tǒng)上管理日志文件可能非常容易,也可能非常痛苦。這完全取決于你所認(rèn)為的日志管理是什么。
如果你認(rèn)為是如何確保日志文件不會耗盡你的 Linux 服務(wù)器上的所有磁盤空間,那么這個問題通常很簡單。Linux 系統(tǒng)上的日志文件會自動翻轉(zhuǎn),系統(tǒng)將只維護(hù)固定數(shù)量的翻轉(zhuǎn)日志。即便如此,一眼看去一組上百個文件可能會讓人不知所措。在這篇文章中,我們將看看日志輪換是如何工作的,以及一些最相關(guān)的日志文件。
自動日志輪換
日志文件是經(jīng)常輪轉(zhuǎn)的。當(dāng)前的日志會獲得稍微不同的文件名,并建立一個新的日志文件。以系統(tǒng)日志文件為例。對于許多正常的系統(tǒng) messages 文件來說,這個文件是一個包羅萬象的東西。如果你 cd 轉(zhuǎn)到 /var/log 并查看一下,你可能會看到一系列系統(tǒng)日志文件,如下所示:
$ 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
輪換發(fā)生在每天午夜,舊的日志文件會保留一周,然后刪除最早的系統(tǒng)日志文件。syslog.7.gz 文件將被從系統(tǒng)中刪除,syslog.6.gz 將被重命名為 syslog.7.gz。日志文件的其余部分將依次改名,直到 syslog 變成 syslog.1 并創(chuàng)建一個新的 syslog 文件。有些系統(tǒng)日志文件會比其他文件大,但是一般來說,沒有一個文件可能會變得非常大,并且你永遠(yuǎn)不會看到超過八個的文件。這給了你一個多星期的時間來回顧它們收集的任何數(shù)據(jù)。
某種特定日志文件維護(hù)的文件數(shù)量取決于日志文件本身。有些文件可能有 13 個。請注意 syslog 和 dpkg 的舊文件是如何壓縮以節(jié)省空間的。這里的考慮是你對最近的日志最感興趣,而更舊的日志可以根據(jù)需要用 gunzip 解壓。
日志文件可以根據(jù)時間和大小進(jìn)行輪換。檢查日志文件時請記住這一點(diǎn)。
盡管默認(rèn)值適用于大多數(shù) Linux 系統(tǒng)管理員,但如果你愿意,可以對日志文件輪換進(jìn)行不同的配置。查看這些文件,如 /etc/rsyslog.conf 和 /etc/logrotate.conf。
使用日志文件
對日志文件的管理也包括時不時的使用它們。使用日志文件的第一步可能包括:習(xí)慣每個日志文件可以告訴你有關(guān)系統(tǒng)如何工作以及系統(tǒng)可能會遇到哪些問題。從頭到尾讀取日志文件幾乎不是一個好的選擇,但是當(dāng)你想了解你的系統(tǒng)運(yùn)行的情況或者需要跟蹤一個問題時,知道如何從日志文件中獲取信息會是有很大的好處。這也表明你對每個文件中存儲的信息有一個大致的了解了。例如:
$ who wtmp | tail -10 顯示最近的登錄信息 $ who wtmp | grep shark 顯示特定用戶的最近登錄信息 $ grep "sudo:" auth.log 查看誰在使用 sudo $ tail dmesg 查看(最近的)內(nèi)核日志 $ tail dpkg.log 查看最近安裝和更新的軟件包 $ more ufw.log 查看防火墻活動(假如你使用 ufw)
你運(yùn)行的一些 命令也會從日志文件中提取信息。例如,如果你想查看系統(tǒng)重新啟動的列表,可以使用如下 命令:
$ 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)
使用更高級的日志管理器
雖然你可以編寫 腳本來更容易地在日志文件中找到感興趣的信息,但是你也應(yīng)該知道有一些非常復(fù)雜的工具可用于日志文件分析。一些可以把來自多個來源的信息聯(lián)系起來,以便更全面地了解你的網(wǎng)絡(luò)上發(fā)生了什么。它們也可以提供實(shí)時監(jiān)控。這些工具,如 Solarwinds Log & Event Manager 和 PRTG 網(wǎng)絡(luò)監(jiān)視器(包括日志監(jiān)視)浮現(xiàn)在腦海中。
還有一些免費(fèi)工具可以幫助分析日志文件。其中包括:
Logwatch — 用于掃描系統(tǒng)日志中感興趣的日志行的程序
Logcheck — 系統(tǒng)日志分析器和報告器
看完上述內(nèi)容,你們對如何理解Linux 系統(tǒng)中的管理日志有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。