監視の目的で、ログファイルの最後のN行をDjangoWebサイトインターフェイスにストリーミングしたいと思います。tail -f filename
コマンドの結果を表示するようなものです。
基本的には、httpインターフェイスからプロセスをログテール化するsupervisordと同じことをしたいと思います。
それを行う方法について何かアイデアはありますか?
監視の目的で、ログファイルの最後のN行をDjangoWebサイトインターフェイスにストリーミングしたいと思います。tail -f filename
コマンドの結果を表示するようなものです。
基本的には、httpインターフェイスからプロセスをログテール化するsupervisordと同じことをしたいと思います。
それを行う方法について何かアイデアはありますか?
OPからの要求に応じて、 Webtailを使用した例を次に示します。
$ webtail \
--port=8000 \
--files=/var/log/nginx/error.log,/var/log/nginx/access.log \
--logging=warn
コメントから理解できるように、OPにはWebSocketをサポートするソリューションが必要です。Webtailsはそうします。webtail.pyファイルを見ると:
routes = [(r'/', MainHandler), (r'/tail/', TailHandler),
(r'/signin/', SigninHandler), (r'/signout/', SignoutHandler)]
ここTailHandler
で:
from tornado.websocket import WebSocketHandler
....
class TailHandler(WebSocketHandler):
私はこれをたくさんのログを監視するために使用しています、そしてそれは魅力のように機能します:)
管理パネルで必要な場合は、ここでdjango_logtailをチェックできます。
これに加えて、興味があればここに質問があります...