Ubuntu 20.04では、logwatchを使用すると簡単にサーバの監視を始めることができます。
記事の目次
logwatchをインストールする!
Ubuntu 20.04に、logwatchをインストールします。
$ sudo apt install logwatch
logwatchの動作確認を行う!
logwatchの動作確認を行います。
$ sudo logwatch --output stdout
Apache、Postfix、OpenSSH、Disk Space等の情報が表示されます。
logwatchの内容がメールで送信されるか確認する!
logwatchの内容がメールで送信されるか確認します。デフォルトでは、root宛に送信されます。
$ sudo logwatch --output mail
logwatchのデフォルト設定を確認する!
設定変更を行う前に、デフォルトの設定を確認しておきましょう。以下は、設定内容の抜粋です。
$ cat /usr/share/logwatch/default.conf/logwatch.conf LogDir = /var/log TmpDir = /var/cache/logwatch Output = stdout Format = text Encode = none MailTo = root MailFrom = Logwatch #Filename = /tmp/logwatch #Archives = No Range = yesterday Detail = Low Service = All Service = "-zz-network" Service = "-zz-sys" Service = "-eximstats" #Service = ftpd-messages # Processes ftpd messages in /var/log/messages #Service = ftpd-xferlog # Processes ftpd messages in /var/log/xferlog #Service = pam_pwdb # PAM_pwdb messages - usually quite a bit #Service = pam # General PAM messages... usually not many #LogFile = messages mailer = "/usr/sbin/sendmail -t" #HostLimit = myhost #AppendVarAdmToLogDirs = 1 #AppendVarLogToLogDirs = 1 #AppendCWDToLogDirs = 1 # vi: shiftwidth=3 tabstop=3 et
メール送信先を変更する場合は、以下の設定を変更します。
MailTo = root
logwatchの設定を変更する!
デフォルト設定をコピーして設定変更してみましょう。本来は、「/etc/logwatch/conf/logwatch.conf」に設定ファイルを配置するのですが、なぜかエラーが発生するため、デフォルト設定を変更します。本サイトでは、「MailTo」はGmailの宛先に、「Detail」の値を「High」に変更して運用しています。
$ sudo cp -p /usr/share/logwatch/default.conf/logwatch.conf /usr/share/logwatch/default.conf/logwatch.conf.bak $ sudo vi /usr/share/logwatch/default.conf/logwatch.conf ...
logwatchを実行しても何も表示されない!
サーバを構築してすぐの場合は、logwatchを実行しても何も表示されないことがあります。何も出力されない場合は、「Detail」の値を「High」に変更して実行してみましょう。ログがなくても出力される項目も出力対象になるので、動作確認を行うことができます。
logwatchを定期実行する!
サーバの監視は、定期的に行うことが大切です。デフォルトで、以下に自動実行されるように設定されています。
$ cat /etc/cron.daily/00logwatch #!/bin/bash #Check if removed-but-not-purged test -x /usr/share/logwatch/scripts/logwatch.pl || exit 0 #execute /usr/sbin/logwatch --output mail #Note: It's possible to force the recipient in above command #Just pass --mailto address@a.com instead of --output mail
スケジュールは、/etc/crontabを確認します。
$ cat /etc/crontab ... 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) ...
おわりに
logwatchをインストールすれば、簡単にサーバの状態監視を始めることができます。