成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

[[246685]]

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

日志文件輪換

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

如果你需要更細致一點地回顧在跟蹤的某個問題,想了解哪些類型的系統信息保存起來,只需用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  

這是數量相當龐大的日志和日志目錄,/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個不同的文件。這代表了一周以來的歷史數據以及當前文件。大多數舊文件被壓縮以節省空間。 

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

大多數Linux系統不再使用舊的messages和dmesg文件,多年來它們為我們的大多數系統消息充當登陸位置。相反,一大批文件和一些特殊命令可以用來幫助顯示可能與你要查找的內容密切相關的日志信息。

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

  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命令時,可能也只發現需要使用lastlog命令來查看該日志的數據。

因此,這里列出了/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-系統服務日志
  • ufw-防火墻日志
  • wtmp-登錄記錄

journalctl

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

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

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

  1. $ journalctl | wc -l 
  2. 666501  

有666000多行文本!為了縮減至更一目了然的版本,你恐怕要使用參數來定制顯示的內容。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 --  

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

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

  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電腦發行版

2014-05-06 10:20:02

2021-07-28 10:32:53

漏洞網絡安全信息安全

2011-02-16 08:56:19

2016-08-22 15:15:14

數據實踐

2022-03-16 09:24:59

WindowsPC 游戲開發人員

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

區塊鏈品牌技術

2021-06-30 09:20:18

NuShell工具Linux

2016-03-17 09:45:17

react雙向綁定插件

2017-04-06 14:40:29

JavaScript錯誤處理堆棧追蹤

2021-04-24 23:31:18

Python日志編程

2012-10-22 20:34:05

統一通信托管協作靜態橋

2011-12-21 09:41:44

虛擬化服務器虛擬化

2016-11-18 13:15:02

廣電電視推流網

2015-12-14 15:30:45

銳捷網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲三级视频 | 久久合久久 | 国产精品夜色一区二区三区 | 国产91丝袜在线播放 | 自拍偷拍视频网 | 成人精品鲁一区一区二区 | 极品电影院 | 国产日韩欧美中文 | 999久久久精品 | 91精品国产91久久综合桃花 | 蜜桃视频在线观看免费视频网站www | 国产精品性做久久久久久 | 欧美色综合 | 欧美日韩亚洲一区 | 久久久久久久一级 | 国产一区不卡 | 色婷婷综合网 | 99久久久无码国产精品 | 精品欧美乱码久久久久久 | 免费a大片 | 毛片软件 | 国产高潮好爽受不了了夜色 | 国产激情在线 | 久久久久久国产 | 国产999精品久久久影片官网 | 日韩精品免费看 | 精品成人一区二区 | 九一国产精品 | 精品一区欧美 | 欧美日韩精品一区 | 日本a视频 | 欧美 日韩 国产 成人 在线 91 | 一级做a爰片性色毛片 | 91资源在线 | 黄a网站 | 午夜精品久久久久99蜜 | 国产精品综合视频 | 中文字幕在线免费视频 | 中文字幕一区二区三区四区五区 | 视频1区| 成人中文字幕在线观看 |