皆様こんにちは。
夕方になると仕事が捗り始めるエンジニア 零壱(ゼロイチ)テクトです。

最近弄った、OpenWrtを入れたFG52E。
色々なパッケージをインストールして
ゲーミングルータとほぼ同じ機能を再現しているのですが
それでもスペックに余裕があります。
以前から、ログ監視をしたいと思っていたので
OpenWrtへSyslogサーバを立てたところ
思った以上に負荷が少なかったので備忘を兼ねて記事にしました。
僕の環境では、syslog-ngをインストールがうまくいかなかったので
今回は、「rsyslog」で構築しました。
1.準備/パッケージ
・「rsyalog
」のインストール
メニュー→「System/システム
」タブ→「Software/ソフトウェア
」を選択。
「Update Lists/リスト更新
」を押して最新情報にした後
「Filter/フィルタ
」から「rsyslog
」を探します。
検索結果に出てきたら、「rsyslog
」の右側の「install/インストール
」ボタンを押します。
これで「rsyslog
」がインストール完了と共に
syslogサーバとして起動します。
2.設定
▼設定ファイルを開く
・コマンドが必要になります。TeratermなどのTerminalソフトで接続するか
「ttyd
」のパッケージを入れている場合は、
メニュー→「Service/サービス
」タブ→「Terminal
」からログインできます。
・コマンド画面で、以下コマンドを入力
vi /etc/rsyslog.conf
「vi
」というエディタで、「/etc/
」ディレクトリの「rsyslog.conf
」を開く
というコマンドになります。
※「vi」はLinuxで標準的なエディタソフトですが
癖がめっちゃ強いので、きちんと勉強してから挑みましょう。
▼設定ファイルの修正
・僕の場合、設定ファイルは以下になっていました。
# module(load="imuxsock")
# module(load="imklog")
# module(load="imudp")
# input(type="imudp" port="514")
# $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# *.info;mail.none;authpriv.none;cron.none /var/log/messages
# authpriv.* /var/log/secure
# mail.* /var/log/maillog
# cron.* /var/log/cron
# local7.* /var/log/boot.log
「#
」はコメントアウトですね。
また、各種ログがそれぞれ別々のファイルに保存されています。
僕は、最終的にSyslogを一つで扱いたいので
「#
」を外して、ログファイル名も以下に統一します。
module(load="imuxsock")
module(load="imklog")
module(load="imudp")
input(type="imudp" port="514")
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
*.info;mail.none;authpriv.none;cron.none /var/log/syslog.log
authpriv.* /var/log/syslog.log
mail.* /var/log/syslog.log
cron.* /var/log/syslog.log
local7.* /var/log/syslog.log
「I
」キーを押して編集モードにします。
上記のように修正。
「Escキー
」を押して編集モードを解除
「:
」キー→「w
」キー→「q
」キーで保存終了します。
※ログを分割管理したい方やデフォルト管理したい方は
そのままデフォルトでも問題ないです。
ログを見る時に面倒なくらいです。
syslogの送受信のデフォルト規格は
プロトコル:UDP
ポート:514
なので、上記の設定で問題なさそうです。
※バージョンによってはTCPの設定もあるみたいです。
syslogは基本udpなので、
tcpの設定があった場合、コメントアウトのままの方が良いです。
3.確認/ログ
・「/var/log/syslog.log
」にログを保存するようにしたので
ターミナル画面で以下のコマンドを実行します。
cat /var/log/syslog.log
溜まったSyslogを確認できます。
日時と、OpenWrtのホスト名のログがあれば成功です。
※サンプル載せようとしたんですが、見せられない情報ばかりでしたので
スクショは割愛します。
・Syslogサーバが立ったので
その他のNW機器がある方は、各機器のSyslogサーバの設定を
OpenWrtルータのIPアドレスに設定します。
・僕の場合、Wifiアクセスポイントのsyslogサーバ設定を
OpenWrtルータのIPアドレスに設定しました。
設定後、上記ログ確認にてAPからもsyslogが届いていました。
・以上でSyslogサーバの導入完了です。
お疲れ様でした。
4.備考
・ここから更に弄るとしたら、ログを定期的に別フォルダに移動するとか
定期的にログを圧縮するとか、スクリプトを組む必要があります。
・わざわざルータにSyslogサーバを立てる方は少ないと思います。
そもそもOpenWrtルータは、性能的にも容量的にも厳しいルータが多く
Syslogのようなログを大量に貯めこむ用途には全く向いていません。
・今回、僕の場合はFG52Eというストレージとメモリに恵まれた
OpenWrt化したルータであった為、実験的に入れてみました。
・Rsyslogサーバを立てる前後で、メモリ量やCPU使用率で
目に見える増加はありませんでした。
・Syslogを吐いている機器が、そもそも自身とAP2台で
ログも1日3MB前後にも満たないからだと思います。
それでは
どこかの誰かの何かの足しになれば幸いです。
01000010 01011001 01000101