0

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

  • kibana-4.4.1
  • 弹性搜索-2.2.1
  • 奇迹代理 2.2.1

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

192.168.2.116:弹性搜索.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] 过滤掉来自 {node1}{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] 过滤掉来自 {node1}{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] 过滤掉来自 {node1}{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][DEBUG][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],master [{nodek}{vQ-Iq8dKSz26AJUX77Ncfw}{192.168.2.124}{192.168.2.124:9300}],已加入[集群名称[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] 收到完整的集群状态版本 32,大小为 5589

4

1 回答 1

0

问题是您将Marvel 1.x 设置Marvel 2.2 设置混合使用,但正如 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 插件显示图表。

所以,你需要什么:

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

这和你之前的一样:

marvel.agent.exporters:
  id1:
    type: http
    host: ["http://192.168.2.124:9200"]
  • Kibana 应该与监控集群通信(192.168.2.124在本例中),并且 Kibana 需要相同版本的 Marvel UI 插件。
于 2016-07-12T17:25:13.523 回答