EtsyからNode.jsで書かれた、ブラウザから利用するlogs streamerのSupergrepが リリースされたので早速試してみました。
ツールとしては任意のログが、任意の不要なログを除いた形式で出力され、 そこからさらにブラウザ上で自分でフィルタをかけるようなツールです。
公式の説明としても、
1
|
|
という感じの説明をしていて、解析に必要無いログは排除する設定が任意で出来て、表示されています。
導入環境はSL6.2です。
Node.jsの導入
SupergrepはNode.jsで書かれているので、Node.jsとnpmを導入。 2012年6月29日現在の最新版v0.8.0を導入
1 2 3 4 5 6 7 8 |
|
npmの導入
1 2 3 |
|
Supergrepの導入と起動
とりあえずデフォルトのまま起動。
1 2 3 4 5 6 |
|
http://hostname:3000
にアクセスしてみると下記のような感じのガイドが表示される
と説明が続く。
Supergrepの設定
Supergrepの設定は同梱されているlocalConfig.js
に記載。
私は下記のように修正。当然ですが、apache以外のlogにも使えます。
Supergrepがlogを読み取れないといけないので、権限を修正
1
|
|
Supergrepを動作
設定が済んだら、再度Supergrepを起動してみる。
1
|
|
apache_log
を403
でハイライトした感じ
ログサイズがでかい場合は、どのくらいの負荷になるのかなど検証しないといけないですが、
- サポートの人とかサーバに入らずブラウザからログを閲覧
- デプロイ直後のログ確認
とかに向いてるかなという印象。 不要なログが排除されててログの見通しがよく、ターミナル上で見るより見やすい。
でも今だとfluentd+mongodbとかで、そういう環境を整えるのが良いかなーと思ったりも。
Etsyはサイトの見た目とは対照的に、SolrのIndexレプリケーションにBitTorrentを使っていたり、 技術的に尖ったことをやっていて面白い会社ですね。