UbuntuLinux使用logwatch分析系统日志教程与范例

本篇介绍如何在 Ubuntu Linux 中安装并使用 logwatch 分析工具,每日自动分析各种服务的日志,产生报表。

logwatch 是一个简单的日志分析工具,可以每天自动分析服务器上各种服务的日志,产生简单的报表,让管理者更容易掌握整个系统与各项服务的状态。

安装 logwatch

首先以 apt 安装 logwatch 套件:

# 安装 logwatch 套件
sudo apt install logwatch

安装好 logwatch 之后,要手动建立 logwatch 用的暂存目录:

# 建立 logwatch 用的暂存目录
sudo mkdir /var/cache/logwatch

设置 logwatch

logwatch 默认的设置文件位于 /usr/share/logwatch/default.conf/logwatch.conf,若要更改其中的设置,可以将设置文件复制到 /etc/logwatch/conf/logwatch.conf,再进行修改:

# 建立 logwatch 的设置文件
sudo cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/

以下是一些常见的设置。

输出管道

Output 参数是设置 logwatch 要如何输出报表,stdout 代表输出至程序的标准输出,可用手动在命令行执行的状况:

# 默认输出管道为 stdout
Output = stdout

若要让 logwatch 在系统上定期执行,可以将输出以 Email 的方式寄送至管理者的信箱:

# 默认输出管道为 Email
Output = mail

若采用 Email 输出的方式,还要另外设置信件的收件者与寄件者,收件者与寄件者可以是本机的帐号:

# 以本机帐号设置收件者与寄件者
MailTo = root
MailFrom = logwatch

收件者与寄件者也可以使用标准的 Email 位址来指定:

# 以 Email 设置收件者与寄件者
MailTo = adm@mydomain.com
MailFrom = logwatch@host1.mymachine.com

若需要将信件寄送至网络上的 Email 信箱,要先确认自己的系统可以用 sendmail 寄信,这样信才寄的出去。

若希望 logwatch 的报表直接保存至文件中,则可将 Output 设置为 file

# 默认输出管道为文件
Output = file

若输出至文件,要搭配 Filename 参数来设置输出的文件路径:

# 输出文件位置
Filename = /tmp/logwatch.txt

报表详细程度

Detail 参数可以设置 logwatch 报表的详细程度,可用的选项有 LowMedHigh

# 报表详细程度
Detail = Low

报表格式

Format 参数可以设置报表的格式,默认的格式为文字报表:

# 文字报表
Format = text

如果希望产生网页报表,可以将 Format 设置为 html

# 网页报表
Format = html

服务清单

Service 是用来设置 logwatch 要分析哪一些服务的日志,所有支持的服务名称可以从 /usr/share/logwatch/scripts/services 目录下的文件名称来查找。若要分析所有服务的日志,可将 Service 设置为 All

# 监看所有服务
Service = All

Service 设置为 All 的情况下,可以搭配额外的排除清单,将少数不重要的服务排除在外:

# 排除 eximstats 服务(搭配 Service = All)
Service = "-eximstats"

如果只要分析几个特定服务的日志,也可以直接指定需要的服务:

# 仅分析 PAM_pwdb 与 PAM 服务日志
Service = "pam_pwdb"
Service = "pam"

日志区间

Range 可设置分析日志的时间区间,默认为前一天:

# 分析前一天的日志
Range = yesterday

Range 亦可调整为当天(Today)或所有时间(All)。

测试执行

设置好 logwatch 之后,可以直接执行 logwatch 指令,测试设置是否有问题:

# 测试执行 logwatch
sudo logwatch --detail Low --range today

