tomo.gif (1144 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)To previous pageTo home pageMailing to me

syslogdでルーターのログを取り、
Webで参照する実験

Modified: 21 May 2006

YAMAHAの「RTX-1000」のログをLinuxのサーバで受信、記録します。


ルータを設定する

サーバの設定

syslogdの小技


ログを自動的に切り替える設定

RedHatLinux7.3 では、デフォルトで、syslogdとcronの動作で、一週間ごとにログをローテート(世代管理される)切り替えるように設定されていて、動作しています。

ルーターのログファイルをローテート対象とするためには、そのログファイルの名称を登録する必要があります。

設定ファイルは、"/etc/logrotate.d/syslog" です。

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
    sharedscripts
    postrotate
    /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}

上記を、以下のように追加します。

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /home/tomo/www/html/rta54i-log {
     sharedscripts
     postrotate
     /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}

ルータを設定する

ルータがログを出力するように設定します。


出力するホストを指定

# syslog host 192.168.0.6


ファシリティを指定します

要は、ログの種別です。受け取ったとき、専用のファイルに保存するために指定します。

# syslog facility user


ログの対象を指定します

# syslog notice on
# syslog info on
# syslog debug off


DNSの参照により、IPアドレスでなくURLで記録する

# dns syslog resolv on


"/etc/syslogd.conf" を設定する

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

# RTX-1000
user.debug;user.notice;user.info    /var/www/html/rtx1000-log

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages

# The authpriv file has restricted access.
authpriv.* /var/log/secure

# Log all the mail messages in one place.
mail.* /var/log/maillog


# Log cron stuff
cron.* /var/log/cron

# Everybody gets emergency messages
*.emerg *

# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler

# Save boot messages also to boot.log
local7.* /var/log/boot.log

htmlファイルを置いているホームデレクトリに書き込みます。

サイズ0のファイルを作っておきます。

# touch /var/www/html/rtx1000-log

syslogdを再起動する

# /etc/rc.d/init.d/syslog restart

再起動しても有効にするためには、以下のように "syslogd" に、"-r"オプションをつけて起動できるようにします。

    :
start() {
        echo -n $"Starting system logger: "
        daemon syslogd -r $SYSLOGD_OPTIONS
        RETVAL=$?
        echo
        echo -n $"Starting kernel logger: "
        daemon klogd $KLOGD_OPTIONS
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog
        return $RETVAL
}
    :

To previous pageTo home pageMailing to meJump to Top of pageline.gif (927 ツバツイツト)line.gif (927 ツバツイツト)tomo.gif (1144 ツバツイツト)