syslog といえば、UNIX 系の OS を使ったことがある人にはお馴染み(もちろん、Mac OS X も syslogd は標準装備である)だが、マックでシスログなんて人は私の周辺ではとんと見かけない。 のだが、マックにも Syslogd というシェアウェアがある(MacNetLogger なんてのもあるみたい)。 これを購入すれば、あなたのオールドマックも立派なログサーバーに変身するのだ。 「なんでログとるのにカネださなあかんねん」という浪速のオバちゃんはここで command+'.' して、*BSD or Linux にするべし(^^)。
読み続けているあなたへ、マックをログサーバーにするメリットは、ネットワーク経由で侵入されてログを改竄されるおそれがほとんどないという点だ。
■今回の厳選素材
- Power Macintosh 7100/80AV(RAM88MB/HD4GB)
- Mac OS 8.1
- Syslogd 2.1.8
※残念ながら、Syslogd v2.1.8 は 68k Mac では動かない(;_;)。 68k 対応の Syslogd v1.x はフリーなのだがローカルアプリケーションのログしかとれない(つまり、世間一般に言う syslogd ではない)。
■ルータのログをとってみる
では、ヤマハのブロードバンド対応ルータ RTA54i のログをマックに記録してみよう。(RTA54i の IP アドレスが 192.168.0.1 で、Syslogd を動かしているマックが 192.168.0.2 だと仮定する)
- RTA54i に telnet またはコンソールからログインして下記のように設定。
- #syslog host 192.168.0.2
- #syslog facility local1
- (他にもいろいろ細かく設定できるので、ルータのマニュアルを見てお好きにどうぞ)
- Syslogd をインストール。 機能拡張フォルダに Syslogd とライブラリ、起動ボリュームに以下のファイルがインストールされる。
- Syslogd Admin アプリケーションのメモリ割り当てを増やす。
- Syslogd Admin アプリケーションを起動して [Unregistered]-[Register...] メニューを選び登録コードを入れる。
- [Server Options] タブを選択し、[Enable Network Support] をチェックする。
- [Logs] タブを選択し、[Add...] ボタンを押して、コンソールへの出力を追加。
- [Save] する。
- Mac を再起動する。
- またまた、Syslogd Admin アプリケーションを起動して [Logs] タブを選択し、[Add...] ボタンを押して、ファシリティ local1(ルータからの出力に指定した通り)を記録するログファイルを追加。
- [Save] して、Syslogd Admin を終了。
- Syslogd を一旦終了(Stop Syslogd アップルスクリプトファイルを開いて実行)。
- Syslogd を再度起動(Start Syslogd アップルスクリプトファイルを開いて実行)。
- これで、ルータからのログは router.log というファイルに記録されるようになった(ログファイルは「システムフォルダ:Logs」フォルダ内に置かれる)。
- Syslog Console アプリケーションを起動して、ログが送られてくるのを確認する。
無論、ルータに限らず他のホスト(UNIX 系 OS マシンや、Syslogd を入れた Mac)からの syslog 出力も受け取ることができる。 また、AppleScript を使ってSyslogd への出力が行える他、C プログラマなあなたは自分のマックアプリケーションに syslog 機能を付け加えることもできる(ちょっと UNIX な気分)。 いやはや、なんともログ好きにはたまらんですな。