この記事のゴール
ラズパイのsyslogをWindowsマシンで閲覧したい
syslog(シスログ)は、ログメッセージをIPネットワーク上で転送するための標準規格である。
検証環境
- ラズパイがsyslogを送出する側
- Windowsマシンが、そのsyslogを表示する役割
syslogクライアント(ラズパイ)
- Raspberry Pi 3 Model B+
- IPアドレスは192.168.10.81
- 標準で入っているrsyslogを使う
syslogサーバ(Windowsマシン)
- Windows 11 Home
- IPアドレスは192.168.10.101
- フリーソフトのTftpd64を使う
syslogクライアント(ラズパイ)の設定
コンフィグファイルに1行だけ追加する
# 追記ここから
*.*;auth,authpriv,cron,mail,user.none @192.168.10.101
# 追記ここまで
もともとログの種類ごとに出力先が書かれているので
その近くに追記すると、あとから見返したときに分かりやすい
コンフィグファイルを保存したら、systemctl restart rsyslog.service
でサービスを再起動して設定を反映させる
syslogサーバ(Windowsマシン)の設定
ココからTftpd64をダウンロードする
名前はTFTPだけど、syslogサーバの機能も備えている
フリーソフトなので何かあっても悪しからず・・・
とくにこだわりがなければ、クイックダウンロード
インストーラを「次へ」で進んでいけば、デスクトップにアイコンが生成される
Tftpd64を起動する
アイコンをダブルクリックして、Tftpd64を起動する
右から2つめのタブがSyslog serverの画面
ラズパイからsyslogが送信され、Windowsが受信できれば、ここにメッセージが表示される
syslog送受信テスト
実際にラズパイからメッセージを送り、Windowsのsyslogサーバでメッセージが見れるか確認する
loggerコマンドを使う
-p
ではファシリティ名.プライオリティを指定する
local0は汎用的に使えるファシリティで、infoは一般的な情報にあてるプライオリティ
logger -p local0.info "Message from RaspberryPi"
メッセージのプライオリティを変更してみる
local0.warn
やlocal0.err
などプライオリティを変更すると
syslogサーバー側の行頭の数字が変わる(134, 132, 131など)
ほかのメッセージ例
rsyslogを再起動して認証を行うと、そのログも表示される
トラブルシューティング
Windows側にsyslogメッセージが表示されない場合
ファイアウォールで通信が許可されているか確認する
下記の場合、プライベートネットワークではTCPとUDPともに許可するが
パブリックネットワークに所属している場合はUDPのみ許可する設定になっている
おわりに
ラズパイからsyslogを送り、Windowsでその内容を表示することができた
参考