kibana连接elasticsearch集群做负载均衡
问题背景:
在ELK架构中,kibana一般配置连接elasticsearch的时候,配置文件中的写法一般如下:
……
# The URL of the Elasticsearch instance to use for all your queries. elasticsearch.url: "http://192.168.1.1:9200"
……
那么假如我的elasticsearch是一个集群模式,有多个elasticsearch节点(以下简称es),kibana想连多台es节点,那怎么处理呢?
到目前为止(官方目前最新版本是6.4),官方的意思是:暂不支持连接多个es节点,也就是上面的配置文件中,只能填写一个地址。
补充修正:
目前最新版本7.x已经支持使用列表填写多个es主机,官方说明如下:
链接:https://www.elastic.co/guide/en/kibana/current/settings.html
解决办法(针对老版本):
虽然格式上不支持的填写多个es节点地址,但是官方也给出了另外一种方案:搭建一个只用来“协调”的es节点,让这个节点加入到es集群中,然后kibana连接这个“协调”节点,这个“协调”节点,不参加主节点选举,也不存储数据,只是用来处理传入的HTTP请求,并将操作重定向到集群中的其他es节点,然后收集并返回结果。这个“协调”节点本质上也起了一个负载均衡的作用。
详见官方文档:
https://www.elastic.co/guide/en/kibana/6.4/production.html#load-balancing