Help us understand the problem. What is going on with this article?

Papertrailを使って、ログを気軽にオンラインで閲覧可能にしてみる

More than 5 years have passed since last update.

PapertrailはLinuxサーバやWebアプリケーション等の様々なログをオンラインで集約し、閲覧・検索することができるサービスです。rsyslogやsyslog-ng等のsyslogデーモンに数行追記するだけで導入できるほか、Heroku等のPaaSからもプラグインとして利用することが出来ます。

同様のサービスには、LogglyLogentriesがあります。また、オープンソースだと、logstashや、全て構造化してFluentd+Hive等で処理する、という方法もありそうです。

また、集約されたログをS3上に自動的に保管する機能も利用することが出来ます。S3上のデータはHiveのWHERE文で直接扱えるフォルダ形式になっており、別途Amazon EMRでクエリすることもできます。

導入

Papertrailにユーザ登録すると、管理画面からlogs.papertrailapp.com:PORT_NUMBERのようなログの送信先を取得することが出来ます。

実際に、rsyslogに導入するにはrsyslog.confに以下のように追記します。

*.* @logs.papertrailapp.com:PORT_NUMBER

rsyslogなので、例えば、

*.warn @logs.papertrailapp.com:PORT_NUMBER

などと指定することで、例えば、WARNING以上のログのみを転送し容量を節約するような運用も可能です。

また、上記設定の場合は、UDPで送信されますが、TLSで暗号化して送信することもできます。

これで、Papertrailのサイトからサーバログをリアルタイムに閲覧することができるようになります。

アラートの作成

Papertrailは、検索条件をあらかじめ指定しておくことで、それにマッチしたログがあった場合に、通知することが出来ます。通知先には、メールやHipChatなどを選ぶことが出来ます。

例えば、特定のキーワードがログに出てきた場合や、severity:(err crit alert emerg)などのように指定し、err以上のログレベルの通知があった場合などに自動的にメールやHipChatに通知する、というような運用が可能です。

さいごに

Papertrailはログのサイズが月100MBまでは無料で使うことができます。ログのボリュームが多いようであれば、例えば、上記のように、WARN以上のログを通知するだけでも十分に有用に使用できそうです。

ikuyamada
Co-founder, CTO, Studio Ousia http://www.ousia.jp/
http://www.ikuya.net
ousia
”賢い”コンピュータを実現するための自然言語処理や質問応答に関する研究及び製品開発を行っています。
http://ousia.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away