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

2021-06-14 08:55:46 字數 3459 閱讀 2282

議程

理解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許可權。日誌檔案中的資訊很重要,只能讓超級使用者訪問這次檔案的許可權。

logcups/------儲存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 [選項]

-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

Scrapy爬蟲從入門到例項精講(上)

最近幾天一直在學習scrapy這個框架,打算用幾篇文章來總結一下自己這段時間學習的知識。首先我們需要簡單介紹一下scrapy是個什麼東西。先來看一張圖,是從官網上弄下來的。scrapy是乙個框架,這個框架是用來爬取 資料的,並且該框架為我們提供了各種介面,包括爬蟲介面,管道介面,資料 儲存介面以及資...

C 面向服務WebService從入門到精通

一 c 遠端呼叫技術webservice修煉手冊 基礎篇 本次分享課您將學習到以下乾貨知識點 1 webservice技術呼叫原理圖。2 c webservice常用的幾種呼叫方式。3 c webservice除錯小技巧和開發必備工具分享。4 實戰演練之如何通過優雅的方式進行webservice呼叫...

Linux從入門到入土

在此開個專題,用來記錄一下在使用linux中常用的命令。持續更新 常見錯誤 dpkg i 檔名cmake dcmake install prefix usr include ar 解包 tar zxvf filename.tar 打包 tar czvf filename.tar dirname gz...