はじめに
ヤマハルータ(RTX1200)のログをLinuxに集めてみました。
参考
- http://www.rtpro.yamaha.co.jp/RT/FAQ/Syslog/what-is-syslog.html
- http://akira-arets.blogspot.com/2016/03/rtx1200loggingwithrsyslog.html
環境
-
ルータ
- ヤマハルータ(RTX1200)
-
ログ収集サーバー
- CentOS6.10
-
ログ収集デーモン
- syslog → rsyslog
動作概要
RTX1200からログ収集サーバーにUDP/514でログを送信
------+-----------------------------+-------
| |
+-----+------+ +------+------+
| RTシリーズ | | コンピュータ|
+------------+ +-------------+
514/UDP
syslog →syslog メッセージ→ syslogd (syslogデーモン)
↑ ↓
logしたい情報 syslog.confでの指示によりファイル化などをする
syslogとは
- 役割
- 各アプリケーションからログを受け取りファイルに書き込む
- ログを他のサーバーに送信することもできる
rsyslogとは
- CentOS6ではsyslogの後継で高機能なrsyslogが採用されている。役割は同じ
- rtx1200ではsyslogが採用されている
CentOSの設定
- 設定ファイル
- /etc/rsyslog.conf
<ファシリティ>.<プライオリティ> 出力先
ファシリティとは
- ログの種類。mail、cron、ntpなど
- local0-local7は自由に使えるファシリティ。rtx1200からのログはこのどれかで定義する
プライオリティとは
- 優先順位のこと
- emerg
- 緊急事態
- alert
- 警報(すぐ対応必要)
- crit
- 危険
- error
- エラー
- warning
- 警告
- notice
- 注意
- info
- 情報
- debug
- 問題に対応するための詳細な情報
- none
- なし
どのアプリケーションからのどのレベルのログをどこに書き込むか指定する。レベルごとに指定できるのでレベル毎に書き出すファイルを変えることもできる。
ヤマハルータからログを受け取る設定
設定ファイル /etc/rsyslog.conf
udp/514から受け取る設定
$ModLoad imudp
$UDPServerRun 514
デフォルトだと/var/log/messagesに出力されるのでlocal5.none
で出力しないようにする
*.info;mail.none;authpriv.none;cron.none;local5.none /var/log/messages
local5(ヤマハルータ)からのログを/var/log/rtx1200.logに書き込む
# RTX
local5.* /var/log/rtx1200.log
あとはiptabltesでudp 514ポートを開放する
ヤマハルータの設定
administratorになってから
ログの送信先を設定
# syslog host IPアドレス
ファシリティ(ログ種別)をCentOSに合わせる
# syslog facility local5
出力したいログのレベルを決定する
# syslog notice on
# syslog info on
# syslog debug on
ヤマハルータのログのレベル
-
noticeレベルの情報
- パケットフィルタリングで、落としたパケットの情報などを ログします。
-
infoレベルの情報
- 通常の情報をログします。
-
debugレベルの情報
- 障害解析などの為に、ISDNやPPPのデバッグ情報をログします。
補足
webサーバなどのログをwebサーバで保管するのではなくsyslogの仕組みを使って他のサーバで保管、一括管理することでログが改ざんされることを防ぐこともできる。
まとめ
- 上記設定で特に問題なくログを収集することができました。logrotateの設定を入れたほうが良いかもしれません。今度はログの解析をやってみようと思います。