Advertisement
Guest User

Untitled

a guest
Aug 4th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. "use strict";
  2. //Get the splunk sdk
  3. var splunkjs = require('splunk-sdk');
  4. //get promise dependencies
  5. Promise = require("bluebird");
  6.  
  7. //get request dependencies
  8. let request = require('request-promise');
  9.  
  10.  
  11. var test = Promise.coroutine(function*(){
  12. try{
  13. // Create a Service instance and log in
  14. let service = Promise.promisifyAll(new splunkjs.Service({
  15. username:"user",
  16. password:"password",
  17. scheme:"https",
  18. host:"splunk",
  19. port:"8089",
  20. version:"6.3.2"
  21. }));
  22. // Pass the search query
  23. let searchQuery = yield Promise.resolve("search index=edex FIDELITY.CCB.LPS.PROD.MORTFILE* PNOD=CD.HNBNOLA RECI=CTRC");
  24. // Search params (No Idea what these do)
  25. let searchParams = yield Promise.resolve({
  26. exec_mode: "blocking"
  27. });
  28. //get the job object from splunk
  29. let job = yield service.searchAsync(searchQuery,searchParams);
  30. //add the fetchJson function to the job object
  31. job.fetchJson = fetchJsonAsync;
  32. //Promisify job object
  33. let jobAsync = Promise.promisifyAll(job);
  34. //get the results
  35. let results = yield job.fetchJsonAsync();
  36. //Print results to stdout
  37. yield console.log("These are the results: "+results);
  38. } catch (e){
  39. console.log(e)
  40. }
  41.  
  42. });
  43.  
  44. function fetchJsonAsync(){
  45. //Create a result object and return it
  46. var resultsArrayObject = {}
  47. //return a promise
  48. return new Promise (function(resolve,reject){
  49. //display the job id
  50. console.log("Search job id: " + this.sid);
  51. this.results({}, function(err, results) {
  52. var fields = results.fields;
  53. var rows = results.rows;
  54. //Create an array to hold all of the event objects
  55. var eventsArray = [];
  56. for(var i = 0; i < rows.length; i++) {
  57. var values = rows[i];
  58. //Create an empty object to hold the atributes of an event
  59. var eventObject = {}
  60. for(var j = 0; j < values.length; j++) {
  61. var field = fields[j];
  62. var value = values[j];
  63. eventObject[field] = value;
  64. }
  65. eventsArray.push(eventObject);
  66. }
  67. //populated the results object
  68. resultsArrayObject["events"]=eventsArray;
  69. if(err){
  70. //reject the promise if there is an error
  71. reject(err);
  72. console.error(err)
  73. }else{
  74. //fulfill the promise
  75. resolve(resultsArrayObject);
  76. }
  77. })
  78.  
  79. }.bind(this));
  80. }
  81. test();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement