點選上方「Linux開源社群」,選擇「設為星標」
優質文章,及時送達
連結:http://c.biancheng.net/view/1108.html
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
#分析哪天的日誌。可以辨識「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 [email protected] Fri Jun 7 11:17 42/1482 "Logwatch for localhost.localdomain (Linux)"
U 2 [email protected] Fri Jun 7 11:19 42/1481 "Logwatch for localhost.localdomain (Linux)"
3 [email protected] Fri Jun 7 11:23 1234/70928 "Logwatch for localhost.localdomain (Linux)"
4 [email protected] Fri Jun 7 11:24 190/5070 "Logwatch for localhost.localdomain (Linux)"
5 [email protected] Fri Jun 7 11:55 41/1471 "Logwatch for localhost.localdomain (Linux)"
>N 6 [email protected] Fri Jun 7 11:57 189/5059 "Logwatch for localhost.localdomain (Linux)"
#第6封信件就是剛剛生成的曰誌分析信件,"N"代表沒有檢視
& 6
Message 6:
From [email protected] Fri Jun 7 11:57:35 2013 Return-Path: <[email protected]>
X-Original-To: root
Delivered-To: [email protected]
To: [email protected]
From: [email protected]
Subject: Logwatch for localhost.localdomain (Linux)
Content-Type: text/plain; charset="iso-8859-1"
Date: Fri, 7 Jun 2013 11:57:33 +0800 (CST)
Status: R
######## Logwatch 7.3.6 (05/19/07) ################
Processing Initiated: Fri Jun 7 11:57:33 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的日誌。可以知道哪些IP地址連線過伺服器
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,大家可以根據自己的習慣選擇相應的日誌分析工具。微信搜尋公眾號:架構師指南,回復:架構師 領取資料 。
-End-
讀到這裏說明你喜歡本公眾號的文章,歡迎 置頂(標星)本公眾號 Linux技術迷,這樣就可以第一時間獲取推播了~
在本公眾號,後台回復:Linux,領取2T學習資料 !
推薦閱讀
1.
2.
3.
4.