#21 「CS対応にマジ便利!! 行動ログ閲覧ツール "伊右衛門" の話」 tech.kayac.com Advent Calendar 2012

こんにちは、@hisaichi5518 です。

今年のクリスマスこそは、彼女とイチャイチャしながら有意義に過ごしたかったので、こういうのを作ったりしましたが、女の子から告白される気配がありません。クソが。

 

CS対応 と 行動ログ閲覧ツール「伊右衛門」

 

CSとは、カスタマーサポートの事で、

CS対応は、ユーザーさんのお問い合わせの調査の事をここでは指します。

 

例えば、ソーシャルゲームを運営していると「アイテムを使ってないのになくなっている!」なんてお問い合わせはよくあると思います。

そういう時にアイテムを使ったログが残っていなかったり、検索しにくかったら大変な事になります。

 

なのでカヤックは、fluentdとMongoDBを使ってユーザーさんの行動ログを保存しています。

その行動ログをブラウザで見えるようにしたのが、伊右衛門です。

https://github.com/hisaichi5518/iyemon

 

この伊右衛門を使えば「そのアイテムはこの時間に使ってます」っていうのがすぐ分かったり、使っていなかった場合はバグだ!というのがすぐ分かって、マジ便利!!!!!!!という事です。

 

セットアップ & 立ち上げる

 

Perlを使っています。やっぱりPerlは可愛い。

 

 

$ git clone git@github.com:hisaichi5518/iyemon.git

$ cd iyemon

$ cpanm --installdeps .

$ cp common.sample.pl common.pl

$ cat common.pl

{

'MongoDB::Connection' => {

host => 'localhost',

port => 27017,

database => 'test',

collection => 'test',

},

boostrap => {

web => ['-p' => 50004],

},

}

$ vi common.pl # MongoDB::Connectionの設定をよしなに設定する

$ cat common.pl

{

'MongoDB::Connection' => {

host => 'localhost',

port => 27018,

database => 'test2',

collection => 'test2',

},

boostrap => {

web => ['-p' => 50004],

},

}

$ ./boostrap

 

 

これでhttp://localhost:50004/にアクセスすれば見えるようになります。

 

作った時の話

 

MongoDB

 

ウッ、MongoDB.pm

 

 

# これはちゃんとログが取得できる

my @logs = $mongo->find({uid => 1});

# これだとログが取得できない!!!!1

my @logs = $mongo->find({uid => "1"});

 

 

というのがあって、ハゲるかと思いました。

なので頑張っています

 

DateTime

 

DateTime使った事がなかったんですが、MongoDB.pmでは必須だったので使ってます。

今では、ぼくもDateTimeにどっぷり!!!!!!1?(^o^)/

 

Kossy

 

元々は違うフレームワークで書いていたんですが、

エエイ!使いにくいわ!書き換えてやる!って事で昨日書き換えました。

 

Kossyは、 GrowthForecastやHRForecastに使われているフレームワークです。

簡単なアプリを作るのにすごい便利なのでオススメです。

 

そのKossyに書き換えた事で、導入もしやすくなりました。

 

まとめ

 

伊右衛門があるとCS対応が非常に捗るのでオススメ!!!!!!!!!!!!!!!!!

そんなわけで伊右衛門の紹介でした〜

 

https://github.com/hisaichi5518/iyemon

 

明日は @songmu さんです!楽しみ!!!11