web-dev-qa-db-ja.com

ネットワークシステムからsyslogログを受信するにはどうすればよいですか?

DD-WRTルーターからログを受信するようにUbuntuを構成したいと思います。ルーターの構成画面には、次のセクションが含まれています。

DD-WRT System Log

そして、その ロギングドキュメント 読み取り:

ログをリモートシステムに送信する場合は、syslogユーティリティも実行しているマシンのIPアドレスを入力します(ルーターから送信されたログを受け入れるには、開いているネットワークソケットが必要です)。

Syslogを(意図的に)使用したことはありません。これらのログを受信するには、Ubuntuで何をする必要がありますか?

24
ændrük

ログを受信するホストは、リモートログをリッスンするように構成されたsyslogデーモンを実行する必要があります。 Ubuntuには多くのsyslog実装がありますが、通常はrsyslogが推奨されており、デフォルトでインストールする必要があります。 DD-WRTがTCPまたはUDPを介してログを送信している場合、投稿したリンクのドキュメントからはわかりません。そのため、正確な設定を正確に見つけるには、実験が必要になることがあります。ホスト上のネットワークアクセス可能なポートの数。

これを有効にする方法は2つあります。最初の方法は簡単ですが、システムのアップグレード時に再統合が必要になる場合があります。 2番目はやや複雑で、更新の一部としてsyslog構成に大幅な変更があると混乱を招く結果になる可能性があります。 2番目を選択しますが、好みは異なる場合があります。

1つ目は、/etc/rsyslogd.confを編集し、次の行から最初の#を削除することです。

#$ ModLoad imudp 
#$ UDPServerRun 514 

または

#$ ModLoad imtcp 
#$ InputTCPServerRun 514 

2つ目は、おそらくlocal-enable-tcp.conf内の/etc/rsyslog.d/という名前で、次の内容の新しいファイルを作成することです。

#enable TCP syslog受信
 $ ModLoad imtcp 
 $ InputTCPServerRun 514 

個別のファイルアプローチを使用し、UDPが必要な場合は、上記のUDPスタンザに一致するように内容を変更します。特定のファイル名は重要ではありませんが、この名前空間はローカル管理者設定用に予約されているため、「local-」で開始することをお勧めします。 rsyslog設定。

別のsyslog実装を使用する場合は、その実装の構成とドキュメントを確認してください:syslogデーモンはデフォルトでネットワークをリッスンしないように構成されている可能性がありますが、この一般的なケースを有効にするための構成例は明確に文書化する必要があります。

24
Emmet Hikory

もう1つのオプションは、使いやすいsyslog-ngを使用することです。

Sudo apt-get install syslog-ng

インストール後、/ etc/syslog-ng/syslog-ng.confにconfファイルがあるので、この.confをパラメーターで編集しますが、その前にデフォルトの構成ファイルのバックアップを作成し、後で役立つ場合がありますいくつかのパラメーターを調整したい

Sudo mv /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.bak

新しい設定ファイルを作成して編集してください!

Sudo touch /etc/syslog-ng/syslog-ng.conf
Sudo nano /etc/syslog-ng/syslog-ng.conf

そのため、この基本設定を貼り付けて、同様に機能するようにします。

# Listening to incoming UDP Syslog connections
source mysource { udp(); };

#Add the syslog targets:

destination dest { file("/var/log/Cisco$YEAR$MONTH$R_DAY.log"); };
#destination dest_other_server { udp("1.2.3.4" port(514)); };
#Create the filters that will be used to determine what to do with the received syslog message

#filter filter { ( Host("2.3.4.5") and level(notice) and match("username=.*@domain\.local" value("MESSAGE") flags("utf8" "ignore-case")) ); };
filter myfilter { ( level(notice) ); };
#And putting it all together:

log { source(mysource); filter(myfilter); destination(dest);  };

あなたが見ることができるように簡単。気を付けて!

6
Alvarova