–>
–>
後に実施する自宅電話の着信をメールでスマホに送るためにNVR510のログをサーバへ転送します。
ルータやレイヤ3などは自分のログを管理区分にあるサーバーなどに送る機能があります。他の監視したりする情報はもっぱらsnmpというプロトコルなどを使います。早速、設定に入ります。
ルータ側の設定
ルータWEBUIの管理画面から「管理」タブの「SYSLOGの管理」を選択する。
今回は「INFO」のみを選択した。
「宛先アドレス」で「192.168.*.*」 <--サーバのIPね
3つのログの詳細は以下の通り
noticeレベルの情報・・・パケットフィルタリングで、落としたパケットの情報などを ログします。
※noticeはフィルタリングで落とした情報が多いためログが急激にたまるので有効化しない方がいいかも
infoレベルの情報・・・通常の情報をログします。
debugレベルの情報・・・障害解析などの為に、PPPのデバッグ情報をログします。
ルータのUI画面にあるコマンド入力画面で以下のコマンドを入力してSYSLOGのファシリティを変更します。
syslog facility 16
このコマンド入力でrsyslog側はルータからのログをlocal0として認識します。
NVR510ではファシリティの初期値は「user」なのでrsyslogのものとかぶります。NVR510のリファレンスを見ると
user:1
local0~7:16~23
と、上記のように割り当てられています。
SYSLOGのファシリティとは、ログメッセージの種類を表します。
一般的には、どのような状況でログが発生したかを表す番号として指定されます。
コード番号 | ファシリティ | コード番号 | ファシリティ |
---|---|---|---|
0 | kernel message | 12 | NTP subsystem |
1 | user-level messages | 13 | log audit |
2 | mail system | 14 | log alert |
3 | system daemons | 15 | clock daemon |
4 | security/authorization messages | 16 | local use 0 (local0) |
5 | messages generated internally by syslogd | 17 | local use 1 (local1) |
6 | line printer subsystem | 18 | local use 2 (local2) |
7 | network news subsystem | 19 | local use 3 (local3) |
8 | UUCP subsystem | 20 | local use 4 (local4) |
9 | clock daemon | 21 | local use 5 (local5) |
10 | security/authorization messages | 22 | local use 6 (local6) |
11 | FTP daemon | 23 | local use 7 (local7) |
rsyslog.confの設定
まず、ログの収集するファイルを作成します。
touch /var/log/router.log
ユーザ・グループを設定します。権限も書き込み権限を与えてください。
chown root.root router.log
rsyslog.confの設定をします。
vi /etc/rsyslog.conf
リモートからのSYSLOGを受信する設定にするため、以下のコメントを外します。
TCPもUDPも514ポートを使ってLOGのやり取りをしているようです。
今回はUDPのみ
# provides UDP syslog reception
module(load=”imudp”)
input(type=”imudp” port=”514″)
同じようなログがmessagesにあるとゴチャゴチャして曇りなき眼で見れないため (アシタカの名言
/var/log/messages にrouter.logと重複してLOG出力されないようにする
*.=info;*.=nontice;*.=warn;\
auth,authpriv.none;\
cron,deamon.none;\
local0.none;\ <–これ追加
mail,news.none -/var/log/messages
/etc/rsyslog.confの最後行にNVR510で設定したファシリティ local0を追記する。
# Yamaha NVR510
local0.* /var/log/router.log
/etc/syslog.confへの設定がすべて終了したので
/etc/init.d/rsyslog restart
ログが受信されているか?確認します。
tail -10 /var/log/router.log 又は tail -f /var/log/router.log
logroteを設定する
このままだとログが肥大化してしまうのでログをローテーションさせて世代管理させます。
vi /etc/logrotate.d/rsyslog
/var/log/messagesの下あたりに追加します。
/var/log/router.log
これでログもローテーションされるようになります。