Filebeat将日志发送到所有logstash实例

时间:2017-01-26 10:11:43

标签: nginx logstash elastic-stack filebeat

我正在对安装ELK的概念进行证明,以管理来自不同应用程序的所有日志。 我所拥有的是Elasticsearch(9200 9201),Kibana(5601 5602)和Logstash(5044 5045)的两个实例,一个nginx充当反向代理,两个不同的机器运行不同的应用程序并通过Filebeat将其日志发送到Logstash。

我想为用户设置权限,因此一些用户可以从机器A访问日志,而其他一些用户可以访问机器B中的日志,但是当我在两台机器中启动Filebeat时,每个用户都应该发送他们的将日志记录到logstash中的不同端口,因为它是这样配置的,但是当我访问kibana(两个端口)时,我获得的是来自两台机器的所有日志。

是否可以在安装的不同实例中拆分日志?

提前致谢。

2 个答案:

答案 0 :(得分:1)

当您在同一主机上运行两个Elasticsearch实例时,除非您对配置进行更改以防止此行为,否则它们将自动形成群集。

您可以通过运行以下命令列出群集中的节点。如果列出了多个节点,那么您的两个节点已形成一个集群。

curl -XGET 'localhost:9200/_cat/nodes?v&pretty'

您需要在每个节点的配置中设置唯一的cluster.name值。默认值为elasticsearch。当两个节点发现彼此并且它们的cluster.name相同时,它们形成一个集群。

答案 1 :(得分:-1)

更改两个群集名称并为它们指定不同的名称是正确的,此外,为了使两个节点保持独立,必须编辑filebeat模板,因为默认情况下它指向elasticsearch:9200。