一,介紹:

如果要想迅速的得到 Linux 環(huán)境中的日志報告信息, Logwatch 是一個很好的工具。一般的 Linux 系統(tǒng)中可能都默認安裝了這個工具.幾乎不需要額外的配置就可以簡單的用起來。

# logwatch --print

這條命令將會把昨天的日志信息簡要的打印出來. 比如用戶登錄失敗信息、SSH 登錄信息、磁盤空間使用等。

單獨查看某個服務,比如 SSH 登錄信息:

# logwatch --service sshd --print

這條命令可以查看使用說明:

# logwatch --help

最新版本的 LogWatch 默認有 70 多種 Log 的配置信息. 如果要對自己的特殊 Log 做監(jiān)控, 定制也是比較容易的。簡單記錄一下:

基本的做法:

1) 創(chuàng)建一個日志文件組。指定自己的 Log 文件,可以是一個,可以是多個;

2) 創(chuàng)建一個新的服務。指明這個服務的名字, 指明 Log 文件來源(來自上一步的定義);

3) 創(chuàng)建一個過濾腳本。

整個原理就是,LogWatch 首先要知道針對哪一個服務, 從這個服務中得到需要處理的 Log 文件信息, 然后這個文件送給過濾腳本處理, 之后把處理后格式化的信息展現出來。出于時間關系,例子就不給了。

但是每天ssh到服務器上使用太不方便,還好logwatch提供了mail功能:

#nano /etc/logwatch/conf/logwatch.conf

修改下面的root為你自己的郵件地址:

MailTo = root(其實可以加自己的郵箱,中間逗號隔開)

同時,因為我們需要了解服務器的詳細信息,所以,修改下面的:

Detail = 是細節(jié)度,推薦 10 ,即最高

安全:

LogWatch 舊版本 2.11 有個著名的漏洞:臨時目錄建立處理中存在競爭條件漏洞。這里有溢出代碼:Root Compromise through LogWatch

其他: LogWatch 報告的是 Log 信息的歷史數據,如果要實時監(jiān)控 Log,可以考慮用 Swatch。

二,安裝配置

Logwatch能夠對Linux 環(huán)境系統(tǒng)Log報告進行分析,自動發(fā)送電子郵件給系統(tǒng)管理員,而且能夠根據用戶的需求進行定制。
1、下載最新版
Logwatch的官方網站地址:http://www.logwatch.org/
下載地址:wget ftp://ftp.kaybee.org/pub/redhat/RPMS/noarch/logwatch-6.0.2-2.noarch.rpm

2、查看是否安裝軟件包
# rpm -q logwatch
logwatch-4.3.1-2
# rpm -q perl
perl-5.8.0-88
3、設置
logwatch日志分析軟件需要借助系統(tǒng)自帶的MTA發(fā)郵件,所以系統(tǒng)需要安裝比如sendmail,postfix等郵件程序,只要安裝完sendmail,使用默認設置就可以發(fā)郵件了。
4、配置文件:
/etc/log.d/logwatch.conf
修改以下內容為這樣:
MailTo = root@a.com 管理員的郵箱地址
Detail = High 是細節(jié)度,推薦 10(或high) ,即日志詳細程度為高

5、重啟sendmail
# /etc/init.d/sendmail start

6、執(zhí)行l(wèi)ogwatch:
自動執(zhí)行:
logwatch默認為每天執(zhí)行一次(cron.daily)。
手動執(zhí)行:
# perl /usr/sbin/logwatch

#perl /etc/log.d/scripts/logwatch.pl

7、查看郵件日志
/var/log/mail/log