FileBeat将日志发送到所有日志存储示例

dxxyhpgq  于 2022-10-06  发布在  Nginx
关注(0)|答案(3)|浏览(233)

我正在做一个概念验证,安装ELK来管理来自不同应用程序的所有日志。我拥有的是两个Elasticearch示例(9200 9201)、Kibana(5601 5602)和Logstash(5044 5045),以及一个充当反向代理的nginx和两台运行不同应用程序并通过FileBeat将它们的日志发送到Logstash的不同机器。

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

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

先谢谢你。

ygya80vv

ygya80vv1#

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

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

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

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

y53ybaqx

y53ybaqx2#

在所有配置中,例如,对于文件节拍、logstash、ElasticSearch和kibana,对于不同的安装集,您需要保持不同的值。Filebeat1->Logstash1->Elasticearch 1->Kibana1 Filebeat2->Logstash2->Elasticearch2->Kibana2

如果您正确配置并保持不同的主机名和端口,则可以实现隔离,并且您将看到不同kibana上的拆分数据。

a14dhokn

a14dhokn3#

更改两个集群名称并赋予它们不同的名称是正确的,此外,为了保持两个节点的独立,有必要编辑文件节拍模板,因为默认情况下它指向ElasticSearch:9200。

相关问题