黑馬韓前成linux從入門到精通之剖析日誌系統

來源:互聯網
上載者:User

議程
理解syslog系統
熟悉syslogd的設定檔及其文法
學會查看系統日誌
理解日誌滾動的必要性及實現方法
  syslog
什麼是syslog
.日誌的主要用途是系統審計、檢測追蹤和分析統計。
.為了保證linux系統正常運行、準確解決遇到的各種各樣的系統問題,認真地讀取記錄檔是管理員的一項非常重要的任務。
.linux核心由很多子系統組成,包括網路、檔案訪問、記憶體管理等。子系統需要給使用者傳送一些訊息,這些訊息包括訊息的來源及其重要性等。所有的子系統都要把訊息送到一個可以維護的公用訊息區,於是,就有了syslog。
.syslog是一個綜合的日誌記錄系統。它的主要功能是:方便日誌管理和分類存放日誌。syslog使程式設計者從繁重的、機械的編寫記錄檔代碼的工作中解脫出來,每個程式都有自己的日誌記錄策略。管理員對儲存什麼資訊或是資訊存放在哪裡沒有控制權。

 syslogd的設定檔
.syslogd的設定檔在/etc/syslog.conf規定了系統中要監視的事件和相應的日誌的儲存位置。
.cat /etc/syslog.cong

  syslogd層級欄位
.層級欄位用於指明與每一種功能相關的層級和優先順序:
alert----需要立即引起注意的情況。
crit----危險情況的報告。
err----除了emerg、alert、crit的其他錯誤。
warning----警告資訊。
notice----需要引起注意的情況。
info----值得報告的資訊。
debug------由運行於debug模式的程式所引起的訊息。
none-----用于禁止任何訊息。
*------所有層級。除了none。
emerg----出現緊急情況使得該系統不可用。
 syslogd動作欄位
.動作欄位用於描述對應功能的動作。
file-----指定一個絕對路徑的記錄檔記錄日誌資訊。
username-----發送訊息到指定使用者,*代表所有使用者。
device---將訊息發送到指定的裝置中,如/dev/consols。
@hostname將訊息發送到可解析的遠程主機hostname,且該主機必須正在運行syslogd並可以識別syslog的設定檔。
  查看記錄檔
.常見的記錄檔。
.記錄檔通常存放在/var/log目錄下。在該目錄下除了包括syslogd記錄的日誌之外,同時還包含所用應用程式的日誌。
.為了查看記錄檔的內容必須要有root許可權。記錄檔中的資訊很重要,只能讓超級使用者訪問這次檔案的許可權。
   log
cups/------儲存cups列印系統的日誌記錄。
httpd/---記錄apache的訪問日誌和錯誤記錄檔目錄。
mail/----儲存mail日誌的目錄。
news/----儲存INN新聞系統的日誌目錄。
boot.log----記錄系統開機記錄。
dmesg-----記錄系統啟動時的訊息日誌。
maillog---記錄郵件系統的日誌。
messages----由syslogd記錄的info或更進階別的訊息日誌。
secure-------由syslogd記錄的認證日誌。
WTMP----一個使用者每次登陸進入和退出時間的永久記錄。

  查看文本記錄檔
.絕大多數記錄檔都是純文字檔案,每一行就是一個訊息。只要是在linux下能夠處理純文字的工具都能用來查看記錄檔。可以使用cat、tac、more、less、tail和grep進行查看。
  .檔案中每一行表示一個訊息,而且都是由四個域的固定格式組成。

.時間標籤(timestamp):表示訊息發出的日期和時間。
.主機名稱(hostname):表示產生訊息的電腦的名字。
.產生訊息的子系統的名字。可以是"kernel",表示訊息來自核心或者是進程的名字,表示發出訊息的程式的名字。
.在方括弧裡的是進程的PID。
.訊息(message):即訊息的內容。

#strings wtmp
#ls
#strings btmp
 查看非文本記錄檔
.也有一些記錄檔是二進位檔案,需要使用相應的命令

去讀取#lastlog |more
.使用lastlog命令來檢查某特定使用者上次登入的時間,並

格式化輸出上次登入日誌/var/log/lastlog的內容。
.last
.last命令往回搜尋/var/log/wtmp 來顯示自從檔案第一

次建立以來登入過的使用者。
.lastb
.lastb命令搜尋/var/log/btmp 來顯示登入未成功的資訊


.#last -f btmp
.who
.who命令查詢wtmp檔案並報告當前登入的每個使用者。who

命令的預設輸出包括使用者名稱、終端類型、登入日期及遠程

主機。
.w
.w顯示的資訊更為詳細。
  日誌滾動
.為什麼使用日誌滾動
.所有的記錄檔都會隨著時間的推移和訪問次數的增加

而迅速增長,因此必須對記錄檔進行定期清理以免造成

磁碟空間的不必要的浪費。同時也加快了系統管理員查看

日誌所用的時間,因為開啟小檔案的速度遠比開啟大檔案

的速度要快的多。
.logrotate
命令格式為:logrorate [選項]<configfile>
-d:詳細顯示指令執行過程,便於排錯或瞭解程式執行的

情況。
-f:強行開機記錄檔案維護操作,即使logrotate指令認

為無需要亦然。
-m command:指定發送郵件的程式,預設

為/usr/bin/mail。
-v:在執行日誌滾動時,顯示詳細資料。
.logratate預設的主設定檔是/etc/logratate.conf
./etc/logratate.d的目錄下的檔案,這些檔案被include

到主設定檔/etc/logratate.conf中。
 .每個檔案的基本格式均為相同
 .#cat /etc/logratate.d/syslog

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.