1. 程式人生 > >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的服務管理的,如以下日誌檔案都是由syslog日誌服務驅動的:

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

/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系統開機自檢過程顯示的資訊,如圖1所示:

/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的資訊:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [[email protected] etc]# lastlog Username         Port     From             Latest root             pts/0    110.87.109.232   Wed Nov  2 10:34:20 +0800 2016 bin                                        **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使用。

相關推薦

linux系統日誌以及分析

Linux系統擁有非常靈活和強大的日誌功能,可以儲存幾乎所有的操作記錄,並可以從中檢索出我們需要的資訊。 大部分Linux發行版預設的日誌守護程序為 syslog,位於 /etc/syslog 或 /etc/syslogd 或/etc/rsyslog.d,預設配置檔案

如何檢視linux系統下的各種日誌檔案 linux 系統日誌分析大全

日誌分類: 1. 連線時間的日誌  連線時間日誌一般由/var/log/wtmp和/var/run/utmp這兩個檔案記錄,不過這   兩個檔案無法直接cat檢視,並且該檔案由系統自動更新,可以通過如下:   w/who/finger/id/last/lastlog

Linux系統日誌以及日誌同步設定

1.系統日誌預設分類 日誌監控可以使用命令 tail -f /var/log/logname /var/log/messages ##系統服務及日誌,包括服務的資訊,報錯等等 /var/log

Linux系統日誌日誌分析

決定 director 註意 負責 ins 傳輸 模塊 進程id 例如 Linux系統擁有非常靈活和強大的日誌功能,可以保存幾乎所有的操作記錄,並可以從中檢索出我們需要的信息。大部分Linux發行版默認的日誌守護進程為 syslog,位於 /etc/syslog 或 /et

Linux系統日誌分析與管理(14)

當你的 Linux 系統出現不明原因的問題時,你需要查閱一下系統日誌才能夠知道系統出了什麼問題了,所以說了解系統日誌是很重要的事情,系統日誌可以記錄系統在什麼時間、哪個主機、哪個服務、出現了什麼資訊等,這些資訊也包括使用者識別資料、系統故障排除等,如果你能夠善用這些日誌檔案資訊的話,你的系統出現錯誤時,你將可

Linux日誌系統日誌分析

Linux系統擁有非常靈活和強大的日誌功能,可以儲存幾乎所有的操作記錄,並可以從中檢索出我們需要的資訊。 大部分Linux發行版預設的日誌守護程序為 syslog,位於 /etc/syslog 或 /etc/syslogd 或/etc/rsyslog.d,預設配置檔案

Linux系統日誌分析

目錄 常見的系統日誌 /var/log/messages    記錄核心訊息、各種服務的公共訊息 /var/log/dmesg   記錄系統啟動過程的各種訊息 /var/log/cron  記錄與cron計劃任務相關的資訊 /var/log/ma

Linux系統日誌

日誌系統日誌默認分類/var/log/messages 系統服務及日誌,包括服務的信息,報錯等等/var/log/secure 系統認證信息日誌/var/log/maillog 系統郵件服務信息/var/log/cron

linux 系統啟動過程分析

系統root 密碼丟失故障 linux啟動順序主板BIOS加電自檢 檢查硬件--> 讀取硬盤引導扇區(MBR)--> 啟動引導程序(grub)--> 選擇系統--> 加載系統內核(kernel shell)--> 啟動系統讀取相應的默認設置(環境變量,運行級別)--

rsync通過服務同步,Linux系統日誌,screen工具

日誌 哪些 存在 ins ssa 博客 後臺 etc 數據 筆記內容:l 10.32/10.33 rsync通過服務同步l 10.34 linux系統日誌l 10.35 screen工具筆記日期:2017.9.3 10.32/10.33 rsync通過服務同步rsync還可

Linux系統日誌級別

sys war 日誌級別 文本 打印 個數 優先級 deb 緩沖 /proc/sys/kernel/printk文件定義了4個數字, 查看日誌級別:cat /proc/sys/kernel/printk4 4 1 7①控制臺日誌級別:優先級高於該值的消息將被打印至控制臺。②

10.32/10.33 rsync通過服務同步 10.34 linux系統日誌 10.35 screen工具

rec var cti 服務 error ota director com directory [root@lizhipenglinux01 ~]# mkdir /tmp/rsync[root@lizhipenglinux01 ~]# chmod 777 /tmp

八周三次課(1月31日) 10.32/10.33 rsync通過服務同步 10.34 linux系統日誌 10.35 screen工具

腳本 提示 重定向 解鎖 esc 官方 單用戶 情況 packages 八周三次課(1月31日)10.32 rsync通過服務同步10.33 rsync通過服務同步10.34 linux系統日誌10.35 screen工具==========================

10.32/10.33 rsync通過服務同步 10.34 linux系統日誌 10.35 scre

process ext sync 配置文件 ces tle cal com type 八周三次課10.32/10.33 rsync通過服務同步10.34 linux系統日誌10.35 screen工具10.32/10.33 rsync通過服務同步編輯: rsync.conf

rsync通過服務同步/Linux系統日誌/screen工具

進程 incr allow 失敗 置配 配件 ins 二進制文件 auto rsync通過服務同步 這種方式可以理解為在遠程主機上建立一個rsync的服務器,在服務器上配置好rsync的各種應用,然後將本機作為rsync的一個客戶端連接的rsync服務器。下面就介紹一下如何

八周三課 rsync通過服務同步,linux系統日誌,screen工具

rsync 系統日誌 screen工具 rsync通過服務的方式同步通過服務的方式首先我們要開啟一個服務,它的架構是cs架構。客戶端和服務端。服務端開啟一個服務,rsync服務,並且要監聽一個端口,默認為873,並且這個端口是可以自定義的。開啟服務後,客戶端究竟可以通過873這個端口和服務端進行通

三十六、rsync通過服務同步、Linux系統日誌、screen工具

rsync通過服務同步 Linux系統日誌 screen工具 三十六、rsync通過服務同步、Linux系統日誌、screen工具一、rsync通過服務同步該方式可以理解為:在遠程主機上建立一個rsync的服務器,在服務器上配置好各種應用,然後本機將作為客戶端連接遠程的服務器。啟動服務前要先編輯配

36.rysnc通過服務同步、linux系統日誌、screen工具

rysnc通過服務同步 linux系統日誌 screen工具 一、rysnc通過服務同步rsync 通過服務的方式同步要編輯配置文件/etc/rsyncd.conf啟動服務rsync --daemon格式:rsync -av test1/ 192.168.127.133::module/dir/

linux 系統調用分析

linux內核 系統 eight study cal 課程 詳細 http api 本文為我學習孟寧老師的linux內核課程的總結,同時也作為課程學習的作業。 唐建,《Linux內核分析》MOOC課程http://mooc.study.163.com/course/USTC