議程
理解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...