2016-05-20 7 views
0

Python(asyncio)で書かれたクラスタ化されたアプリケーションのロギングの構成に関する助言が必要です。アプリケーションは、ロギングモジュールとストアログローカルファイルを使用します。クラスタアプリケーションのasyncioログ

3つのサーバーが不快なログを参照してください。 私はrsyslogを使いたいですが、アプリケーションをブロックする恐れがあります。 aioredis(プッシュ・ツー・チャネル)と別のアプリケーションを使用してデータを1つのファイルに収集するもう1つの方法。

答えて

1

簡単な解決策はローカルで、(あなたのアプリケーションをブロックしません通常/dev/log、)のsyslogにログインするためにloggingを求めることである(ので、あなたのアプリケーションは、あなたのロギングシステムにバインドされていない:それはまだポータブル)、その後、rsyslogをしましょう(私はsyslogngを個人的に好む)それらをメインログサーバーに送信します。

logstashのようなツールを使用して、ログをelasticsearchサーバー/クラスタにプッシュすると、簡単にブラウズしグラフ化できます。この場合、ログラインがjsonオブジェクトの場合、elasticsearch側(通常はkibana経由)で、あなたのjsonドキュメントのフィールドに対してクエリ、フィルタリング、および集計ができるため、大きな成功です。通常、グラフ情報と警告、ファイルごとのエラーの頻度、ユーザーあたりの頻度などは...