更改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

> 固然咱们也能修改其余地方,来达到意想不到的效果
相关文章
相关标签/搜索