就目前的情况来看,这个问题并不适合我们的问答形式。我们希望答案能得到事实、参考资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或广泛讨论。如果您觉得这个问题可以改进,并可能重新打开,请访问帮助中心寻求指导。7年前关门了。我有一个移动服务,分布在7个服务器上,每个服务器都在执行特定的任务。我想从他们那里记录信息,然后从他们那里获得商业智能。我把它绕成了Flume。如何使用它来收集信息?我的系统是用php编写的。flume对php有用吗?
pengsaosao1#
这取决于您的需要和您的服务器环境。我可以告诉你的一件事是flume没有与php的直接集成。然而,还有其他方法可以解决这个问题。我运行的服务器托管在amazonec2上,运行rsyslog+flume的组合。在我的设置中,我从运行在linux服务器上的nginx的服务器收集web日志。nginx服务器将web请求日志作为syslog消息发送到rsyslog中;rsyslog向我的中央flume收集器发出tcp请求;flume收集器使用syslogtcp接收器侦听这些消息;flume收集器将消息转发到amazons3中。然后在稍后的某个时间点使用amazonemr分析日志文件。在您的情况下,还可以将php配置为写入syslog(http://php.net/manual/en/function.syslog.php); 因此,您可以进行类似的设置,并让syslog将日志转发到中心flume收集器节点。如果不想依赖syslog消息,还可以在服务器上运行flume客户机。flume客户端可以配置为使用flume的taildir sink跟踪本地日志文件,也可以使用flume的taildir sink跟踪指定目录中的所有日志文件,并将它们流式传输到flume收集器。flume的一个很好的优点是,您可以将它配置为以很高的概率传递消息,以便它到达重要消息的目的地,而其他消息可以以较低的传递要求进行发送。flume用户指南是获取更多详细信息的最佳场所:http://flume.apache.org/flumeuserguide.html另一个好去处是跳上freenode,加入“Flume频道”。
mlmc2os52#
flume代理可以安装在各种操作系统上,包括windows和linux。所以简而言之,如果您在这两个操作系统中的任何一个上托管,那么就没有理由不使用flume从多个框中聚合日志。
2条答案
按热度按时间pengsaosao1#
这取决于您的需要和您的服务器环境。我可以告诉你的一件事是flume没有与php的直接集成。然而,还有其他方法可以解决这个问题。
我运行的服务器托管在amazonec2上,运行rsyslog+flume的组合。在我的设置中,我从运行在linux服务器上的nginx的服务器收集web日志。nginx服务器将web请求日志作为syslog消息发送到rsyslog中;rsyslog向我的中央flume收集器发出tcp请求;flume收集器使用syslogtcp接收器侦听这些消息;flume收集器将消息转发到amazons3中。然后在稍后的某个时间点使用amazonemr分析日志文件。
在您的情况下,还可以将php配置为写入syslog(http://php.net/manual/en/function.syslog.php); 因此,您可以进行类似的设置,并让syslog将日志转发到中心flume收集器节点。
如果不想依赖syslog消息,还可以在服务器上运行flume客户机。flume客户端可以配置为使用flume的taildir sink跟踪本地日志文件,也可以使用flume的taildir sink跟踪指定目录中的所有日志文件,并将它们流式传输到flume收集器。
flume的一个很好的优点是,您可以将它配置为以很高的概率传递消息,以便它到达重要消息的目的地,而其他消息可以以较低的传递要求进行发送。
flume用户指南是获取更多详细信息的最佳场所:http://flume.apache.org/flumeuserguide.html
另一个好去处是跳上freenode,加入“Flume频道”。
mlmc2os52#
flume代理可以安装在各种操作系统上,包括windows和linux。
所以简而言之,如果您在这两个操作系统中的任何一个上托管,那么就没有理由不使用flume从多个框中聚合日志。