LoginSignup
1
0

OpenWRT内でログ収集メモ for Graylog

Last updated at Posted at 2024-03-14

前提

OpenWRTで収集したログをGraylogに送信する。
ただしOpenWRT側はあまりGraylogに依存していないので、送信先はGraylog以外でも構わない。

Graylogのログ受信設定

OpenWRTでログを収集したい場合

基本的に/etc/config/systemを編集してやれば良い。
編集後は、以下のコマンドを実行して適用してやる必要がある。

service log restart
service system restart

/ect/config/systemファイルの設定例:

config system
        option hostname 'OpenWrt'
        option timezone 'UTC'
        option ttylogin '0'
        option log_size '64'
        option urandom_seed '0'
        option log_file '/var/log/mylog'
        option log_remote '1'
        option log_ip    リモートサーバのIPアドレス
        option log_port 5555
        option log_proto tcp   

OpenWRTでsyslog的なものをログファイルに書き込む

設定例:
/etc/config/system

config system
   option log_file '/var/log/mylog'

※ 上記の公式ドキュメントにはoption log_remote '0'も設定されているが、0のままだとリモートサーバにログを送信出来ないので注意。1にしてもログファイルにはちゃんと書き込まれる。

OpenWRTで書き込んだログファイルのログローテート設定

  • OpenWRTに以下のコマンドでlogrotateのパッケージをインストールする
opkg update
opkg install logrotate
cat << "EOF" > /etc/logrotate.conf
include /etc/logrotate.d
/var/log/mylog {
    daily
    rotate 1
    missingok
    notifempty
    postrotate
        service log restart
        sleep 1
        logger -p warn -s "Log rotation complete"
    endscript
}
EOF

cat << "EOF" >> /etc/crontabs/root
58 23 * * * logrotate /etc/logrotate.conf
EOF
service cron restart

logrotateをデバッグするには、以下のコマンドを使用する

logrotate --verbose --debug /etc/logrotate.conf

OpenWRTでログをリモートサーバに送信する

設定例:
/ect/config/system

config system
   option log_remote '1'
   option log_ip    リモートサーバのIPアドレス
   option log_port 5555
   option log_proto tcp   

※ あらかじめGraylogのInputでRaw/Plaintext TCPを設定しておく
※ Graylog側でポートを制限している場合は忘れずにポート開放しておくこと(docker-compose.ymlのportsとか)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0