當前位置: 妍妍網 > 碼農

Linux 日誌分析工具(logwatch)安裝及使用

2024-03-16碼農

點選上方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 unread1 [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"代表沒有檢視& 6Message 6:From [email protected] Fri Jun 7 11:57:35 2013 Return-Path: <[email protected]>X-Original-To: rootDelivered-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 2013Date Range Processed: allDetail Level of Output: 0Type of Output: unformattedLogfiles 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 times192.168.0.108: 8 times192.168.0.101: 6 times192.168.0.126: 4 times192.168.0.100: 3 times192.168.0.105: 3 times192.168.0.106: 2 times192.168.0.102: 1 time192.168.0.103: 1 timeSFTP 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.