Logwatchを使ってサーバのログを一括確認しよう!
ここでは、Logwatchのインストール手順を掲載しています。
[広告]
Logwatchとは…
サーバを構築すると、日々色々なログが溜まっていきます。Logwatchはそのログを一括で収集し、メールにまとめて配信してくれます。
Logwatchのインストール
Proxmox 8が毎日どのような動作をしていたかはログファイルに記録されますが、それをいちいちサーバ上で読むのは大変です。
そこで、毎日ログを集計し、報告してくれるLogwatchをインストールします。
[root@pve8 ~]# apt update && apt -y install logwatch
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libdate-manip-perl libsys-cpu-perl libsys-meminfo-perl The following NEW packages will be installed: libdate-manip-perl libsys-cpu-perl libsys-meminfo-perl logwatch 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 1,310 kB of archives. ・・・ Unpacking logwatch (7.7-1) ... Setting up libsys-cpu-perl (0.61-3+b1) ... Setting up libsys-meminfo-perl:amd64 (0.99-2+b1) ... Setting up libdate-manip-perl (6.91-1) ... Setting up logwatch (7.7-1) ... Processing triggers for man-db (2.11.2-2) ...
rsyslogdのインストール
Proxmox 8の基となっているDebian 12では、「Journald」というサービスでログを管理していますが、このままではLogwatchでログの出力ができません。
当然、Proxmox 8でも同様です。
様々な方があの手この手でアプローチしていますが、ここでは一番単純な「rsyslogd」を使用する形で解決したいと思います。rsyslogdは、ログをテキスト化してくれるサービスです。
[root@pve8 ~]# apt -y install rsyslog
Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libestr0 libfastjson4 liblognorm5 Suggested packages: rsyslog-mysql | rsyslog-pgsql rsyslog-mongodb rsyslog-doc rsyslog-openssl | rsyslog-gnutls rsyslog-gssapi rsyslog-relp The following NEW packages will be installed: libestr0 libfastjson4 liblognorm5 rsyslog 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. ・・・ Unpacking rsyslog (8.2302.0-1) ... Setting up libestr0:amd64 (0.1.11-1) ... Setting up libfastjson4:amd64 (1.2304.0-1) ... Setting up liblognorm5:amd64 (2.0.6-4) ... Setting up rsyslog (8.2302.0-1) ... Created symlink /etc/systemd/system/syslog.service → /lib/systemd/system/rsyslog.service. Created symlink /etc/systemd/system/multi-user.target.wants/rsyslog.service → /lib/systemd/system/rsyslog.service. Processing triggers for libc-bin (2.36-9+deb12u7) ... Processing triggers for man-db (2.11.2-2) ...
集計結果は、毎日root宛にメールで届きます。配信先を変更する場合は以下を変更します。
[root@pve8 ~]# vi /usr/share/logwatch/default.conf/logwatch.conf
MailTo = root
↓
MailTo = 配信先アカウントやメールアドレス
メールを外部へ送信する場合
Proxmox 8 にはPostfixが標準でインストールされているので、外部へメールの転送が可能です。
Logwatch以外のroot宛メールも外部に転送したい場合は、エイリアスの設定をすると便利です。
[root@pve8 ~]# cp -p /etc/aliases /etc/aliases.old
[root@pve8 ~]# echo "root: 転送先メールアドレス" >> /etc/aliases
設定を反映させ、正しく設定できているかを確認しましょう。
[root@pve8 ~]# postalias /etc/aliases
[root@pve8 ~]# grep ^root /etc/aliases
root: 転送先メールアドレス
設定した転送先メールアドレスが表示されればOKです。
最後にPostfixを起動しておきます。
[root@pve8 ~]# systemctl enable --now postfix
Synchronizing state of postfix.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable postfix
[root@pve8 ~]# systemctl status postfix
● postfix.service - Postfix Mail Transport Agent Loaded: loaded (/lib/systemd/system/postfix.service; enabled; preset: enabled) Active: active (exited) since Sat 2024-06-29 22:16:13 JST; 42min ago Docs: man:postfix(1) Main PID: 788 (code=exited, status=0/SUCCESS) CPU: 1ms
参考にしたサイト様
今回新しく登場したコマンド
- postalias
- grep
[広告]
トップページ
Proxmox 8
◎仮想マシン(VM)の管理
◎コンテナ(CT)の管理
○インストール準備
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○クラスタ/Ceph
○その他