質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
logrotate

logrotateはログの世代管理やサイズ制限を行うLinux標準のツールです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

1711閲覧

rsyslogのリモートホストへの動的ファイル送付が上手くできません

ryo830

総合スコア2

logrotate

logrotateはログの世代管理やサイズ制限を行うLinux標準のツールです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2021/11/25 04:36

前提・実現したいこと

ログ収集システムを作成したいです。
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を使用

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2021/11/25 05:33

B のログを A の動的ファイルパスに記録したい、ってことですよね? B 側は A に送るだけ、A 側で template を定義するのでは? 途中から A, B 逆になっていませんか?
ryo830

2021/11/25 05:46

そうでした、、 そもそもB側でパスを指定してどうこうではなく、A側でtemplateを定義すれば簡単でした。 試してにA側で指定すればうまくいきました。 ありがとうございます!!
guest

回答1

0

ベストアンサー

ご質問掲載から時間が経過しておりますが未だ解決されていないようでしたら以下参考にして下さい。

syslog

1# Use default timestamp format 2$template test,"%timegenerated% %hostname% (%syslogtag%) %msg%\n" 3 4# 保存先・保存方法指定 5$template syslog, "var/log/rsyslog/%fromhost%/%$year%%$month%/%$year%%$month%%$day%_%fromhost%.log" 6 7#NW機器 8:fromhost-ip, isequal, "192.168.40.102" -?syslog ;test_syslog 9

テンプレートをつかない場合は、# Use default timestamp formatの「テンプレート」をコメントアウト、#NW機器の「;test_syslog」を削除して下さい。

投稿2022/05/18 13:54

編集2022/05/18 13:55
kamekame0505

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryo830

2022/12/29 05:00

おかげさまで解決いたしました。 ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問