2015-02-10 74 views
1

我想從多個ec2實例上託管的php應用程序發送日誌,大量日誌。將多臺服務器的日誌發送到集中式日誌記錄服務器的方法是什麼?

而不是使用logstash安裝在每臺服務器上的標準方法,並使用logstash-forwarder通過logstash解析日誌並將其提供給elasticsearch來將日誌發送到日誌記錄服務器,這是否更好? apache/nginx登錄到syslog並讓rsylog將它發送到logstash然後將其提供給elasticsearch?

長問題短 - 什麼是更好的方法?

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

    OR

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

+0

我認爲你應該在serverfault上提出這個問題 - 當涉及到大規模的日誌記錄時,那裏的人平均有更多的知識。 – 2015-02-10 12:39:02

回答

2

我更喜歡選項一。它的移動部件更少,都可以通過支持合同來承擔,您可以從Elasticsearch購買支持合同,並且運行良好。現在我已經配置了500多臺服務器,今年還有數千臺服務器正在計劃中。

如果彈性搜索繁忙,logstash將會加速。如果logstash繁忙,logstash-forwarder會進行調節。有了這個,就不需要經紀人了。

請注意,如果您使用了不節流的輸入(例如tcp,snmptrap,netflow等),則需要代理。

0

據我:

  • 第一種方法,更簡單的作品真的很好對於一個小的基礎,可擴展性較差。
  • 第二種方法,更復雜但更高效和可擴展,適用於大型基礎設施(用於我的大約500臺服務器)。
相關問題