Skip to content

elk相关问题

1. vue连接es

js
"/elasticApi": {
  changeOrigin: true, //允许跨域
  target: dataWareConfig.elsearchUrl,
  ws: true,
  pathRewrite: {
    "^/elasticApi": "/"
  }
},

import axios from '@/router/axios_elk';

 // 接口 - 查询
 const getESApi = (indexes, params) => {
    let res = axios({
        url: `/${esApiUrl}/${indexes}/_search`,
        method: 'post',
        data: params
    });
    return res;
};

 // es api 操作 1111
 export const esOptionApi = (indexes, params, succ)=> {
     // console.log("es api 操作");

     getESApi(indexes, params).then(res=> {
         let hitsData = res.data;  // 获取目标数据集合

         if(hitsData.hits) {
             hitsData = hitsData.hits;

             succ(hitsData);
         } else {
             // 当没有返回异常状态码时,执行回调
             if(hitsData.hasOwnProperty("status") == false) succ(hitsData);
             else if(hitsData.status != 404) { // 当索引存在时,返回错误,需要提示
                Message.error("es数据获取异常");
             }
         }
     }).catch(err=> {
         if(err) {
             Message.error("es数据获取异常");
             console.log(err);
         }
     });
 }

 // 调用es接口
let params = {
  "query": {
    "constant_score": {
      "filter": {
        "term": {
          "__id.keyword": id
        }
      }
    }
  }
}

// 调用es接口删除数据
dataWareUtil.esOptionApi(delForecastoList, params, hisData=> {
  // todo(hisData);
})
"/elasticApi": {
  changeOrigin: true, //允许跨域
  target: dataWareConfig.elsearchUrl,
  ws: true,
  pathRewrite: {
    "^/elasticApi": "/"
  }
},

import axios from '@/router/axios_elk';

 // 接口 - 查询
 const getESApi = (indexes, params) => {
    let res = axios({
        url: `/${esApiUrl}/${indexes}/_search`,
        method: 'post',
        data: params
    });
    return res;
};

 // es api 操作 1111
 export const esOptionApi = (indexes, params, succ)=> {
     // console.log("es api 操作");

     getESApi(indexes, params).then(res=> {
         let hitsData = res.data;  // 获取目标数据集合

         if(hitsData.hits) {
             hitsData = hitsData.hits;

             succ(hitsData);
         } else {
             // 当没有返回异常状态码时,执行回调
             if(hitsData.hasOwnProperty("status") == false) succ(hitsData);
             else if(hitsData.status != 404) { // 当索引存在时,返回错误,需要提示
                Message.error("es数据获取异常");
             }
         }
     }).catch(err=> {
         if(err) {
             Message.error("es数据获取异常");
             console.log(err);
         }
     });
 }

 // 调用es接口
let params = {
  "query": {
    "constant_score": {
      "filter": {
        "term": {
          "__id.keyword": id
        }
      }
    }
  }
}

// 调用es接口删除数据
dataWareUtil.esOptionApi(delForecastoList, params, hisData=> {
  // todo(hisData);
})

2. kibana插件开发

  • elastic在npm上发布了一些制作插件的工具,在你没有完全了解该如何做插件开发之前,可以直接使用工具来帮你生成插件
  • npm install -g yo
  • npm install -g generator-kibana-plugin
  • mkdir echartdashboard-plugin
  • cd echartdashboard-plugin
  • yo kibana-plugin