Python客户端/服务器实时流式传输日志文件?

时间:2011-09-27 02:22:20

标签: python streaming twisted logfiles solaris-10

我们在Solaris 10服务器上有应用程序生成文本日志文件。我们需要将这些日志文件实时传输到中央服务器以监控新事件。

理想情况下,我们有一个NFS挂载,我们所有的系统都会将其日志写入其中,监控服务器可以从那里将它们拉出来。不幸的是,由于技术和非技术原因,这里不是一个选择。

目前,我们正在使用背景尾部-f通过SSH隧道传输数据。

然而,我们正在研究是否值得将更强大的东西放在一起。

我在考虑使用Twistedb(或类似的东西 - 推荐?)编写一个简单的Python客户端/服务器来流式传输日志数据。这是否容易实现?我可以寻找任何现有的图书馆/工具吗?我应该注意哪些问题?

此外,这是Solaris 10,所以我不熟悉文件系统监视器的状态。我知道Gamin可以通过OpenCSW获得。但是,还有其他选择吗?

2 个答案:

答案 0 :(得分:0)

查看Python的日志记录模块。 http://docs.python.org/library/logging.html

它包含登录文件,流,syslog,联网服务器等的功能。该食谱包含示例或通过网络登录。 http://docs.python.org/howto/logging-cookbook.html#logging-cookbook

该模块也很容易扩展。

答案 1 :(得分:0)

请考虑 zeromq ,而不是原始套接字。它没有消息代理服务器,它是一个让你你的消息传递系统的库。它可以通过TCP,IPC(是的,进程间!),多播和其他协议轻松实现跨平台和语言无关的通信。只需将python组件与C组件交换,它就像以前一样工作。

它是完美的软件,可满足您的“...学习......”; - )

但show-stopper将在Solaris设置中构建它。 Python绑定位于http://pypi.python.org/pypi/pyzmq/2.1.9