ロギング SaaS ソリューションに関連する奇妙な問題をデバッグしています。 SaaSに送信されたログを複製しているようです。ログはrsyslogフォワーダを介してTLSを介して送信されます。リモートrsyslogサーバーを実行し、監視のためにインスタンスログをそのサーバーに渡して問題を再現できることを確認します。ログソースサーバーをguineapig
リモートrsyslogサーバーと呼びますwatcher
。
watcher
次の設定を使用して、UDPポート514でリッスンするように設定します。
$ModLoad imudp.so
$UDPServerRun 514
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# log everything to the /var/log/remotesyslog file
*.* /var/log/remotesyslog
guineapig
watcher
IPアドレスを使用してすべてを転送するように設定します。
$ModLoad imuxsock
$ModLoad imjournal
$ModLoad imudp.so
$UDPServerRun 514
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$IMJournalStateFile imjournal.state
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg *
uucp,news.crit /var/log/spooler
local7.*
/var/log/boot.log
内部/etc/rsyslog.d/22-remote-rsyslog.conf
:guineapig
# forward everything over UDP to watcher
*.* @@10.0.1.1:514
残念ながら、SystemD rsyslogサービスを再起動してからログメッセージをトリガーしようとすると、そのファイルにそのguineapig
メッセージは表示されませんwatcher
。
user@guineapig ~$ logger "please work"
# doesn't work
ただし、どこに行くのかを直接知らせると、logger
ログ行に次のように表示されます。
user@guineapig ~$ logger -n 10.0.1.1 "please work for real"
# works
rsyslogのドキュメントを確認するのは本当に難しいですが、何らかの理由で私のログがwatcher
。
私の設定に明らかな問題がありますかguineapig
?どちらのシステムもCentOS 7で動作します。
答え1
前に述べたようにここrsyslog
UDPを介した転送にTCPとは異なる構文を使用しているようです。
TCP転送の場合:
*.* @@10.0.1.1:514
UDP配信の場合:
*.* @10.0.1.1:514
この変更により、私のロギング設定が修正されました。
答え2
*.* action(type="omfwd" target="10.0.1.1:514" port="514" protocol="tcp")
~から文書:
これは最も簡単な配信操作です。
*.* action(type="omfwd" target="192.0.2.1" port="10514" プロトコル="tcp")
これは、次のように廃止された古い形式の行と同じです。
*.* @@192.0.2.1:10514 #もう一度使用しないでください!