Logwatch,顧名思義,是一款專門監測Linux log檔案(記錄檔)的軟體。安裝以後只要稍微配置一下,就能每天將主機的log分析檔案發送至指定的郵箱。為什麼要這麼做?因為這樣能節省一個個手動查看日誌的繁瑣,為管理員節省時間,節省精力。並且每天(甚至更頻繁)都能準確地接收到日誌。從而對伺服器的安全情況有所掌握。
以下安裝方法適用於所有RPM格式的Linux發行版(比如Redhat等)。
首先到Logwatch的官方網站尋找最新版的logwatch。
#wget ftp://ftp.kaybee.org/pub/redhat/RPMS/noarch/logwatch-7.3.6-1.noarch.rpm
檢查你的主機上是否已經存在Logwatch(Redhat預設已經安裝了Logwatch,不過版本比較舊):
#rpm -qa |grep logwatch
如果主機上沒有logwatch,則執行安裝:
#rpm -lvh logwatch-7.3.6-1.noarch.rpm
如果有老版本的logwatch,則執行:
#rpm -Uvh logwatch-7.3.6-1.noarch.rpm
安裝完畢後,開始配置:
#vi /etc/logwatch/conf/logwatch.conf
尋找
MailTo = 然後改為你的實際Email地址,比如 MailTo = a@163.com
Detail = 是細節度,推薦 10 ,即最高
在最後加入
Service = "-zz-network"
Service = "-zz-sys"
Service = "-eximstats"
(註:其實有不過在執行命令發郵件時收不到郵件)
配置執行個體:
# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)
#Example for logwatch configuration
LogDir = /var/log
TmpDir = /var/cache/logwatch
MailTo = a@163.com,a@yahoo.com.cn //多個郵箱用逗號隔開
MailFrom = Logwatch-test(192.168.2.110)
Print = No
Range = yesterday
Detail = Med
Service = All
Service = "-zz-network"
Service = "-zz-sys"
Service = "-eximstats"
mailer = "sendmail -t"
logwatch預設為每天執行一次(cron.daily)。手動執行logwatch的命令為:
#perl /usr/share/logwatch/scripts/logwatch.pl
命令使用:
#logwatch --print
這條命令將會把昨天的日誌資訊簡要的列印出來. 比如使用者登入失敗資訊、SSH 登入資訊、磁碟空間使用等.
單獨查看某個服務,比如 SSH 登入資訊:
# logwatch --service sshd --print這條命令可以查看使用說明:
# logwatch --help最新版本的 LogWatch 預設有 70 多種 Log 的配置資訊. 如果要對自己的特殊 Log 做監控, 定製也是比較容易的。簡單記錄一下:
讓系統定時給指定郵箱發送郵件:
# vi /usr/local/sbin/logwatch.sh
#!/usr/bin/perl
perl /usr/share/logwatch/scripts/logwatch.pl
#chmod u+x /usr/local/sbin/logwatch.sh
#crontab -e
加入:0 0 * * * /usr/local/sbin/logwatch.sh > /dev/null 2>&1
這樣系統每天的0點就會給指定郵箱系統發送系統日誌……