出于监控目的,我想将日志文件的最后N行流式传输到Django网站界面。
就像显示tail -f filename
命令的结果一样。
基本上我想和supervisord一样,它可以从http接口中对进程进行logtail。
关于如何做到这一点的任何想法?
答案 0 :(得分:3)
根据OP的要求,以下是使用webtail:
的示例$ webtail \
--port=8000 \
--files=/var/log/nginx/error.log,/var/log/nginx/access.log \
--logging=warn
据我所知,OP需要一个支持websockets的解决方案。 Webtails确实如此。如果你查看webtail.py文件:
routes = [(r'/', MainHandler), (r'/tail/', TailHandler),
(r'/signin/', SigninHandler), (r'/signout/', SignoutHandler)]
其中TailHandler
是:
from tornado.websocket import WebSocketHandler
....
class TailHandler(WebSocketHandler):
我正在使用它来监控大量日志,它就像一个魅力:)
答案 1 :(得分:2)