6

出于监控目的,我想将日志文件的最后 N 行流式传输到 Django 网站界面。就像显示tail -f filename命令的结果一样。

基本上我想做与 supervisord 相同的事情,它允许从其 http 接口登录进程。

关于如何做到这一点的任何想法?

4

2 回答 2

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):

我用它来监控大量日志,它就像一个魅力:)

于 2013-01-14T10:22:58.400 回答
2

如果你需要在管理面板中,你可以在这里查看 django_logtail 。

除此之外,如果您有兴趣,这里还有一个问题...

于 2012-07-06T08:08:41.810 回答