Hi All,
We would like to know if it is possible to embed a splunk spl search into a javascript.
If yes can you please provide some example?
Thanks a lot,
Edoardo
Hi @edoardo_vicendone,
Can You Please try this javascript ?
require([
"splunkjs/mvc/searchmanager",
"splunkjs/mvc/simplexml/ready!"
], function(SearchManager) {
// Create managers
new SearchManager({
id: "example-search",
earliest_time: "-24h@h",
latest_time: "now",
preview: true,
cache: false,
search: "index=_internal | stats count by sourcetype"
});
});
This is another example for iterating result.
require(['jquery', 'splunkjs/mvc/simplexml/ready!'], function ($) {
$(document).ready(function () {
var SearchManager = require('splunkjs/mvc/searchmanager');
var searchString = 'index=_internal | stats count'
var mySearchManager = new SearchManager({
id : "cacheSearch",
earliest_time : "-24h",
latest_time : "now",
autostart : true,
search : searchString,
preview : true,
cache : false
});
var myResults = mySearchManager.data("results"); // get the data from that search
myResults.on("data", function () {
resultArray = myResults.data().rows;
$.each(resultArray, function (index, value) {
console.log(value);
});
});
});
});
For more information check SearchManager in this link.
http://docs.splunk.com/DocumentationStatic/WebFramework/1.2/
Thanks
Hi @edoardo_vicendone,
Can You Please try this javascript ?
require([
"splunkjs/mvc/searchmanager",
"splunkjs/mvc/simplexml/ready!"
], function(SearchManager) {
// Create managers
new SearchManager({
id: "example-search",
earliest_time: "-24h@h",
latest_time: "now",
preview: true,
cache: false,
search: "index=_internal | stats count by sourcetype"
});
});
This is another example for iterating result.
require(['jquery', 'splunkjs/mvc/simplexml/ready!'], function ($) {
$(document).ready(function () {
var SearchManager = require('splunkjs/mvc/searchmanager');
var searchString = 'index=_internal | stats count'
var mySearchManager = new SearchManager({
id : "cacheSearch",
earliest_time : "-24h",
latest_time : "now",
autostart : true,
search : searchString,
preview : true,
cache : false
});
var myResults = mySearchManager.data("results"); // get the data from that search
myResults.on("data", function () {
resultArray = myResults.data().rows;
$.each(resultArray, function (index, value) {
console.log(value);
});
});
});
});
For more information check SearchManager in this link.
http://docs.splunk.com/DocumentationStatic/WebFramework/1.2/
Thanks
Hi @kamlesh_vaghela,
Really thanks, this will help us a lot.
We are currently facing some challange to set-up read only users in Splunk, that do not have access to any Search view, Alerts view, Datasets view etc... and for example only have access to dashboards.
Our idea is to load a javascript in each dashboard that search in a lookup table we have previously parameterized. In that lookup table we have defined user/roles and which view they can see. So based on the result of the search if that specific user/role cannot see the views we will then enable hideAppBar="true" hideFooter="true" etc..
I'll keep you posted.
Best Regards,
Edoardo
Hi @edoardo_vicendone,
Thanks for explaining your requirement. Kindly let me know if any help required in any case.
Thanks
Hi @kamlesh_vaghela,
The script is mostly completed, but we have still one issue.
We are trying to get the "value" out of the function so that we can then pass them to the dashboard but we are still unable to get it.
We tried to search on internet and also tried several solutions but until now without success.
Do you know how to get the results stored in the value variable out from the function in order to let them being directly accessable in the javascript?
Thanks a lot,
Edoardo