如 https://www.elastic.co/guide/en/elastic-stack-overview/6.4/monitoring-production.html 所述,将被监控 ES 集群(Monitored ES)的监控数据存储到另一个远程 ES 集群(Monitoring ES)上,在这个前提下,进行如下相应配置。
Monitored ES 集群配置
被监控的 ES 集群配置。
- ES 集群每个节点的配置文件修改
sudo vim /etc/elasticsearch/elasticsearch.yml
,添加如下配置
xpack.monitoring.collection.enabled: true
xpack.security.enabled: false
xpack.monitoring.exporters:
test-remote:
type: http
host: ["http://x.x.x.x:9200","http://y.y.y.y:9200"] // 这里 ip 地址要用内网 IP,因为 monitored es 中有些节点可能不能访问外网
ES 集群的版本只要高于6.3,默认安装 x-pack,且开启 security,license 也是basic 版本。所以我们无需更改 license,也无需安装 x-pack,但是需要禁用 recurity(xpack.security.enabled: false),并开启监控数据的收集(xpack.monitoring.collection.enabled: true);另外,需要将收集到的监控数据发送到另一个 es 集群(test-remote)。
- 重启 ES 节点
sudo -i service elasticsearch restart
,此时观察 ES 集群的状态(
GET _cluster/health
),等变为 green 再配置并重启下一个节点
Monitoring ES 集群配置
即存储 Monitored ES 集群监控数据的 ES 集群的配置。
版本最好与 Monitored ES 集群版本一致。(curl -XGET 'http://x.x.x.x:9200'
)
xpack.monitoring.enabled: false
xpack.security.enabled: false
因 basic license 下,只能同时存储一个 Monitored ES 的集群监控信息,所以想要监控指定的 ES 集群,就不能让 Monitoring ES 开启自身的 monitor(默认开启),要设置 xpack.monitoring.enabled 为 false;另外 Monitoring ES 也把 security 关闭,如果需要,再开启,目前不需要。
Kibana
- 安装 Kibana
Kibana 的版本也要与 ES 一致。
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.4.3-x86_64.rpm
sudo rpm --install kibana-6.4.3-x86_64.rpm
安装 x-pack (较高版本的 kibana,如 6.4 已包含 x-pack,无需安装)
- 配置 kibana
server.host: x.x.x.x // kibana 所在节点的 IP
elasticsearch.url: "http://x.x.x.x:9200" // Monitoring ES 集群某一节点的 IP 即可
尽量用内网 IP。