Linux系統日誌及分析講解,linux日誌講解

來源:互聯網
上載者:User

Linux系統日誌及分析講解,linux日誌講解

Linux系統擁有非常靈活和強大的日誌功能,可以儲存幾乎所有的操作記錄,並可以從中檢索出我們需要的資訊。

大部分Linux發行版預設的日誌守護進程為 syslog,位於 /etc/syslog 或 /etc/syslogd 或/etc/rsyslog.d,預設設定檔為 /etc/syslog.conf 或 rsyslog.conf,任何希望組建記錄檔的程式都可以向 syslog 發送資訊。

Linux系統核心和許多程式會產生各種錯誤資訊、警告資訊和其他的提示資訊,這些資訊對管理員瞭解系統的運行狀態是非常有用的,所以應該把它們寫到記錄檔中去。

完成這個過程的程式就是syslog。syslog可以根據日誌的類別和優先順序將日誌儲存到不同的檔案中。

例如,為了方便查閱,可以把核心資訊與其他資訊分開,單獨儲存到一個獨立的記錄檔中。預設配置下,記錄檔通常都儲存在“/var/log”目錄下。

日誌類型

下面是常見的日誌類型,但並不是所有的Linux發行版都包含這些類型:

類型 說明
auth 使用者認證時產生的日誌,如login命令、su命令。
authpriv 與 auth 類似,但是只能被特定使用者查看。
console 針對系統控制台的訊息。
cron 系統定期執行計畫任務時產生的日誌。
daemon 某些守護進程產生的日誌。
ftp FTP服務。
kern 系統核心訊息。
local0.local7 由自訂程式使用。
lpr 與印表機活動有關。
mail 郵件日誌。
mark 產生時間戳記。系統每隔一段時間向記錄檔中輸出目前時間,每行的格式類似於May 26 11:17:09 rs2 -- MARK --,可以由此推斷系統發生故障的大概時間。
news 網路新聞傳輸通訊協定(nntp)產生的訊息。
ntp 網路時間協議(ntp)產生的訊息。
user 使用者進程。
uucp UUCP子系統。
日誌優先順序

常見的日誌優先順序請見下標:

優先順序 說明
emerg 緊急情況,系統不可用(例如系統崩潰),一般會通知所有使用者。
alert 需要立即修複,例如系統資料庫損壞。
crit 危險情況,例如硬碟錯誤,可能會阻礙程式的部分功能。
err 一般錯誤訊息。
warning 警告。
notice 不是錯誤,但是可能需要處理。
info 通用性訊息,一般用來提供有用資訊。
debug 偵錯工具產生的資訊。
none 沒有優先順序,不記錄任何日誌訊息。
常用記錄檔

系統日誌是由一個名為syslog的服務管理的,如以下記錄檔都是由syslogLog Service驅動的:

/var/log/boot.log:錄了系統在引導過程中發生的事件,就是Linux系統開機自我測試 (POST)過程顯示的資訊

/var/log/lastlog :記錄最後一次使用者成功登陸的時間、登陸IP等資訊

/var/log/messages :記錄Linux作業系統常見的系統和服務錯誤資訊

/var/log/secure :Linux系統安全日誌,記錄使用者和工作群組變壞情況、使用者登陸認證情況

/var/log/btmp :記錄Linux登陸失敗的使用者、時間以及遠程IP地址

/var/log/syslog:只記錄警告資訊,常常是系統出問題的資訊,使用lastlog查看

/var/log/wtmp:該記錄檔永久記錄每個使用者登入、登出及系統的啟動、停機的事件,使用last命令查看

/var/run/utmp:該記錄檔記錄有關當前登入的每個使用者的資訊。如 who、w、users、finger等就需要訪問這個檔案

/var/log/syslog 或 /var/log/messages 儲存所有的全域系統活動資料,包括開機資訊。基於 Debian 的系統如 Ubuntu 在 /var/log/syslog 中儲存它們,而基於 RedHat 的系統如 RHEL 或 CentOS 則在 /var/log/messages 中儲存它們。

/var/log/auth.log 或 /var/log/secure 儲存來自可插拔認證模組(PAM)的日誌,包括成功的登入,失敗的登入嘗試和認證方式。Ubuntu 和 Debian 在 /var/log/auth.log 中儲存認證資訊,而 RedHat 和 CentOS 則在 /var/log/secure 中儲存該資訊。

