偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

把你的Linux日志更充分地利用起來

譯文
系統(tǒng) Linux
Linux上的日志文件給出了大量實用的信息,可以表明系統(tǒng)上發(fā)生的情況。下列命令可幫助你厘清數(shù)據(jù)、揪出問題。

【51CTO.com快譯】Linux上的日志文件給出了大量實用的信息,可以表明系統(tǒng)上發(fā)生的情況。下列命令可幫助你厘清數(shù)據(jù)、揪出問題。

[[246685]]

Linux系統(tǒng)維護有大量的日志文件,其中許多日志文件你很可能懶得看一眼。不過有一些日志文件很寶貴,探究日志文件的方案五花八門。不妨看看一些系統(tǒng)日志,并了解更容易探究日志數(shù)據(jù)的一些方法。

日志文件輪換

首先存在日志輪換問題。一些Linux日志文件是“輪換的”。換句話說,系統(tǒng)存儲不止“一代”的日志文件,主要是為了防止它們占用太多的磁盤空間。然后較舊的日志被壓縮,但保留一段時間。最終,一系列輪換日志文件中最舊的日志文件會在日志輪換過程中被自動刪除,但你仍然可以訪問許多較舊的日志,以便可以檢查過去幾天或幾周添加的日志條目。

如果你需要更細致一點地回顧在跟蹤的某個問題,想了解哪些類型的系統(tǒng)信息保存起來,只需用cd進入到/var/log目錄,列出里面的內容。 

  1. /var/log# ls  
  2. alternatives.log btmp.1 kern.log.2.gz syslog.3.gz  
  3. alternatives.log.1 cups kern.log.3.gz syslog.4.gz  
  4. alternatives.log.2.gz dist-upgrade kern.log.4.gz syslog.5.gz  
  5. alternatives.log.3.gz dpkg.log lastlog syslog.6.gz  
  6. alternatives.log.4.gz dpkg.log.1 mail.err syslog.7.gz  
  7. alternatives.log.5.gz dpkg.log.2.gz mail.err.1 sysstat  
  8. apport.log dpkg.log.3.gz mail.err.2.gz tallylog  
  9. apport.log.1 dpkg.log.4.gz mail.err.3.gz ufw.log  
  10. apt dpkg.log.5.gz mail.err.4.gz ufw.log.1  
  11. atop faillog mail.log ufw.log.2.gz  
  12. auth.log fontconfig.log mail.log.1 ufw.log.3.gz  
  13. auth.log.1 gdm3 mail.log.2.gz ufw.log.4.gz  
  14. auth.log.2.gz gpu-manager.log mail.log.3.gz unattended-upgrades  
  15. auth.log.3.gz hp mail.log.4.gz wtmp  
  16. auth.log.4.gz installer speech-dispatcher wtmp.1  
  17. boot.log journal syslog  
  18. bootstrap.log kern.log syslog.1  
  19. btmp kern.log.1 syslog.2.gz  

這是數(shù)量相當龐大的日志和日志目錄,/var/log下面有69個文件和目錄,但如果算上那些目錄下面的文件,就有180個文件之多。 

  1. $ cd /var/log 
  2. $ ls | wc -l  
  3. 69  
  4. $ find . -type f -print | wc -l  
  5. 180  

如果你分析日志文件,會清楚地看到同一個基本的日志有哪幾代。比如說,其中一個主要的日志文件:syslog文件分成了9個不同的文件。這代表了一周以來的歷史數(shù)據(jù)以及當前文件。大多數(shù)舊文件被壓縮以節(jié)省空間。 

  1. $ ls -l syslog*  
  2. -rw-r----- 1 syslog adm 588728 Oct 15 20:42 syslog  
  3. -rw-r----- 1 syslog adm 511814 Oct 15 00:09 syslog.1  
  4. -rw-r----- 1 syslog adm 31205 Oct 14 00:06 syslog.2.gz  
  5. -rw-r----- 1 syslog adm 34797 Oct 13 00:06 syslog.3.gz  
  6. -rw-r----- 1 syslog adm 61107 Oct 12 00:08 syslog.4.gz  
  7. -rw-r----- 1 syslog adm 31682 Oct 11 00:06 syslog.5.gz  
  8. -rw-r----- 1 syslog adm 32004 Oct 10 00:07 syslog.6.gz  
  9. -rw-r----- 1 syslog adm 32309 Oct 9 00:05 syslog.7.gz  

syslog文件包含來自許多不同系統(tǒng)服務的消息,cron、sendmail和內核本身就是典型的幾項系統(tǒng)服務。你還會看到用戶會話和cron(計劃任務)的影子。

大多數(shù)Linux系統(tǒng)不再使用舊的messages和dmesg文件,多年來它們?yōu)槲覀兊拇蠖鄶?shù)系統(tǒng)消息充當?shù)顷懳恢谩O喾?,一大批文件和一些特殊命令可以用來幫助顯示可能與你要查找的內容密切相關的日志信息。

