我最近一直在使用ELK(Elasticsearch,Logstash,Kibana),我必须承认,当我试图将它们应用于现实世界的场景时,有些概念并没有完全与我联系起来。让我用一个例子来解释我的用例和一直困扰我的问题。
假设我们想要使用ELK执行日志分析,从多个服务器收集日志。例如,我们使用Logstash从IP地址为IP 1、IP 2、IP 3和IP 4的服务器收集日志(每个服务器上每天平均积累10 GB的日志数据)。我想在Elasticsearch中索引这些日志。我决定将来自IP 1和IP 2服务器的日志分组到INDEX 1中,将来自IP 3和IP 4服务器的日志分组到INDEX 2中,因为这些IP范围对应于不同应用程序的日志。假设Elasticsearch和Kibana安装在IP地址为IP 5的服务器上。
在这样的设置中,当涉及到在我们的Elasticsearch集群中配置节点时,我很难完全掌握一些抽象的方面。我不太确定如何构建我的节点设置。以下是我正在考虑的两种可能的配置:
cluster.name: my-cluster
node.name: master-node-1
node.master: true
node.data: false
network.host: IP5
discovery.seed_hosts: ["IP5"]
cluster.initial_master_nodes: ["master-node-1", "master-node-2", "master-node-3"]
cluster.name: my-cluster
node.name: data-node-1
node.master: false
node.data: true
network.host: IP5
discovery.seed_hosts: ["IP5"]
或者这个结构对我的案子有好处
cluster.name: my-cluster
node.name: master-node-1
network.host:IP5
discovery.seed_hosts: ["IP5", "IP1", "IP2", "IP3", "IP4"]
cluster.initial_master_nodes: ["my-node-1"]
我想知道这个结构是否有意义,或者是否有更好的方法来设置节点。如果您有任何建议,或者我误解了某些方面,我将非常感谢您的见解。此外,如果您能推荐一些文章或资源,用实时示例解释多服务器设置,我会发现这非常有帮助。
谢谢你,谢谢!
我尝试根据我的特定用例配置Elasticsearch节点。我考虑了两种节点配置:
1条答案
按热度按时间rur96b6h1#
发送日志的服务器不是Elasticsearch集群的一部分。因此,第一种情况可能更好。但是,根据您的保留期大小,分离主节点和数据节点可能不是必要的。
相反,创建一个包含所有角色的3节点集群,并在那里摄取数据。