这是我想要实现的:我有几个Linux服务器,我的Web应用程序部署。 目前我的开发团队访问Web应用程序,运行他们的testing用例,然后SSH到我的Linux机器中查看或获取日志。 我不喜欢他们能够SSH / FTP到任何服务器,我正在寻找一个解决scheme,通过HTTP和HTTP(没有Linux解决scheme,如监狱等)获取日志。
由于服务器已经非常慢,不能处理更多的负载,所以我决定使用Python的SimpleHTTPServer。 对于每个有日志的目录他们都需要,我基本上创build了一个index.html文件,只有一个下载链接到该日志文件,然后我在该目录中启动一个SimpleHTTPServer。 我需要在每个盒子上启动3个SimpleHTTPServers,因为他们需要3个日志。
这工作正常,除了现在和然后http:// serverurl:端口url用于访问日志有时得到700MB左右停止响应(在谷歌铬说:没有数据收到,在IE和FF它只是显示一个空白页)。 此时,该端口上的SimpleHTTPServer仍然运行,并在运行的进程中显示。
到目前为止,我一直在解决这个问题时,通过杀死,然后启动该端口上的SimpleHTTPServer,但我正在寻找一个永久的解决scheme。 奇怪的是,只有一个日志发生,我厌倦了交换端口号,因为我认为也许有冲突或什么。
任何人都可以提出一个使用HTTP的解决scheme,就像SimpleHTTPServer一样轻巧,不需要太多的维护。
* NIX系统已经包含一个守护进程,它非常擅长收集日志/消息并将它们发送到集中式主机( [syslogd][1] )。
您可以通过configurationsyslogd将某些设施发送到日志主机,以及修改testing脚本以login到该设施,或者只是将其输出pipe道输出到[logger][2]程序来利用。
然后,您可以在日志主机上运行您select的Web服务器(或进行任何其他需要的分析),而不会在服务器上造成不必要的负担,或者必须打开潜在的安全漏洞以使日志可用。
这不是“使用HTTP的解决scheme”(至less不是直接),但是比在每个盒子上运行Web服务器可能更好。
我认为nginx可以做到这一点。 这是一个高效的Web服务器,可用于服务静态内容。
我认为如果你可以把日志文件分成几个小文件,可能会更好。 这将节省您的带宽,并有助于降低由下载造成的服务器负载。