Edited at
BluemixDay 17

Bluemixでログ管理サービスPapertrailを使ってみよう

More than 3 years have passed since last update.

このエントリは、Bluemix Advent Calendar 2015の17日目のエントリーです。

ここでは、Bluemixを例に挙げていますが、Cloud FoundryベースのPaaS (Cloudn, Pivotal Web Service, Pivotal Cloud Foundry, Cloud Foundryなど)であれば、同じように利用できると思います。


みなさんはBluemixで展開したアプリのログを見たいときどうしてますか?一般的には下記の2つの方法があると思います。


Bluemix UIからログを確認する方法


cf logsでコマンドラインからログを確認する方法


ログの設定

$ cf logs kimiphp1217 

$ cf logs kimiphp1217 --recent

ここからgrepかけてログを解析してもいいのですが、アプリの再起動時にログが消えてしまいます。そこで、サードパーティのログ管理サービスに出力する方法をとりたいと思います。ログ管理サービスは色々ありますが、Herokuで利用されている方も多い「papertrail」というとってもイケてるログ管理サービスを使用したいと思います。


Papertrailでログ管理


ログの転送



  • https://papertrailapp.com でメールアドレスを登録します

  • Dashboardで、Add Systemsをクリックし、Sender requires port 514をクリックします。

  • I use Heroku or Cloud Foundryを選択して、"What should we call it?"で、任意の名前を登録します。(例: kimibluemix)

  • cfコマンドで、生成されたURLにログを転送する設定を行い、アプリを再ステージします。

cf cups papertrail-syslog -l syslog://logs3.papertrailapp.com:(port番号)

cf bs kimiphp1217 papertrail-syslog
cf restage kimiphp1217

これで、Papertrailのダッシュボードから登録した名前(例: kimibluemix)をクリックすると、ログが収集されているのがわかると思います。うーん、検索機能が使いやすいですね〜!! (下記スクリーンショットはサンプルのものです。):smile:


Slackにアラートを飛ばす

Papertrailは検索機能がとてもいけてるだけでなく、AlertをメールやSlackにも飛ばすことができます。試しにSlackに飛ばしてみたいと思います。


  • 検索キーワードをいれて、Save Searchでその検索を保存し、Save & Setup an Aleartをクリックします。

  • Slackを選択し、new Papertrail integrationをクリックします。

  • Channelを選択し、ピンク色で生成されたURLをコピーしておきます。

  • PapertrailのDashboardに戻り、保存した検索の右の編集アイコンをクリックし、FrequencyやSend messages with timestamps inを設定し、最後にIntegration's Webhook URLに先ほどコピーしたURLを設定します。

  • Send Test Dataをクリックして正しくメッセージが届けば設定は終わりです。

いい感じに、お好みの検索キーワードでログをSlackに飛ばすことができました。:smile:

他にも、S3にログをアーカイブしたり、Hadoopなどでログを解析させたりできるようです。時間があれば、Xplrentyなどを試してみたいです。


ご意見等あれば、Facebook | Twitter までお願いします。