无需身份验证即可通过kibana向elasticsearch发送请求

时间:2016-07-19 07:52:42

标签: javascript node.js elasticsearch kibana elastic-stack

我正在为kibana写一个插件。

我希望能够与elasticsearch进行通信,并且我已经安装了盾牌。

目前,我设法做到的唯一方法是通过服务器发送请求,例如:

server.route({
    method: 'GET',
    path: '/someFunction',
    handler: async function (request, reply) {
      const exec = require('child_process').exec;
      exec("curl --user admin:111111 -XPOST 'localhost:9200/filebeat-*/_search?pretty' -d ' { --someQuery-- }'", function (err, res) {
        if (err) {
          throw err;
        } else {
          console.log(JSON.parse(res));
          reply(JSON.parse(res));
        }
      });
    }
  });

我确信有更好的方法可以做到这一点,因为我可以在代码中的其他位置看到esRespsearchSource

验证已经插入登录中,因此我无需在服务器中公开硬编码的密码。

我该怎么做?如何使用kibana内置的通信进行弹性搜索?

1 个答案:

答案 0 :(得分:0)

好的吧..

return es.search({
          index: 'filebeat-*',
          body: {
            "size": 0,
            "aggs": {
              "group_by_product": {
                "terms": {
                  "field": "product"
                }
              }
            }
          }
        }).then(function (resp) {
          resp.aggregations.group_by_product.buckets.forEach(function (obj) {
          });
        });

只需要使用elasticsearch nodeJs模块。