在Linux系統操作中,logwatch能夠對系統log報告進行分析,用於Linux日誌的處理,下面小編就詳細介紹下Linux安裝使用logwatch的方法,感興趣的朋友不妨來了解下。
logwatch 的主要目的是生成更易於使用的日誌摘要,並不是用來對日誌進行實時的處理和監控的。正因為如此,logwatch 通常被設定好時間和頻率的自動定時任務來排程執行或者是有需要日誌處理的時候從命令列裡手動執行。一旦日誌報告生成,logwatch 可以通過電子郵件把這報告發送給您,您可以把它儲存成檔案或者直接顯示在螢幕上。
Logwatch 報告的詳細程度和報告覆蓋範圍是完全可定製化的。Logwatch 的日誌處理引擎也是可擴充套件的,從某種意義上來說,如果您想在一個新的應用程式中使用 logwatch 功能的話,只需要為這個應用程式的日誌檔案編寫一個日誌處理指令碼(使用 Perl 語言),然後掛接到 logwatch 上就行。
logwatch 有一點不好的就是,在它生成的報告中沒有詳細的時間戳資訊,而原來的日誌檔案中是存在的。您只能知道被記錄下來的一段時間之內的特定事件,如果想要知道精確的時間點的資訊,就不得不去檢視原日誌檔案了。
安裝 Logwatch
在 Debian 系統或其派生的系統上:
# aptitude install logwatch
在基於 Red Hat 的釋出系統上:
# yum install logwatch
配置 Logwatch
安裝時,主要的配置檔案()被放到 /etc/logwatch/conf 目錄中。此檔案(預設是空的)定義的設定選項會覆蓋掉定義在 /usr/share/logwatch/ 檔案中的系統級設定。
在命令列中,啟動 logwatch, 如果不帶引數的話,將會使用 /etc/logwatch/conf/ 檔案中定義的選項。但,只要一指定引數,它們就會覆蓋 /etc/logwatch/conf/ 檔案中的任意預設/自定義設定。
這篇文章裡,我們會編輯 /etc/logwatch/conf/ 檔案來對一些預設的設定項做些個性化設定。
Detail=《Low,Med,High,或數字》
“Detail” 配置指令控制著 logwatch 報告的詳細程度。它可以是個正整數,也可以是分別代表著10、5和0數字的 High、Med、Low 幾個選項。
MailTo=
如果您讓把一份 logwatch 的報告郵件給您,就要使用 “MailTo” 這個配置指令。要把一份報告發送給多個使用者,只需要把他們的郵件地址用空格格開,然後配置上去。但是,您需要在 logwatch 執行的伺服器上配置好本地郵件傳輸代理(MTA)如,sendmail、 Postfix 等,這個配置指令項才能起作用。
Range=《Yesterday|Today|All》
“Range” 配置指令定義了生成 logwatch 報告的時間段資訊。這個指令通常可選的值是 Yesterday、Today、All。當作用了“Rang = All”時,“Archive = yes” 這個指令項也必須配置上,那麼所有的已存檔的日誌檔案 (比如,/var/log/maillog、/var/log/maillog.X 或 /var/log/ 檔案)都會被處理到。
除了這些通用的 range 值,您也可以使用複雜點的選擇值,如下所示:
Range = “2 hours ago for that hour”
Range = “-5 days”
Range = “between -7 days and -3 days”
Range = “since September 15, 2014”
Range = “first Friday in October”
Range = “2014/10/15 12:50:15 for that second”
要使用上面例子中自由形式的 range,您需要從 CPAN(注:ComprehensivePerlArchiveNetwork) 上下載安裝 Perl 的 Date::Manip 模組。關於 CPAN 模組的安裝說明,請請參閱此文 。
Service=《service-name-1》
Service=《service-name-2》
。。。
“Service” 選項指定想要監控的一個或多個服務。在 /usr/share/logwatch/scripts/services 目錄下列出的服務都能被監控,它們已經涵蓋了重要的系統服務(例如:pam,secure,iptables,syslogd 等),也涵蓋了一些像 sudo、sshd、http、fail2ban、samba等主流的應用服務。如果您想新增新的`服務到列表中,得編寫一個相應的日誌處理 Perl 指令碼,並把它放在這個目錄中。
如果這個選項要用來選擇特定的服務話,您需要把 /usr/share/logwatch/ 檔案中的 “Service = All ” 這一行註釋掉。
Format=《text|html》
“Format” 配置指令定義了一份 logwatch 報告的格式(比如 text 或者 HTML)。
Output=《file|mail|stdout》
“Output” 配置指令定義生成的 logwatch 報告要傳送的目的地。它能被儲存成檔案(file),生成電子郵件(mail)或者是直接在螢幕上顯示(stdout)。
用 Logwatch 來分析日誌檔案
要弄明白怎麼使用 logwatch 來分析日誌檔案,可以參考下面的 檔案例子:
Detail=High
MailTo=
Range=Today
Service= http
Service= postfix
Service= zz-disk_space
Format= html
Output= mail
使用這些設定,logwatch 將會處理三個應用服務(http、postfix 和 zz-disk_space)當天產生的日誌,生成一份非常詳細的 HTML 格式報告,然後郵件給您。
如果您不想個性化 /etc/logwatch/conf/,您可以不修改此檔案讓其預設,然後在命令列裡執行如下所示的命令。也會得到同樣的輸出。
# logwatch --detail 10 --mailto --range today --service http --service postfix --service zz-disk_space --format html --output mail
電子郵件傳送的報告樣子如圖示:
這份電子郵件頭部包含指向導航到報告細節的連結,在每個選中的服務細節,也會有“返回頂部”的連結。
接收人很少的情況下您可能會使用電子郵件傳送報告這個選項。其它情況下,您可能會把讓其生成為 HTML 格式的報告,這樣每個想看這份報告的人都可以從網路共享裡看到。只需要把上面例子中的配置做些修改就可以實現:
Detail=High
Range=Today
Service= http
Service= postfix
Service= zz-disk_space
Format= html
Output= file
Filename=/var/www/html/logs/
同樣的,也可以在命令列中執行如下的命令。
# logwatch --detail 10 --range today --service http --service postfix --service zz-disk_space --format html --output file --filename /var/www/html/logs/
最後,讓我們使用 cron 來配置 logwatch 的定時執行任務。下面的例子中,將會在每個工作日的下午 12:15 分執行 logwatch 排程任務。
# crontab -e
1512**1,2,3,4,5/sbin/logwatch
上面就是Linux安裝使用logwatch的方法介紹了,本文還介紹了Linux運用logwatch檢視日誌的例項,已經logwatch的詳細配置,希望對你有所幫助。