node.jsとWebSocketを使ってアクセスログをリアルタイムにビジュアル化「maptail.js」
maptail.jsはアクセスログをリアルタイムに地図上へマッピングするソフトウェア。
maptail.jsはJavaScript/node.js製のオープンソース・ソフトウェア。node.jsに注目が集まっている。様々なソフトウェアが日々開発されていて、そのどれもが新しい技術を積極的に取り入れている。例えばHTML5だ。
こんなに奇麗に
HTML5を使えばどんなことができるのか、それは実際にできあがったものを見てみるのが一番分かりやすいはずだ。その例として紹介したいのがmaptail.jsになる。MapとTailを組み合わせたこのソフトウェアはnode.js/HTML5を知る上できっと面白いはずだ。
maptail.jsを起動する時には何らかのログファイル(通常はアクセスログ)を指定して実行する。そうするとアクセスログをリアルタイムに解析し、IPアドレスから位置情報を取得して地図上にマッピングするという仕組みになっている。
マウスを当てるとIPアドレスが表示される
実際にはWebSocketなのでHTML5から仕様的には切り離されている。しかし地図上に誰が接続しているかと言った情報がマッピングされていくのは面白い。真っ黒な地図に黄色い点が表示されるのはとても奇麗で見ていて飽きない。maptail.jsはとてもユニークなソフトウェアだ。
MOONGIFTはこう見る
tailは開発者にとって大好きなコマンドの一つだろう(と思っている)。ログファイルが次々と流れていく様子は見ていて飽きない。そこからIPアドレスを抽出し、さらに位置情報に変換してマッピングしていくという試みが面白い。かつリアルタイムだ。
WebSocketを使うことで、一旦接続されてしまえばリアルタイムに情報が送られ続ける。が、最初の接続が行われるまでが相当時間がかかってしまうようだ(他にユーザがいなければ問題ないだろうが)。node.jsのパフォーマンスを知る上でも面白いのはないだろうか。