因爲本司多個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
> 固然咱們也能修改其餘地方,來達到意想不到的效果