因为本司多个Elasticsearch集群使用一个kibana集群,原本Elasticsearch集群都是5.x,有一个日志集群须要升级到6.x,升级完以后kibana就不识别Elasticsearch6.x 的basic license(通过测试,kibana6.x不存在问题),这样致使查看不了集群状态,可是又不能把kibana升级到6.x(其余Elasticsearch5.x集群是5.x),无奈只能修改kibana原来来达到目的.node
${kibana_home}/plugins/x-pack/plugins/monitoring/server/lib/cluster/get_clusters_from_request.js
normalizeClustersData 该方法是kibana获取Elasticsearch集群数据的最后调整的函数,在这里,咱们能够调整本身想要的数据,不单单是license
export function normalizeClustersData(clusters) { clusters.forEach(cluster => { cluster.elasticsearch = { cluster_stats: cluster.cluster_stats, nodes: cluster.nodes, indices: cluster.indices }; cluster.status = calculateOverallStatus([ cluster.elasticsearch.status, cluster.kibana && cluster.kibana.status || null ]); //我手动添加的内容 cluster.isSupported = true;//突破basic license只能同时在kibana看一个Elasticsearch的限制 //我手动添加的内容,修改全部Elasticsearch集群的license内容,使之都有效 cluster.license={ "status": "active", "uid": "dfee2a04-bc89-4f84-bcde-39ce31e3ec5d", "type": "basic", "issue_date": "2019-02-21T04:38:03.373Z", "issue_date_in_millis": 1550723883373, "expiry_date": "2029-03-23T04:38:03.373Z", "expiry_date_in_millis": 1553315883373, "max_nodes": 1000, "issued_to": "elasticsearch", "issuer": "elasticsearch", "start_date_in_millis": -1, "hkey": "133893e5d3ae10145b0bc9d6600db8bd6ca4a8fe91fd1eac3" }; delete cluster.cluster_stats; delete cluster.nodes; delete cluster.indices; }); return clusters;
}elasticsearch
> 固然咱们也能修改其余地方,来达到意想不到的效果