Linux 日志分析工具(logwatch)安裝及使用
日志是非常重要的系統文件,管理員每天的重要工作就是分析和查看服務器的日志,判斷服務器的健康狀態。但是日志管理又是一項非??菰锏墓ぷ?,如果需要管理員手工查看服務器上所有的日志,那實在是一項非常痛苦的工作。有些管理員就會偷懶,省略日志的檢測工作,但是這樣做非常容易導致服務器出現問題。
那么我們有取代的方案嗎?有,那就是日志分析工具。這些日志分析工具會詳細地查看日志,同時分析這些日志,并且把分析的結果通過郵件的方式發送給 root 用戶。這樣,我們每天只要查看日志分析工具的郵件,就可以知道服務器的基本情況,而不用挨個檢查日志了。這樣系統管理員就可以從繁重的日常工作中解脫出來,去處理更加重要的工作。
在 CentOS 中自帶了一個日志分析工具,就是 logwatch。不過這個工具默認沒有安裝(因為我們選擇的是“Basic Server”),所以需要手工安裝。安裝命令如下:
?
[root@localhost Packages]# yum -y install logwatch
?
安裝完成之后,需要手工生成 logwatch 的配置文件。默認配置文件是 /etc/logwatch/conf/logwatch.conf,不過這個配置文件是空的,需要把模板配置文件復制過來。命令如下:
?
[root@localhost ~]# cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/logwatch.conf #復制配置文件
?
這個配置文件的內容中絕大多數是注釋,我們把注釋去掉,那么這個配置文件的內容如下所示:
?
[root@localhost ~]# vi /etc/logwatch/conf/logwatch.conf #查看配置文件 LogDir = /var/log #logwatch會分析和統計/var/log/中的日志 TmpDir = /var/cache/logwatch #指定logwatch的臨時目錄 MailTo = root #日志的分析結果,給root用戶發送郵件 MailFrom = Logwatch #郵件的發送者是Logwatch,在接收郵件時顯示 Print = #是否打印。如果選擇“yes”,那么日志分析會被打印到標準輸出,而且不會發送郵件。我們在這里不打印,#而是給root用戶發送郵件 #Save = /tmp/logwatch #如果開啟這一項,日志分析就不會發送郵件,而是保存在/tmp/logwatch文件中 #如果開啟這一項,日志分析就不會發送郵件,而是保存在/tmp/logwatch文件中 Range = yesterday #分析哪天的日志??梢宰R別“All”“Today”“Yesterday”,用來分析“所有日志”“今天日志”“昨天日志” Detail = Low #日志的詳細程度。可以識別“Low”“Med”“High”。也可以用數字表示,范圍為0~10,“0”代表最不詳細,“10”代表最詳細 Service = All #分析和監控所有日志 Service = "-zz-network" #但是不監控“-zz-network”服務的日志?!?服務名”表示不分析和監控此服務的日志 Service = "-zz-sys" Service = "-eximstats"
?
這個配置文件基本不需要修改(我在實驗時把 Range 項改為了 All,否則一會兒的實驗可以分析的日志過少),它就會默認每天執行。它為什么會每天執行呢?聰明的讀者已經想到了,一定是 crond 服務的作用。沒錯,logwatch 一旦安裝,就會在 /etc/cron.daily/ 目錄中建立“0logwatch”文件,用于在每天定時執行 logwatch 命令,分析和監控相關日志。
如果想要讓這個日志分析馬上執行,則只需執行 logrotate 命令即可。命令如下:
?
[root@localhost ~]# logwatch #馬上執行logwatch日志分析工具 [root01ocalhost ~]# mail #查看郵件 Heirloom Mail version 12.4 7/29/08. Type ? for help, "/var/spool/mail/root": 5 messages 1 new 2 unread 1 logwatch@localhost.1 Fri Jun 7 11:17 42/1482 "Logwatch for localhost.localdomain (Linux)" U 2 logwatch@localhost.1 Fri Jun 7 11:19 42/1481 "Logwatch for localhost.localdomain (Linux)" 3 logwatch@localhost.1 Fri Jun 7 11:23 1234/70928 "Logwatch for localhost.localdomain (Linux)" 4 logwatch@localhost.1 Fri Jun 7 11:24 190/5070 "Logwatch for localhost.localdomain (Linux)" 5 logwatch@localhost.1 Fri Jun 7 11:55 41/1471 "Logwatch for localhost.localdomain (Linux)" >N 6 logwatch@localhost.1 Fri Jun 7 11:57 189/5059 "Logwatch for localhost.localdomain (Linux)" #第6封郵件就是剛剛生成的曰志分析郵件,"N"代表沒有查看 & 6 Message 6: From root@localhost.localdomain Fri Jun 7 1135 2013 Return-Path:X-Original-To: root Delivered-To: root@localhost.localdomain To: root@localhost.localdomain From: logwatch@localhost.localdomain Subject: Logwatch for localhost.localdomain (Linux) Content-Type: text/plain; charset="iso-8859-1" Date: Fri, 7 Jun 2013 1133 +0800 (CST) Status: R ######## Logwatch 7.3.6 (05/19/07) ################ Processing Initiated: Fri Jun 7 1133 2013 Date Range Processed: all Detail Level of Output: 0 Type of Output: unformatted Logfiles for Host: localhost.localdomain ################################################### #上面是曰志分析的時間和日期 ...省略部分輸出... --------- Connections (secure-log) Begin----------- #分析secure.log日志的內容。統計新建立了哪些用戶和組,以及錯誤登錄信息 New Users: bb (501) def (503) hjk (504) zhangsan (505) dovecot (97) dovenull (498) aa (500) New Groups: bb (501) def (503) hjk (504) zhangsan (505) dovecot (97) dovenull (498) aa (500) Failed logins: User root: (null): 3 Time(s) Root logins on tty's: 7 Time(s). **Unmatched Entries** groupadd: group added to /etc/group: name=dovecot, GID=97: 1 Time(s) groupadd: group added to /etc/group: name=dovenul1, GID=498: 1 Time(s) groupadd: group added to /etc/gshadow: name=dovecot: 1 Time(s)groupadd: group added to /etc/gshadow: name=dovenull: 1 Time(s) --------Connections (secure-log)End------- -------------SSHD Begin------------------- #分析SSHD的日志??梢灾滥男㊣P地址連接過服務器 SSHD Killed: 7 Time(s) SSHD Started: 24 Time(s) Users logging in through sshd: 192.168.0.104: 10 times 192.168.0.108: 8 times 192.168.0.101: 6 times 192.168.0.126: 4 times 192.168.0.100: 3 times 192.168.0.105: 3 times 192.168.0.106: 2 times 192.168.0.102: 1 time 192.168.0.103: 1 time SFTP subsystem requests: 3. Time(s) **Unmatched Entries** Exiting on signal 15 : 6 time(s) ----------------SSHD End----------- --------------- yum Begin --------- #統計yum安裝的軟件。可以知道我們安裝了哪些軟件 Packages Installed: perl-YAML-Syck-1.07-4.el6.i686 perl-Date-Manip-6.24-1.el6.noarch logwatch-7.3.6-49.el6.noarch -----------yum End------------- --------Disk Space Begin------- #統計磁盤空間情況 Filesystem Size Used Avail Use% Mounted on /dev/sda3 20G 1.9G 17G 11% / /dev/sda1 194M 26M 158M 15% /boot /dev/sr0 3.5G 3.5G 0 100% /mnt/cdrom ---------Disk Space End----------------- #########Logwatch End ##################
?
有了這個日志分析工具,日志管理工作就會輕松很多。當然,在 Linux 中可以支持很多日志分析工具,我們在這里只介紹了 CentOS 自帶的 logwatch,大家可以根據自己的習慣選擇相應的日志分析工具。
評論
查看更多