視具體的文件而定,你可能只需使用more或tail命令,或者可以使用針對特定文件的命令,比如使用who命令,從wtmp日志提取用戶登錄數(shù)據(jù)。 

  1. $ who wtmp  
  2. shs pts/1 2018-10-05 08:42 (192.168.0.10)  
  3. shs pts/1 2018-10-08 09:41 (192.168.0.10)  
  4. shs pts/1 2018-10-11 14:00 (192.168.0.10)  
  5. shs :0 2018-10-14 19:11 (:0)  
  6. shs pts/0 2018-10-14 19:16 (192.168.0.25)  
  7. shs pts/0 2018-10-15 07:39 (192.168.0.25)  
  8. shs :0 2018-10-15 19:58 (:0)  
  9. dory pts/0 2018-10-15 20:01 (192.168.0.11)  
  10. shs pts/0 2018-10-15 20:42 (192.168.0.6)  
  11. shs pts/0 2018-10-16 07:18 (192.168.0.6)  
  12. nemo pts/1 2018-10-16 07:46 (192.168.0.14)  

同樣,你在運行tail faillog命令后可能什么都看不到,但是像這樣的命令向你表明它全是0: 

  1. # od -bc faillog  
  2. 0000000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000  
  3. \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0  
  4.  
  5. 0076600  

你嘗試使用tail lastlog命令時,可能也只發(fā)現(xiàn)需要使用lastlog命令來查看該日志的數(shù)據(jù)。

因此,這里列出了/var/log中的日志文件,以及關于它們包含的內容以及如何查看內容的一些描述。

  • alternatives.log-來自update-alternatives的“運行”建議
  • apport.log-關于已截獲的崩潰的信息
  • auth.log-使用的用戶登錄和身份驗證機制
  • boot.log-啟動時間消息
  • btmp-失敗的登錄嘗試
  • dpkg.log-關于軟件包何時安裝或刪除的信息
  • lastlog-最近的登錄(使用lastlog命令來查看)
  • faillog-關于失敗的登錄嘗試的信息;如果失敗的登錄嘗試一次都沒有,全是0(使用faillog命令來查看)
  • kern.log-內核日志消息
  • mail.err-關于郵件服務器檢測到的錯誤的信息
  • mail.log-來自郵件服務器的信息
  • syslog-系統(tǒng)服務日志
  • ufw-防火墻日志
  • wtmp-登錄記錄

journalctl

除了/var/log中維護的日志文件外,還有systemd日志。雖然這個日志不是通常意義上的簡單的“日志文件”,卻代表了關于用戶和內核活動的一堆重要信息。可從系統(tǒng)上的眾多來源獲取該信息。

要查看已收集的信息,請使用journalctl命令。

會看到多少信息取決于你是不是adm組的成員。非adm用戶看到的信息比較少,但adm組的成員可以訪問大量數(shù)據(jù),如此例所示,這僅僅向我們顯示該adm組成員可以查看多少行信息: 

  1. $ journalctl | wc -l 
  2. 666501  

