Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "use strict";
- //Get the splunk sdk
- var splunkjs = require('splunk-sdk');
- //get promise dependencies
- Promise = require("bluebird");
- //get request dependencies
- let request = require('request-promise');
- var test = Promise.coroutine(function*(){
- try{
- // Create a Service instance and log in
- let service = Promise.promisifyAll(new splunkjs.Service({
- username:"user",
- password:"password",
- scheme:"https",
- host:"splunk",
- port:"8089",
- version:"6.3.2"
- }));
- // Pass the search query
- let searchQuery = yield Promise.resolve("search index=edex FIDELITY.CCB.LPS.PROD.MORTFILE* PNOD=CD.HNBNOLA RECI=CTRC");
- // Search params (No Idea what these do)
- let searchParams = yield Promise.resolve({
- exec_mode: "blocking"
- });
- //get the job object from splunk
- let job = yield service.searchAsync(searchQuery,searchParams);
- //add the fetchJson function to the job object
- job.fetchJson = fetchJsonAsync;
- //Promisify job object
- let jobAsync = Promise.promisifyAll(job);
- //get the results
- let results = yield job.fetchJsonAsync();
- //Print results to stdout
- yield console.log("These are the results: "+results);
- } catch (e){
- console.log(e)
- }
- });
- function fetchJsonAsync(){
- //Create a result object and return it
- var resultsArrayObject = {}
- //return a promise
- return new Promise (function(resolve,reject){
- //display the job id
- console.log("Search job id: " + this.sid);
- this.results({}, function(err, results) {
- var fields = results.fields;
- var rows = results.rows;
- //Create an array to hold all of the event objects
- var eventsArray = [];
- for(var i = 0; i < rows.length; i++) {
- var values = rows[i];
- //Create an empty object to hold the atributes of an event
- var eventObject = {}
- for(var j = 0; j < values.length; j++) {
- var field = fields[j];
- var value = values[j];
- eventObject[field] = value;
- }
- eventsArray.push(eventObject);
- }
- //populated the results object
- resultsArrayObject["events"]=eventsArray;
- if(err){
- //reject the promise if there is an error
- reject(err);
- console.error(err)
- }else{
- //fulfill the promise
- resolve(resultsArrayObject);
- }
- })
- }.bind(this));
- }
- test();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement