我们在Solaris 10服务器上有生成文本日志文件的应用程序。我们需要将这些日志文件实时传输到中央服务器,以监控新事件。
理想情况下,我们应该有一个NFS挂载,我们的所有系统都会将它们的日志写入其中,监控服务器可以直接从那里拉出它们。不幸的是,出于技术和非技术方面的原因,这在这里不是一个选择。
目前,我们使用后台tail -f通过SSH隧道传输数据。
然而,我们正在研究是否值得把一些更健壮的东西放在一起。
我在考虑用Twistedb写一个简单的Python客户机/服务器(或者类似的东西--推荐?)以流式传输日志数据。这是很容易实现的吗?有没有什么现成的库/工具可以让我从中寻找灵感?有什么我应该注意的问题吗?
另外,这是Solaris10,所以我不熟悉文件系统监视器的状态。我知道Gamin可以通过OpenCSW获得。然而,有没有其他选择呢?
发布于 2011-09-27 10:35:27
查看Python的日志记录模块。http://docs.python.org/library/logging.html
它包含记录到文件、流、系统日志、网络服务器等的功能。这本食谱包含示例或网络日志。http://docs.python.org/howto/logging-cookbook.html#logging-cookbook
该模块也很容易扩展。
发布于 2011-09-27 14:21:10
一定要考虑zeromq,而不是原始套接字。它没有message broker服务器,它是一个可以让你编写消息传递系统的库。它支持通过TCP、IPC (是的,进程间!)、多播和其他协议轻松地进行跨平台和语言无关的通信。只需将python组件替换为C组件,它就会像以前一样工作。
这是一款完美的软件,可以满足您的"..excuse to learn..“;-)
但是最重要的是在您的Solaris设置中构建它。Python绑定位于http://pypi.python.org/pypi/pyzmq/2.1.9
https://stackoverflow.com/questions/7563560
复制相似问题