有666000多行文本!為了縮減至更一目了然的版本,你恐怕要使用參數(shù)來定制顯示的內容。Journalctl的幾個選項包括如下:

  • --utc (change the time format to UTC)
  • -b (only show records added since the last boot)
  • -b -1 (only show records added since the previous to last boot)
  • --since and --until (only show records added within the specify timeframe, e.g., --since "2018-10-15" --until "2018-10-11 06:00"

示例如下: 

  1. $ journalctl --since "2018-10-16 13:28"  
  2. -- Logs begin at Mon 2018-05-14 15:16:11 EDT, end at Tue 2018-10-16 13:28:57 EDT. --  
  3. Oct 16 13:28:25 butterfly kernel: [UFW BLOCK] IN=enp0s25 OUT= MAC=01:00:5e:00:00:01:02:  
  4. Oct 16 13:28:25 butterfly kernel: [UFW BLOCK] IN=enp0s25 OUT= MAC=01:00:5e:00:00:fb:00:  
  5. Oct 16 13:28:57 butterfly su[7784]: pam_unix(su:session): session closed for user root  
  6. Oct 16 13:28:57 butterfly sudo[7783]: pam_unix(sudo:session): session closed for user root  
  7. lines 1-5/5 (END 

還可以查看僅僅某一項服務的日志條目。這可能是journalctl命令比較有用的功能之一: 

  1. $ journalctl -u networking.service  
  2. -- Logs begin at Mon 2018-05-14 15:16:11 EDT, end at Tue 2018-10-16 08:06:31 EDT  
  3. May 14 15:16:12 shs-Inspiron-530s systemd[1]: Starting Raise network interfaces.  
  4. May 14 15:16:12 shs-Inspiron-530s systemd[1]: Started Raise network interfaces.  
  5. May 14 15:49:18 butterfly systemd[1]: Stopping Raise network interfaces...  
  6. May 14 15:49:18 butterfly systemd[1]: Stopped Raise network interfaces.  
  7. -- Reboot --  
  8. May 14 15:49:50 butterfly systemd[1]: Starting Raise network interfaces...  
  9. May 14 15:49:51 butterfly systemd[1]: Started Raise network interfaces.  
  10. -- Reboot --  

注意這個輸出結果中系統(tǒng)重啟信息是如何顯示的。

想列出服務,試一下這樣的命令: 

  1. $ service --status-all | column  
  2. [ + ] acpid [ + ] network-manager  
  3. [ - ] alsa-utils [ - ] networking  
  4. [ - ] anacron [ - ] plymouth  
  5. [ + ] apparmor [ - ] plymouth-log  
  6. [ + ] apport [ - ] pppd-dns  
  7. [ + ] atd [ + ] procps  
  8. [ + ] atop [ - ] quota  
  9. [ + ] atopacct [ - ] quotarpc  
  10. [ + ] avahi-daemon [ - ] rsync  
  11. [ - ] bluetooth [ + ] rsyslog  
  12. [ - ] console-setup.sh [ - ] saned  
  13. [ + ] cron [ + ] sendmail  
  14. [ + ] cups [ + ] speech-dispatcher  
  15. [ + ] cups-browsed [ - ] spice-vdagent  
  16. [ + ] dbus [ + ] ssh  
  17. [ - ] dns-clean [ + ] sysstat  
  18. [ + ] gdm3 [ - ] thermald  
  19. [ + ] grub-common [ + ] udev  
  20. [ - ] hwclock.sh [ + ] ufw  
  21. [ + ] irqbalance [ + ] unattended-upgrades  
  22. [ + ] kerneloops [ - ] uuidd  
  23. [ - ] keyboard-setup.sh [ + ] whoopsie  
  24. [ + ] kmod [ - ] x11-common  

在上述顯示的內容中: 

  1. + = active  
  2. - = inactive  
  3. ? = no status option available  

這個實用命令給出了表明磁盤空間使用情況的簡短報告: 

  1. $ journalctl --disk-usage  
  2. Archived and active journals take up 824.1M in the file system.  

如果你想關注某一個進程,只需提供PID(截短的),如下所示。 

  1. $ journalctl _PID=787  
  2. -- Logs begin at Mon 2018-05-14 15:16:11 EDT, end at Tue 2018-10-16 08:25:17 EDT  
  3. Aug 03 18:02:46 butterfly apport[787]: * Starting automatic crash report genera  
  4. Aug 03 18:02:46 butterfly apport[787]: ...done.  
  5. -- Reboot --  
  6. Sep 16 13:26:34 butterfly atopacctd[787]: Version: 2.3.0 - 2017/03/25 09:59:59  
  7. Sep 16 13:26:34 butterfly atopacctd[787]: accounting to /run/pacct_source  
  8. -- Reboot --  
  9. Oct 03 18:08:41 butterfly apport[787]: * Starting automatic crash report genera  
  10. Oct 03 18:08:41 butterfly apport[787]: ...done.  
  11. -- Reboot --  
  12. Oct 15 14:07:11 butterfly snapd[787]: AppArmor status: apparmor is enabled but s  
  13. Oct 15 14:07:12 butterfly snapd[787]: AppArmor status: apparmor is enabled but s  
  14. Oct 15 14:07:12 butterfly snapd[787]: daemon.go:344: started snapd/2.35.2 (serie  
  15. Oct 15 14:07:12 butterfly snapd[787]: autorefresh.go:376: Cannot prepare auto-re  

注意:systemd日志的配置文件是/etc/systemd/journald.conf。

原文標題:Making better use of your Linux logs,作者:Sandra Henry-Stocker 

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2020-01-06 15:00:43

Linux電腦發(fā)行版

2014-05-06 10:20:02

2021-07-28 10:32:53

漏洞網絡安全信息安全

2011-02-16 08:56:19

2016-08-22 15:15:14

數(shù)據(jù)實踐

2022-03-16 09:24:59

WindowsPC 游戲開發(fā)人員

2012-08-16 11:08:20

2009-06-29 10:04:47

DB2 9.7

2021-09-29 07:13:12

編程 Python Merge

2018-07-11 06:52:47

云計算云遷移

2021-08-17 13:44:05

區(qū)塊鏈品牌技術

2021-06-30 09:20:18

NuShell工具Linux

2017-04-06 14:40:29

JavaScript錯誤處理堆棧追蹤

2016-03-17 09:45:17

react雙向綁定插件

2012-10-22 20:34:05

統(tǒng)一通信托管協(xié)作靜態(tài)橋

2021-04-24 23:31:18

Python日志編程

2011-12-21 09:41:44

虛擬化服務器虛擬化

2016-11-18 13:15:02

廣電電視推流網

2015-12-14 15:30:45

銳捷網絡
點贊
收藏

51CTO技術棧公眾號