更改Kibana5.x檢查Elasticsearch的license狀態

因爲本司多個Elasticsearch集羣使用一個kibana集羣,原本Elasticsearch集羣都是5.x,有一個日誌集羣須要升級到6.x,升級完以後kibana就不識別Elasticsearch6.x 的basic license(通過測試,kibana6.x不存在問題),這樣致使查看不了集羣狀態,可是又不能把kibana升級到6.x(其餘Elasticsearch5.x集羣是5.x),無奈只能修改kibana原來來達到目的.node

修改kibana x-pack源碼

  • 編輯文件

${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

> 固然咱們也能修改其餘地方,來達到意想不到的效果
相關文章
相關標籤/搜索