为Elasticsearch设置单独的监视群集

时间:2016-07-04 20:57:00

标签: elasticsearch elasticsearch-marvel

我正在尝试设置一个单独的群集(kibanacluster)来监控我的主要弹性搜索群集(marveltest)。以下是我使用的ES,Marvel和Kibana版本。 ES版本目前已修复。如果需要,我可以更新或降级其他组件。

  • kibana-4.4.1
  • elasticsearch-2.2.1
  • 奇迹剂-2.2.1

监控集群和Kibana都在主机192.168.2.124中运行,主集群在单独的主机192.168.2.116中运行。

192.168.2.116:elasticsearch.yml

marvel.agent.exporter.es.hosts: ["192.168.2.124"]
marvel.enabled: true
marvel.agent.exporters:

id1:
    type: http
    host: ["http://192.168.2.124:9200"]

查看监控集群中的DEBUG日志,我可以看到数据来自主集群,但正在过滤"过滤"因为群集名称不同。

  

[2016-07-04 16:33:25,144] [DEBUG] [transport.netty] [nodek]已连接   到节点[{#zen_unicast_2#} {192.168.2.124} {192.168.2.124:9300}]

     

[2016-07-04 16:33:25,144] [DEBUG] [transport.netty] [nodek]已连接   到节点[{#zen_unicast_1#} {192.168.2.116} {192.168.2.116:9300}]

     

[2016-07-04 16:33:25,183] [DEBUG] [discovery.zen.ping.unicast] [nodek]   [1]过滤掉来自的回复   {节点1} {Rmgg0Mw1TSmIpytqfnFgFQ} {192.168.2.116} {192.168.2.116:9300},   不一样的是cluster_name [marveltest]

     

[2016-07-04 16:33:26,533] [DEBUG] [discovery.zen.ping.unicast] [nodek] [1]过滤出来自   {节点1} {Rmgg0Mw1TSmIpytqfnFgFQ} {192.168.2.116} {192.168.2.116:9300},   不一样的是cluster_name [marveltest]

     

[2016-07-04 16:33:28,039] [DEBUG] [discovery.zen.ping.unicast] [nodek] [1]过滤出来自   {节点1} {Rmgg0Mw1TSmIpytqfnFgFQ} {192.168.2.116} {192.168.2.116:9300},   不一样的是cluster_name [marveltest]

     

[2016-07-04 16:33:28,040] [DEBUG] [transport.netty] [nodek]断开连接   [{#zen_unicast_2#} {192.168.2.124} {192.168.2.124:9300}]由于明确   断开呼叫   [2016-07-04 16:33:28,040] [调查] [discovery.zen]   [nodek]过滤ping响应:(filter_client [true],   filter_data [FALSE])    - > ping_response {node [{nodek} {vQ-Iq8dKSz26AJUX77Ncfw} {192.168.2.124} {192.168.2.124:9300}],   id [42],主人   [{nodek} {VQ-Iq8dKSz26AJUX77Ncfw} {192.168.2.124} {192.168.2.124:9300}],   hasJoinedOnce [true],cluster_name [kibanacluster]}

     

[2016-07-04 16:33:28,053] [DEBUG] [transport.netty] [nodek]断开连接   [{#zen_unicast_1#} {192.168.2.116} {192.168.2.116:9300}]由于明确   断开连接[2016-07-04 16:33:28,057] [DEBUG] [transport.netty]   [nodek]连接到节点   [{nodek} {VQ-Iq8dKSz26AJUX77Ncfw} {192.168.2.124} {192.168.2.124:9300}]

     

[2016-07-04 16:33:28,117] [DEBUG] [discovery.zen.publish] [nodek]   收到大小为5589的完整群集状态版本32

1 个答案:

答案 0 :(得分:0)

问题是你正在混合使用Marvel 1.x settingsMarvel 2.2 settings,但你的其他配置似乎也没有像Andrei在评论中指出的那样。

marvel.agent.exporter.es.hosts: ["192.168.2.124"]

这不是Marvel 2.x已知的设置。根据你的复制/粘贴,YAML也可能由于空白而格式不正确:

marvel.agent.exporters:

id1:
    type: http
    host: ["http://192.168.2.124:9200"]

这应该是:

marvel.agent.exporters:
  id1:
    type: http
    host: ["http://192.168.2.124:9200"]

正如Andrei所暗示的那样,您可能已将生产节点添加到discovery.zen.ping.unicast.hosts,后者尝试将其与群集连接。我怀疑您可以在监控群集中完全删除该设置。

[2016-07-04 16:33:26,533][DEBUG][discovery.zen.ping.unicast] [nodek] [1] filtering out response from {node1}{Rmgg0Mw1TSmIpytqfnFgFQ}{192.168.2.116}{192.168.2.116:9300}, not same cluster_name [marveltest]

这表示它忽略了它正在连接的节点,因为其他节点(node1)不在同一个集群中。

要设置单独监控群集,它非常简单,但需要先了解移动部件。

  1. 您需要一个单独的群集,其中至少一个节点(大多数人通过一个节点)。
    • 这个单独的集群实际上不了解它监控的集群。它只接收数据。
  2. 您需要将生产群集中的数据发送到该单独的群集。
  3. 监控集群使用Kibana + Marvel UI插件解释数据以显示图表。
  4. 那么,你需要什么:

    • 您的生产群集需要在每个节点上安装marvel-agent
    • 每个节点都需要配置导出器:

    这和以前一样:

    marvel.agent.exporters:
      id1:
        type: http
        host: ["http://192.168.2.124:9200"]
    
    • Kibana应该与监控集群(本例中为192.168.2.124)进行通信,而Kibana需要相同版本的Marvel UI插件。