前提・実現したいこと
ログ収集システムを作成したいです。
rsyslogサーバA(ホスト名:server,IP:192.168.40.101)
rsyslogクライアントB(ホスト名:client,IP:192.168.40.102)
BのログをAの「/var/log/rsyslog/%fromhost%/%$year%%$month%/%$year%%$month%%$day%_%fromhost%.log」
という形で動的に「/rsyslog」以下に出力させたい。
rsyslogサーバAの「/etc/rsyslog.conf」(Provides UDP/TCP syslog reception以外デフォルト設定)
# rsyslog configuration file # For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html #### MODULES #### # The imjournal module bellow is now used as a message source instead of imuxsock. $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imjournal # provides access to the systemd journal #$ModLoad imklog # reads kernel messages (the same are read from journald) #$ModLoad immark # provides --MARK-- message capability # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514 #### GLOBAL DIRECTIVES #### # Where to place auxiliary files $WorkDirectory /var/lib/rsyslog # Use default timestamp format $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # File syncing capability is disabled by default. This feature is usually not required, # not useful and an extreme performance hit #$ActionFileEnableSync on # Include all config files in /etc/rsyslog.d/ $IncludeConfig /etc/rsyslog.d/*.conf # Turn off message reception via local log socket; # local messages are retrieved through imjournal now. $OmitLocalLogging on # File to store the position in the journal $IMJournalStateFile imjournal.state #### RULES #### # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. authpriv.* /var/log/secure # Log all the mail messages in one place. mail.* -/var/log/maillog # Log cron stuff cron.* /var/log/cron # Everybody gets emergency messages *.emerg :omusrmsg:* # Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log # ### begin forwarding rule ### # The statement between the begin ... end define a SINGLE forwarding # rule. They belong together, do NOT split them. If you create multiple # forwarding rules, duplicate the whole block! # Remote Logging (we use TCP for reliable delivery) # # An on-disk queue is created for this action. If the remote host is # down, messages are spooled to disk and sent when it is up again. #$ActionQueueFileName fwdRule1 # unique name prefix for spool files #$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible) #$ActionQueueSaveOnShutdown on # save messages to disk on shutdown #$ActionQueueType LinkedList # run asynchronously #$ActionResumeRetryCount -1 # infinite retries if host is down # remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional #*.* @@remote-host:514 # ### end of the forwarding rule ###
rsyslogクライアントBの「/etc/rsyslog.d/logtest.conf」(/etc/rsyslog.confはデフォルト)
$template TEST,"/var/log/rsyslog/%fromhost%/%$year%%$month%/%$year%%$month%%$day%_%fromhost%.log" *.* @192.168.40.101 & ?TEST
設定変更後は以下を実行
systemctl restart rsyslog
logger test
ご教示お願い致します。
発生している問題・エラーメッセージ
Bの「/rsyslog」以下にファイルが作成されない。
Aで「logger test」を実行すると、Bの「/var/log/messages」には出力される。
試したこと
〇rsyslogクライアントBの「/etc/rsyslog.d/logtest.conf」の内容を以下のように変更
$template TEST,"/var/log/rsyslog/%fromhost%/%$year%%$month%/%$year%%$month%%$day%_%fromhost%.log" :fromhost-ip, !isequal, "192.168.40.101" -?TEST
→Bにログ内容は出力されず。
〇rsyslog.confの方にテンプレート設定を記載
→logtest.confに記載した時と相違なし
補足情報(FW/ツールのバージョンなど)
[root@server rsyslog]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33 ens34
sources:
services: dhcpv6-client ssh
ports: 514/tcp 514/udp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@server rsyslog]# rsyslogd -v
rsyslogd 8.24.0-57.el7_9.1, compiled with:
PLATFORM: x86_64-redhat-linux-gnu
PLATFORM (lsb_release -d):
FEATURE_REGEXP: Yes
GSSAPI Kerberos 5 support: Yes
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: Yes
memory allocator: system default
Runtime Instrumentation (slow code): No
uuid support: Yes
Number of Bits in RainerScript integers: 64
See http://www.rsyslog.com for more information.
CentOS7を使用
回答1件
あなたの回答
tips
プレビュー