ログ管理のツール

の組み合わせでログの書き出し場所を定められる。また他の計算機へのログ転送も出来る。

下記はrockylinux9の/etc/rsyslog.confから一部分。

[root@rockylinux9~]# cat /etc/rsyslog.conf
 :
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
 :
authpriv.*                                              /var/log/secure
 :
cron.*                                                  /var/log/cron
 ;
local7.*                                                /var/log/boot.log
 :
[root@rockylinux9~]#

と「*.info」は全てのファシリティーでプライオリティ「info」なものは「/var/log/messages」へ
でも「mail.none;authpriv.none;cron.none」と「mail」「authpriv」「cron」に関連するものは除外って感じですね。

「authpriv.*」とauthpriv、認証に関係するものは全て「/var/log/secure」へ

cron関係は全て/var/log/cronへって感じです。

sshdのログを別にしたい

sshでログイン成功/失敗とかの記録は「/var/log/secure」に集まる。これを別のファイルに起きたいなら
まず器を用意します
「/etc/rsyslog.conf」を

*.info;mail.none;authpriv.none;cron.none                /var/log/messages
 ↓
*.info;mail.none;authpriv.none;cron.none;local0.none    /var/log/messages
 
local0.*                                                /var/log/ssh       <-- 新規追加

として「systemctl restart rsyslog」。これで local0 に集まるデータは「/var/log/ssh」に書かれます。
っでログの発生元で、書き出し先を変更させます。設定ファイル「/etc/ssh/sshd_config」を下記のように修正して「systemctl restart sshd」を実施

# Logging
#SyslogFacility AUTH
#LogLevel INFO
 ↓
SyslogFacility LOCAL0
LogLevel INFO

こうすればsshdに掛かる話は全て /var/log/ssh に集まる.

dnsmasqのログを

rsyslogに器を用意します
「/etc/rsyslog.conf」で

*.info;mail.none;authpriv.none;cron.none;local0.none;local1.none    /var/log/messages   <-- local1.noneを追加
 
local1.*                                                /var/log/dnsmasq.log            <-- 新規追加

として、「systemctl restart rsyslog」
次に「/etc/dnsmasq.conf」にて

log-facility=local1

を追記して「systemctl restart dnsmasq」
これで dnsmasq 関係は全て /var/log/dnsmasq.log に集まります

特定のメッセージを記録させない

使い方は要注意です。ログが残らないので。
例えば「podman」関係のメッセージをログがから除くには
「/etc/rsyslog.d/10-drop-podman.conf」

if $programname == 'podman' then stop

として保存して「systemctl restart rsyslog」を行うとプログラム podman のメッセージが残らなくなります。

加えて例えば文字列「libpod」を含む文字列も残さないとなれば
「/etc/rsyslog.d/10-drop-podman.conf」

if $programname == 'podman' then stop
if $msg contains 'libpod' then stop

として「systemctl restart rsyslog」すればメッセージには残りません

logrotate

上記の「/var/log/ssh」や「/var/log/dnsmasq.log」は時間経過とともに肥大します.
それをそのログファイルのサイズや、一定時間の経過で別名のバックアップを取って圧縮して、さらに0からログ開始を行うのがこの logrotate 。
今回の「/var/log/ssh」や「/var/log/dnsmasq.log」はrsyslog経由からのログで、
すでにlogrotateにはrsyslogが対象となっております。

[root@rockylinux9 ~]# ls -l  /etc/logrotate.d/
total 52
-rw-r--r--. 1 root root  91 Apr  1  2021 bootlog
-rw-r--r--. 1 root root 130 Oct 14  2019 btmp
-rw-r--r--. 1 root root 160 Oct  8  2024 chrony
-rw-r--r--. 1 root root  88 Sep  9  2022 dnf
-rw-r--r--. 1 root root  93 Feb  4  2025 firewalld
-rw-r--r--. 1 root root 172 Oct 26  2023 iscsiuiolog
-rw-r--r--. 1 root root 162 Jul 31 01:29 kvm_stat
-rw-r--r--. 1 root root 312 May 16  2022 psacct
-rw-r--r--. 1 root root 226 May  3 03:55 rsyslog      <--- ここ
-rw-r--r--. 1 root root 155 Jul  9 04:06 samba
-rw-r--r--. 1 root root 289 May 14 02:53 sssd
-rw-r--r--. 1 root root 100 May  5 09:13 wpa_supplicant
-rw-r--r--. 1 root root 145 Oct 14  2019 wtmp
[root@rockylinux9 ~]#

中身は

[root@rockylinux9 ~]# cat /etc/logrotate.d/rsyslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
    missingok
    sharedscripts
    postrotate
        /usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true
    endscript
}
[root@rockylinux9 ~]#

ファイル前半に対象となるファイルに「/var/log/ssh」と「/var/log/dnsmasq.log」を入れます

/var/log/ssh
/var/log/dnsmasq.log
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
    missingok
    sharedscripts
    postrotate
        /usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true
    endscript
}

これで肥大化を防げます.

即座にlogrotateを回したい

手動で一回実行します

[root@rockylinux9 ~]# logrotate -f /etc/logrotate.d/rsyslog

その後、「/var/lib/logrotate/logrotate.status」を確認して目的のlogファイルが入ったか確認します。
そして再度

[root@rockylinux9 ~]# logrotate -f /etc/logrotate.d/rsyslog

でlogrotateが行われます。

最新の60件
2026-02-18 2026-02-17 2026-02-16 2026-02-14 2026-02-11 2026-02-10 2026-02-09 2026-02-07 2026-02-06 2026-02-03 2026-02-02 2026-02-01 2026-01-31 2026-01-26 2026-01-24 2026-01-18 2026-01-17 2026-01-16 2026-01-12 2026-01-11 2026-01-10 2026-01-09 2026-01-08 2026-01-04 2026-01-01 2025-12-28 2025-12-27 2025-12-12 2025-12-11 2025-12-09 2025-12-08 2025-12-07 2025-12-05 2025-11-30 2025-11-24 2025-11-23 2025-11-18 2025-11-16

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-08-17 (日) 17:33:45