正常的 logwatch 输出内容会类似这样:

 ################### Logwatch 7.5.2 (07/22/19) ####################
        Processing Initiated: Sat May 14 19:46:37 2022
        Date Range Processed: today
                              ( 2022-May-14 )
                              Period is day.
        Detail Level of Output: 0
        Type of Output/Format: stdout / text
        Logfiles for Host: imgqc
 ##################################################################

 --------------------- dpkg status changes Begin ------------------------

 Installed:
    comerr-dev:amd64 2.1-1.45.5-2ubuntu1
    krb5-multidev:amd64 1.17-6ubuntu4.1
    libczmq-dev:amd64 4.2.0-2
    libczmq4:amd64 4.2.0-2
    libgssrpc4:amd64 1.17-6ubuntu4.1
    libkadm5clnt-mit11:amd64 1.17-6ubuntu4.1
    libkadm5srv-mit11:amd64 1.17-6ubuntu4.1
    logwatch:all 7.5.2-1ubuntu1.3

 ---------------------- dpkg status changes End -------------------------


 --------------------- fail2ban-messages Begin ------------------------


 Banned services with Fail2Ban:                             Bans:Unbans
    sshd:                                                   [432:434]

 ---------------------- fail2ban-messages End -------------------------


 --------------------- pam_unix Begin ------------------------

 sshd:
    Authentication Failures:
       root (61.177.173.36): 117 Time(s)
       root (61.177.173.47): 99 Time(s)
       root (137.184.184.40): 69 Time(s)
       unknown (43.155.76.211): 1 Time(s)
       unknown (43.159.59.125): 1 Time(s)
       www-data (123.138.161.200): 1 Time(s)
       www-data (190.216.236.62): 1 Time(s)
    Invalid Users:
       Unknown Account: 757 Time(s)

 su:
    Sessions Opened:
       ubuntu -> root: 5 Time(s)
       root -> nobody: 3 Time(s)

 sudo:
    Sessions Opened:
       ubuntu -> root: 14 Time(s)


 ---------------------- pam_unix End -------------------------


 --------------------- Connections (secure-log) Begin ------------------------


 **Unmatched Entries**
    su: (to root) ubuntu on pts/0: 2 Time(s)
    su: (to root) ubuntu on pts/1: 2 Time(s)
    su: (to root) ubuntu on pts/2: 1 Time(s)
    systemd-logind: Existing logind session ID 60 used by new audit session, ignoring.: 1 Time(s)

 ---------------------- Connections (secure-log) End -------------------------


 --------------------- SSHD Begin ------------------------


 Network Read Write Errors: 4

 Negotiation failed:
    no matching key exchange method found: 250 Times

 Failed logins from:
    2.237.58.14 (2-237-58-14.ip237.fastwebnet.it): 4 Times
    8.212.176.175: 2 Times
    13.79.122.130: 10 Times
    219.117.228.47 (219.117.228.47.static.zoot.jp): 2 Times
    221.196.108.122 (www122.asd.tj.cn): 1 Time

 Illegal users from:
    2.237.58.14 (2-237-58-14.ip237.fastwebnet.it): 8 Times
    8.212.176.175: 6 Times
    221.133.1.50 (mail.bachvietdt.com.vn): 3 Times
    221.196.108.122 (www122.asd.tj.cn): 8 Times

 Users logging in through sshd:
    ubuntu:
       42.74.241.160 (42-74-241-160.emome-ip.hinet.net): 9 Times

 Received disconnect:
     [preauth] : 227 Times
    Bye Bye [preauth] : 1095 Times
    Normal Shutdown, Thank you for playing [preauth] : 97 Times

 **Unmatched Entries**
 error: kex_exchange_identification: Connection closed by remote host : 97 Times
 error: kex_exchange_identification: client sent invalid protocol identifier "MGLNDD_103.124.73.182_22" : 1 Time
 error: kex_exchange_identification: read: Connection reset by peer : 1 Time
 message repeated 2 times: [ Failed password for root from 218.92.0.221 port 11137 ssh2] : 1 Time
 message repeated 2 times: [ Failed password for root from 61.177.173.53 port 58952 ssh2] : 1 Time

 ---------------------- SSHD End -------------------------


 --------------------- Sudo (secure-log) Begin ------------------------


 root => root
 ------------
 /usr/bin/apt                   -   1 Time(s).
 /usr/bin/cp                    -   1 Time(s).
 /usr/bin/mkdir                 -   1 Time(s).
 /usr/sbin/logwatch             -   4 Time(s).

 ubuntu => root
 --------------
 /usr/bin/apt-get               -   2 Time(s).
 /usr/bin/su                    -   5 Time(s).

 ---------------------- Sudo (secure-log) End -------------------------


 --------------------- Disk Space Begin ------------------------

 Filesystem      Size  Used Avail Use% Mounted on
 /dev/vda1        94G   73G   17G  82% /
 /dev/loop0      111M  111M     0 100% /snap/core/12834
 /dev/loop3       44M   44M     0 100% /snap/certbot/1952
 /dev/loop2      112M  112M     0 100% /snap/core/12941
 /dev/loop1       44M   44M     0 100% /snap/certbot/2035
 /dev/loop5       56M   56M     0 100% /snap/core18/2344
 /dev/loop4       56M   56M     0 100% /snap/core18/2409
 /dev/loop7       62M   62M     0 100% /snap/core20/1405
 /dev/loop6       62M   62M     0 100% /snap/core20/1434
 /dev/loop8       68M   68M     0 100% /snap/lxd/22526
 /dev/loop11      45M   45M     0 100% /snap/snapd/15534
 /dev/loop10      44M   44M     0 100% /snap/snapd/15177
 /dev/loop9       68M   68M     0 100% /snap/lxd/22753
 /dev/vdb        295G   65M  280G   1% /mnt/test


 ---------------------- Disk Space End -------------------------


 ###################### Logwatch End #########################

每日自动执行 logwatch

在 Ubuntu Linux 安装 logwatch 套件时,会自动建立一个 /etc/cron.daily/00logwatch 设置文件,所以只要将 logwatch 设置文件写好,logwatch 每天就会自动执行。

技术教程

Python使用pytube自动下载YouTube影片教程与范例

2022-6-12 19:24:37

技术教程

Linux使用rsync进行增量备份、建立文件快照教程与范例

2022-6-12 21:24:49



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yp10086@vip.qq.com 举报,一经查实,本站将立刻删除。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索