GNU/Linux >> Linux の 問題 >  >> Linux

log4j を使用してログ データを syslog に書き込む

次の行を rsyslog.conf ファイルに追加します

$ModLoad imudp
$UDPServerRun 514

それは私のために働いた。

変更後、rsyslog を再起動する必要があります。


上記の@Sandeepからの回答は正しいものですが、2012年のものなので、最近のセットアップを使用している人々のために少し拡張したいと思いました.たとえば、Ubuntu 18.04 では /etc/rsyslog.conf ファイルの先頭付近に次のようなデータが含まれるようになりました:

#################
#### MODULES ####
#################

module(load="imuxsock") # provides support for local system logging
#module(load="immark")  # provides --MARK-- message capability

# provides UDP syslog reception
#module(load="imudp")
#input(type="imudp" port="514")

# provides TCP syslog reception
#module(load="imtcp")
#input(type="imtcp" port="514")

2 つの UDP 行のコメントを外して sudo service rsyslog restart を実行する 私のために働いた。 Java Log4J Syslog アペンダー (https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/net/SyslogAppender.html) は syslog を想定しています。 localhost の UDP ポート 514 でリッスンします。

セキュリティをさらに向上させる可能性として、ループバック アドレスにバインドすることを検討してください。そうすることで、ポート 514 がホストの外部から見えないようにすることができます:

input(type="imudp" port="514" address="127.0.0.1")

既存の /etc/rsyslog.conf に手を加えることなく、この更新を行うことも可能です。 ファイル;代わりに、新しい conf ファイルを /etc/rsyslog.d/ の下に追加できます ディレクトリ。 /etc/rsyslog.d/10-open-upd-port.conf 、次の行のみを含む:

module(load="imudp")
input(type="imudp" port="514" address="127.0.0.1")

そして rsyslog を再起動します 上記のデーモン。

rsyslog かどうかを確認するには デーモンは UDP ポート 514 でアクティブにリッスンしています。次のコマンドも役立つことがわかりました:sudo lsof -iUDP:514 -nP -c rsyslogd -a (コマンドが「rsyslogd」であるポート UDP 514 のリスナーを表示します)。


Linux
  1. LinuxでLogrotateを使用してログファイルを管理する方法

  2. ログファイルに何が追加されているかをリアルタイムで確認する便利な方法は何ですか?

  3. Linux OS サービス「syslog」

  1. LinuxでLog2ramを使用してRAMにログファイルを書き込む方法

  2. ログファイルを作る

  3. innodb_file_per_table を使用する理由

  1. ELKスタックを使用したモニタリングの概要

  2. /var/log/messages、/var/log/syslog、および/var/log/kern.logの違いは?

  3. CentOS / RHEL :logrotate を使用して /var/log/wtmp および /var/log/btmp ファイルをローテーションする方法