私はUNIXストリーム/tmp/syslog.socket
に書き込むsyslogサーバを持っています。 このストリームを複数のTCPクライアントに複製する必要があります。 socatを使ってこれを達成する方法はありますか?複数のTCPクライアントへの重複した入力UNIXストリーム(socatを使用)
答えて
syslogdが、私はのsyslog-ngのは、また、TCPログredistrubution用のソケットと同様に、UDPをサポートしていることを信じているつまり
http://linux.about.com/od/commands/l/blcmdl8_syslogd.htm
、UDP経由でログを再配布するための施設があり、syslogdのmanページを参照してください
http://www.syslog.org/syslog-ng/v2/
私はあなたがsocatに関するとハックを必要としませんよね?
私が知る限り、syslogは宛先に書き込んで宛先から読み取ることができます(リンクの片端のみになります)。接続をリッスンしてその接続に書き込むことはできません。 –
私はちょうどSome Helpful socat Commandsの助けを借りて、これを遂行したと思います。
socat TCP-LISTEN:4444,reuseaddr,fork SYSTEM:"tail -f ~/.tail-error-logs/*",pty
fork
pty
が右側に重要であり、左側には重要です。
何を動作しませんでしたが、netcatをスタイルだった:
tail -f ~/.tail-error-logs/* | socat STDIO TCP-LISTEN:4444,fork,reuseaddr
またon above websiteを文書化されている複数接続しているクライアントとの間の出力の交流の効果がありました。
なぜ 'pty'が重要なのですか?私はそれを残して交替の問題が停止し、すべてのデータがすべてのクライアントに送信されます。 – Thor
しかし、syslogは通常 'udp'ですか? –
はい。私の設定では、UDPを使って他のマシンからデータを受け取り、それらをUnixストリームソケットに書き込みます。 –
@CalinDonは私の提案した回答が受け入れられるように働きますか? – lkraav