最近、自宅のラズベリーパイ3にようやく「ちゃんとした用途」を持たせることができた。 やったのはルーターのsyslogをラズパイで受け取って保存する仕組みの構築。地味だけど、これがなかなか便利だった。
やろうと思ったきっかけ
ルーターの管理画面にもログ機能はあるんだけど、表示できる件数に上限があって古いログはどんどん消えていく。 「あの日に何かあったっけ?」と振り返ろうとしたら記録が残っていない、みたいなことが何度かあって。 だったらラズパイに送り続けて自分でためておけばいいじゃん、という発想。
実際にやった設定
ルーター側でsyslogの転送先としてラズパイのIPアドレスを指定して、ラズパイ側では rsyslog でUDP 514番ポートを受け付けるように設定した。
# /etc/rsyslog.conf に追加
module(load="imudp")
input(type="imudp" port="514")
受信したログは /var/log/router/ 以下に日付ごとのファイルで保存している。
logrotate と組み合わせて一定期間経ったら自動削除されるようにもしてある。
設定自体は調べながら1〜2時間でできた。思ったよりシンプル。
ストレージ32GBで今のところ問題なし
ラズパイに使っているSDカードが32GB。ルーターのログ量はそこまで多くないので、今のところ全然余裕がある。数ヶ月分ためてもGBには届かなさそうな感じ。
ただ、「32GBのうちほぼログしか使っていない」というのも少しもったいない気はしている。
他に何か使えないか模索中
せっかくラズパイが常時起動しているので、他のことにも使えないか考え中。今気になっているのはこのあたり。
Pi-hole(広告ブロック) DNSサーバーとして動かして、ネットワーク全体の広告をブロックする。自宅で使っている複数端末にも効くのがいい。
Grafana + InfluxDB(可視化ダッシュボード) ルーターのログを可視化してダッシュボードにするのも面白そう。今はテキストで見ているだけなので、グラフにすると傾向が見やすくなりそう。
メディアサーバー(Jellyfin) 動画や音楽のストリーミング用に使う案。ただラズパイ3はCPUがそこまで強くないので、重い動画だとしんどいかも。
cron + シェルスクリプトで定期タスク 週次でどこかのAPIからデータを取ってくるとか、軽い自動化の実行環境として使う。これが一番現実的かもしれない。
どれか一個やってみたいけど、何から手をつけるかまだ決まっていない。 「ラズパイに何かやってるよ」という人がいたら、おすすめを教えてほしいところ。