2017-06-26 130 views
0

我没有用filebeat配置Elastic Stack(Logstash +弹性搜索+ Kibana)。所以我的问题是我有多个服务器,我部署了我的应用程序实例(微服务应用程序)。我想从所有服务器捕获日志,但为此我必须在每台服务器上安装filebeat。这是正确的理解吗?或者我们可以配置像单个filebeat实例那样能够从所有服务器获取日志的东西(服务器可以是相同的网络),并通过TCP或任何协议发送日志?Filebeat - 多服务器实例配置

回答

0

是的,你将不得不在你想要废弃日志的所有服务器上部署filebeat。

0

另一种选择是将logstash配置为在TCP端口上侦听,然后将应用程序配置为登录到套接字而不是文件。

input { 
    tcp { 
    port => 8192 
    codec => json 
    tags => [ "micrologs" ] 
    } 
} 

这就建立了对端口Logstash框中听众8192日志到货的时间,每次用的连接,以JSON格式。

input { 
    tcp { 
    port => 8192 
    codec => json_lines 
    tags => [ "micrologs" ] 
    } 
} 

这不相同,除了连接是持久的,并且json_lines编解码器是用来打破基于JSON的传入连接线日志事件。

这里您不必使用json,如果您需要它可以是纯文本。我使用JSON作为结构化日志的例子。