share facebook facebook2 twitter menu hatena pocket slack

2015.02.23 MON

リアルタイムログモニタリングツール Log.io を使ってみる

川原 洋平

WRITTEN BY川原 洋平

ども、 cloudpackかっぱ (@inokara) です。

はじめに

別件でログ監視ツールを探していたら Log.io というリアルタイムログモニタリングツールを見つけたので触ってみた。

ナニコレ

以下のようなアーキテクチャで動作するとのこと。
Log.io の紹介: アーキテクチャ引用
(出典:http://logio.org/logio_diagram1.png

  • ブラウザで任意のログをリアルタイムに表示させることが出来る
  • node.js と soket.io で実装されている
  • Harvester でログを監視、node でログをストリーム処理している
  • Log.io は persistence layer が存在しない

参考

導入

CentOS 6.5 に導入。

sudo yum -y install nodejs npm
sudo npm install -g log.io

demo

log.io-server を起動

log.io-server &

設定ファイルの修正

vim ~/.log.io/harvester.conf

以下のように修正。

exports.config = {
  nodeName: "application_server",
  logStreams: {
    kappa_test: [
      "/opt/logs/test.log"
    ]
  },
  server: {
    host: '0.0.0.0',
    port: 28777
  }
}

logStreamStream 名と監視対象のログファイルのパスを定義。複数のログを定義することも可能。

harvester を起動

log.io-harvester 2> /dev/null &

監視対象のログファイルが存在しない場合にエラーがウザいのでエラーは /dev/null に捨てる。

適当にログを…

while true
do
  sleep 1
  echo '{"level":"Critical"}' | /usr/lib64/fluent/ruby/bin/fluent-cat kappa.test
  echo '{"level":"Warning"}' | /usr/lib64/fluent/ruby/bin/fluent-cat kappa.test
  echo "{"level":"$RANDOM"}" | /usr/lib64/fluent/ruby/bin/fluent-cat kappa.test
done

スクショ

Streams から logStream で定義したストリーム名をチェックしてモニタリングするログを選択する。
Log.io の紹介: 動作確認 (1)

特定の文字列で絞り込むことも可能。
Log.io の紹介: 動作確認 (2) 特定の文字列で絞り込む

ということで…

  • 本当に触ってみたレベルですいません
  • ブラウザでログをモニタリング出来るのは魅力的
  • 複数ホストのログに対応していると嬉しいのになあ(未確認)

以上、Log.io でした!

元記事はこちらです。
リアルタイムログモニタリングツール Log.io を使ってみる