
サーバーの1つからrsyslog TCP/SSL経由で中央ログサーバーにリモートログを設定するようにしました。
昨日まではすべて正常に動作していましたが、昨日、ほとんどのファイルの送信が停止し、一部のファイルはログ サーバーで送信/更新され続けました。
/etc/rsyslog.d/内にこの特定の設定があります
$ModLoad imfile #Load the imfile input module
# poll every 10s
$InputFilePollInterval 10
# myfile
$InputFileName /var/log/data/myFile.log
$InputFileTag myFile:
$InputFileStateFile stat-myFile
$InputFileSeverity Info
$InputFileFacility local3
$InputRunFileMonitor
ファイルを確認すると、アプリケーションによって更新されます
ls -la /var/log/data
-rw-r--r-- 1 adm adm 2666 Apr 22 08:52 myFile.log
このクライアントからリモート ログ サーバーへの確立された接続を確認しようとすると、問題ないようです (netstat -tulpan | grep syslog)
tcp 0 0 :42724 :10514 確立 31839/rsyslogd
ただし、ログサーバーをチェックすると、クライアントからのリモートログが/var/log/remotelogs//に保存されます。
奇妙なことに、一部のファイル(systemd.log、sshd.log、rsyslogd.logなど)はリアルタイムで正しく更新されますが、myFile.logは更新されません。
ls -la /var/remotelogs/<clientIP>
-rw-r----- 1 root root 1945150 Apr 21 15:07 myFile.log
ご覧のとおり、昨日の午後 3 時頃に停止しました... 何ですか? サーバーのネットワーク接続も確認しましたが、すべて正常なようです...
$ sudo netstat -tulpan | grep syslog
tcp 0 0 0.0.0.0:10514 0.0.0.0:* LISTEN 3608119/rsyslogd
tcp 0 0 <serverIP>:10514 <clientIP>:42724 ESTABLISHED 3608119/rsyslogd
tcp6 0 0 :::10514 :::* LISTEN 3608119/rsyslogd
何が問題なのか分かりますか? 一部のファイルは送信されず、一部のファイルは送信されるのはなぜですか?
答え1
私の同僚が何らかの形でそれらのファイルに影響を与えるスクリプトを作成した(正確に何が起こったのかはわかりません)のだと思いましたが、スクリプトを無効にしてファイルを再作成すると、再びうまく動作しました...