首頁 > linux教程 > Linux系統日志管理 閱讀:0更新時間:2020-03-28 01:03:56

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
#日志的詳細程度??梢宰R別“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 11:57:35 2013 Return-Path: <root@localhost.localdomain>
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 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的日志??梢灾滥男㊣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安裝的軟件??梢灾牢覀儼惭b了哪些軟件

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,大家可以根據自己的習慣選擇相應的日志分析工具。

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

相關文章

優秀教程

国产亚洲欧美日韩