从多个服务器发送日志作为集中式日志服务器的好方法是什么?

时间:2015-02-10 12:34:17

标签: elasticsearch logstash syslog kibana rsyslog

我正在尝试从托管在多个ec2实例上的php应用程序发送日志,大量日志。

不是采用标准方法在每台服务器上安装logstash并使用logstash-forwarder将日志发送到日志记录服务器,logstash解析日志并将其提供给elasticsearch,这是一种更好的方法来编写apache / nginx记录到syslog并让rsylog将它发送到logstash然后将其提供给elasticsearch?

长问题简短 - 什么是更好的方法?

  1. Apache/Nginx -> logstash-forwarder -> logstash -> redis (optional) -> elasticsearch

    或者

  2. Apache/Nginx -> syslog -> rsyslog -> logstash -> redis (optional) -> elastic search

2 个答案:

答案 0 :(得分:2)

我更喜欢选项一。它的移动部件较少,可以通过您可以从Elasticsearch购买的支持合同进行覆盖,并且运行良好。我现在已经配置了超过500台这样的服务器,计划今年有数千台。

如果elasticsearch正忙,

logstash会进行限制。如果logstash忙,logstash-forwarder将会限制。有了这个,就不需要经纪人了。

请注意,如果您使用的输入没有限制(例如tcp,snmptrap,netflow等),则需要代理。

答案 1 :(得分:0)

据我说:

  • 第一种方法,更简单,适用于小型红外线,可扩展性较低。
  • 第二种方法,更复杂但更有效和可扩展,适用于大型基础设施(在我的使用中:大约500台服务器)。