I would probably have done search parsing through Python but it can be done using Javascript. Create a blocking search which will wait until the search in finished then reference the job object results field. The results can then be mapped to a list or dictionary for use. Once you have completed the tasks associated with the search values it can be rendered back to the dashboard. require([],
function() {
var splunkWebHttp = new splunkjs.SplunkWebHttp();
var service = new splunkjs.Service(splunkWebHttp);
var searchQuery = "search index=_internal | head 5";
var searchParams = {exec_mode: "blocking"};
service.search(
searchQuery,
searchParams,
function(err, job) {
job.fetch(function(err){
console.log("Job ID: " + job.sid);
console.log("Max Results: " + job.properties().resultCount);
// iterate results by row
job.results({}, function(err, results) {
var fields = results.fields;
var rows = results.rows;
for(var i = 0; i < rows.length; i++) {
var values = rows[i];
console.log("Row " + i + ": ");
for(var j = 0; j < values.length; j++) {
var field = fields[j];
var value = values[j];
console.log(" " + field + ": " + value);
}
}
})
});
});
})
... View more