LoginSignup
36
24

More than 5 years have passed since last update.

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

Posted at

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以上のログを通知するだけでも十分に有用に使用できそうです。

36
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
24