ブログ - RTX1200のsyslogを転送する
YAMAHAのルータ,RTX1200はログを1万行まで記録できる.それ以上になると消えるので,別にsyslogサーバを立てて,そこにログ転送する.
まず,最初にRTX1200で,syslogサーバを指定する.
複数のsyslogサーバに転送するときは,空白を入れて一行で記載する.
4台まで指定できるそうだ.
そして,次にsyslogサーバ側を設定.今回のsyslogサーバは,macOS High Sierraを採用.
syslogサーバ(macos)側では,syslogを外部から受け付けるよう設定する.
実際には一行です.
RTX1200から受信したログデータを書き込むファイルを設定.
Facilityは,RTX1200でsyslog facility local7としているので,受け側でもlocal7を指定.
fileで指定された/var/log/rtx.logにログを書き込む.
compressとするとローテートされたファイルがgzip圧縮して.gzファイルが作成される.
filemaxは,アクティブなログファイルのサイズ.この場合1MB.k,m,gを指定できる.ただの数値の場合はバイト.
all_maxは,ローテーションされたファイル全ての最大サイズ.ログファイルが膨張してディスク容量不足にならないように.
roteteでローテーションされたファイルのファイル名を指定.seqとするとexample.log.N形式となる.localとするとexample.log.20120624T070000-07
ttlで指定された日数よりも古いローテーションファイルは削除される.
もっと詳しく知りたい場合は,man asl.confでマニュアル参照可能.
設定が終わったら,syslogを再起動.
設定したファイルにログが書かれていれば完了.
まず,最初にRTX1200で,syslogサーバを指定する.
syslog host 192.168.1.10🆑
syslog host 192.168.1.10 192.168.2.10🆑
そして,次にsyslogサーバ側を設定.今回のsyslogサーバは,macOS High Sierraを採用.
syslogサーバ(macos)側では,syslogを外部から受け付けるよう設定する.
$ sudo defaults write /System/Library/LaunchDaemons/com.apple.syslogd.plist \🆑
> Sockets -dict-add NetworkListener "{ SockServiceName = syslog; SockType = dgram; }"🆑
$
RTX1200から受信したログデータを書き込むファイルを設定.
$ cat /etc/asl/rtx1200-syslog🆑
? [= Facility local7] [! Host <FQDN of localhost>] claim only
* file /var/log/rtx.log mode=0644 rotate=local compress file_max=10M all_max=50G ttl=500
$
もっと詳しく知りたい場合は,man asl.confでマニュアル参照可能.
設定が終わったら,syslogを再起動.
$ ps -ef|grep syslogd🆑
0 85539 1 0 12:49AM ?? 0:00.02 /usr/sbin/syslogd
501 85542 84827 0 12:49AM ttys004 0:00.00 grep syslogd
$ sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
$ ps -ef|grep syslogd🆑
501 85548 84827 0 12:49AM ttys004 0:00.00 grep syslogd
$ sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
$ ps -ef|grep syslogd🆑
0 85553 1 0 12:49AM ?? 0:00.01 /usr/sbin/syslogd
501 85556 84827 0 12:49AM ttys004 0:00.00 grep syslogd
$
tail -f /var/log/rtx.log