記錄檔詳細介紹:

/var/log/boot.log

該檔案記錄了系統在引導過程中發生的事件,就是Linux系統開機自我測試 (POST)過程顯示的資訊。/var/log/syslog

預設Centos,Fedora不產生該記錄檔,但可以配置/etc/syslog.conf讓系統產生該記錄檔。

它和/etc/log/messages記錄檔不同,它只記錄警告資訊,常常是系統出問題的資訊,所以更應該關注該檔案。

要讓系統產生該記錄檔,在/etc/syslog.conf檔案中加上:*.warning /var/log/syslog 該記錄檔能記錄當使用者登入時login記錄下的錯誤口令、Sendmail的問題、su命令執行失敗等資訊。

該記錄檔記錄最近成功登入的事件和最後一次不成功的登入事件,由login產生。在每次使用者登入時被查詢,該檔案是二進位檔案,需要使用lastlog命令查看,根據UID排序顯示登入名稱、連接埠號碼和上次登入時間。如果某使用者從來沒有登入過,就顯示為"**Never logged in**"。該命令只能以root許可權執行。簡單地輸入lastlog命令後就會看到類似圖4的資訊:

[root@TestStation etc]# lastlogUsername Port From Latestroot pts/0 110.87.109.232 Wed Nov 2 10:34:20 +0800 2016bin **Never logged in**daemon **Never logged in**adm **Never logged in**lp **Never logged in**sync **Never logged in**shutdown **Never logged in**halt **Never logged in**mail **Never logged in**uucp **Never logged in**operator **Never logged in**games **Never logged in**gopher **Never logged in**ftp **Never logged in**nobody **Never logged in**vcsa **Never logged in**saslauth **Never logged in**postfix **Never logged in**sshd **Never logged in**ntp **Never logged in**suda pts/2 222.79.79.120 Tue Oct 25 16:00:01 +0800 2016

/var/log/wtmp

該記錄檔永久記錄每個使用者登入、登出及系統的啟動、停機的事件。因此隨著系統正常已耗用時間的增加,該檔案的大小也會越來越大,增加的速度取決於系統使用者登入的次數。該記錄檔可以用來查看使用者的登入記錄,last命令就通過訪問這個檔案獲得這些資訊,並以反序從後向前顯示使用者的登入記錄,last也能根據使用者、終端tty或時間顯示相應的記錄。

/var/run/utmp

該記錄檔記錄有關當前登入的每個使用者的資訊。因此這個檔案會隨著使用者登入和登出系統而不斷變化,它只保留當時聯機的使用者記錄,不會為使用者保留永久的記錄。系統中需要查詢目前使用者狀態的程式,如 who、w、users、finger等就需要訪問這個檔案。該記錄檔並不能包括所有精確的資訊,因為某些突發錯誤會終止使用者登入工作階段,而系統沒有及時更新 utmp記錄,因此該記錄檔的記錄不是百分之百值得信賴的。

以上提及的3個檔案(/var/log/wtmp、/var/run/utmp、/var/log/lastlog)是日誌子系統的關鍵檔案,都記錄了使用者登入的情況。這些檔案的所有記錄都包含了時間戳記。這些檔案是按二進位儲存的,故不能用less、cat之類的命令直接查看這些檔案,而是需要使用相關命令通過這些檔案而查看。其中,utmp和wtmp檔案的資料結構是一樣的,而lastlog檔案則使用另外的資料結構,關於它們的具體的資料結構可以使用man命令查詢。

每次有一個使用者登入時,login程式在檔案lastlog中查看使用者的UID。如果存在,則把使用者上次登入、登出時間和主機名稱寫到標準輸出中,然後login程式在lastlog中記錄新的登入時間,開啟utmp檔案並插入使用者的utmp記錄。該記錄一直用到使用者登入退出時刪除。utmp檔案被各種命令使用,包括who、w、users和finger。

下一步,login程式開啟檔案wtmp附加使用者的utmp記錄。當使用者登入退出時,具有更新時間戳記的同一utmp記錄附加到檔案中。wtmp檔案被程式last使用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.