ルータのログを rsyslog サーバで受信して特定のファイルに出力する

Linux

buffalo Fi-Wi ルータの「ログ情報転送機能」を有効化したので、rsyslogサーバでログを受信し、特定のファイルに書き込む設定です。

rsyslog.conf ファイルを修正する。

# cp -p /etc/rsyslog.conf /etc/rsyslog.conf_org
# vi /etc/rsyslog.conf
# diff -c /etc/rsyslog.conf_org /etc/rsyslog.conf

*** rsyslog.conf_org 2024-02-13 20:00:27.928355700 +0900
--- rsyslog.conf 2024-02-13 22:05:42.016606978 +0900

*** 28,43 ****

# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
! #module(load="imudp") # needs to be done just once
! #input(type="imudp" port="514")

# Provides TCP syslog reception
# for parameters see http://www.rsyslog.com/doc/imtcp.html
! #module(load="imtcp") # needs to be done just once
! #input(type="imtcp" port="514")

#### RULES ####

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
--- 28,47 ----

# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
! module(load="imudp") # needs to be done just once  ・・・・・・・・・ ①
! input(type="imudp" port="514") ・・・・・・・・・・・・・・・・・・・・・・①

# Provides TCP syslog reception
# for parameters see http://www.rsyslog.com/doc/imtcp.html
! module(load="imtcp") # needs to be done just once ・・・・・・・・・・ ②
! input(type="imtcp" port="514") ・・・・・・・・・・・・・・・・・・・・・・②

#### RULES ####

+ # Router log rules
+ :fromhost-ip, isequal, "192.168.0.1" /var/log/router/messages_log ・・・③
+ :fromhost-ip, isequal, "192.168.0.1" ~ ・・・・・・・・・・・・・・・・・・・④
+
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
     :

 ① UDP受信を有効化する。
 ② TCPでの受信を有効化する(TCPでの受信設定は不要と思いますが、今後のため有効化する)。
 ③ 受信したログを「/var/log/router/messages_log」に書き込む。
   「192.168.0.1」はルータのIPアドレス。
 ④ 他のログに書き込まない設定(設定しないと「/var/log/messages」ファイルに書き込まれる。

ログの出力先のディレクトリを作成する。

# mkdir /var/log/router

rsyslog サービスを再起動する。

# systemctl restart rsyslog

ログファイルをローテイトする。

以下のサイトを参照ください。

https://lnxdvr.com/router_log_rotate/