2016-07-19 5 views
0

나는 kibana에 플러그인을 쓰고 있습니다.인증없이 kibana를 통해 elasticsearch에 요청을 보냅니다.

나는 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 내장 통신을 어떻게 elasticserach에 사용합니까?

답변

0

확인이 그것을 가지고 .. 그냥 elasticsearch의 nodeJs 모듈 (들)을 사용하는 데 필요한

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) { 
      }); 
     }); 

.

관련 문제