我正在证明安装ELK的概念来管理来自不同应用程序的所有日志 . 我所拥有的是Elasticsearch(9200 9201),Kibana(5601 5602)和Logstash(5044 5045)的两个实例,一个nginx充当反向代理,两个不同的机器运行不同的应用程序并通过Filebeat将其日志发送到Logstash .
我想为用户设置权限,因此一些用户可以从机器A访问日志,而其他一些用户可以访问机器B中的日志,但是当我在两台机器中启动Filebeat时,每个用户都应该发送自己的日志到logstash中的不同端口,因为它是这样配置的,但是当我访问kibana(两个端口)时,我得到的是来自两台机器的所有日志 .
是否可以在不同的安装实例中拆分日志?
提前致谢 .
2 回答
在同一主机上运行两个Elasticsearch实例时,除非您对配置进行更改以防止此行为,否则它们将自动形成群集 .
您可以通过运行以下命令列出群集中的节点 . 如果列出了多个节点,那么您的两个节点已形成一个集群 .
curl -XGET 'localhost:9200/_cat/nodes?v&pretty'
您需要在每个节点的配置中设置唯一的cluster.name值 . 默认值为
elasticsearch
. 当两个节点发现彼此并且它们的cluster.name
相同时它们形成一个集群 .更改两个群集名称并为它们指定不同的名称是正确的,此外,为了使两个节点保持独立,必须编辑filebeat模板,因为默认情况下它指向elasticsearch:9200 .