const elasticsearch = require('elasticsearch'); const moment = require('moment'); const date = moment().format('YYYY-MM-DD'); let resultData = []; /** * 从ES里面检索出当天的日志记录含有xxxxxx的信息 */ async function esGetlogInfo() { let resultData = []; // es检索的条件 var searchInfo = { // index: 'xxx-app-logs-'+date, // 根据index的信息可以选择获取当天的记录 // q: 'xxxxxxx', type: 'logs',//只获取日志类型的数据,相当于table size: 10000, //获取的条数,默认是10,最大值是10000 body: { query: { bool: { must : { query_string : { default_field : "message", query : "xxxxxxx" } }, filter: { range: { "timestamp": { "gte": "now-24h", "lte": "now"} } } } } } }; const esClient = new elasticsearch.Client({ host: 'https://xxxxxx-es.amazonaws.com/', log: 'error' }); let platformList = []; await esClient.search(searchInfo).then(function (re) { const dataList = re.hits.hits; dataList.map(function(value){ let messArr = value._source.message.split(" "); if(!platformList.includes(messArr[2])) { platformList.push(messArr[2]); const error_msg = JSON.parse(messArr[3]).data.error_msg; resultData.push('</br>'+messArr[2] + ":"+error_msg); } }); }, function (err) { console.trace(err.message); }); return resultData; }
nodejs使用elasticsearch检索某个时间段的数据
猜你喜欢
转载自blog.csdn.net/Crystalqy/article/details/80570362
今日推荐
周排行