All Apps and Add-ons

Set a dashboard token based on the requestors url?

timgren
Path Finder

In a large environment with search heads in multiple locations, I would like to create a single dashboard that switches search queries values based on the search head URL.  This would allow us to have a single agnostic dashboard for multiple locations and/or environments. where the index values differ from one to the other. 

Such as:
https://splunk.NorthAmerica.Mycompany.com
https://splunk.EU.Mycompany.com
etc.

token value = $URL$

Where I can set the locale token as:
Locale=case($URL$ LIKE %NorthAmerica%, "NorthAmerica", $URL$ LIKE %EU%,Europe) 

Is there any build-in splunk value that reads the requesting URL? 
If not, how to construct a js that leverages the URLSearchParams() method to set the token? 

Labels (1)
0 Karma
1 Solution

kamlesh_vaghela
SplunkTrust
SplunkTrust

@timgren 

Try this Javascript.

require([
    'underscore',
    'jquery',
    'splunkjs/mvc',
    'splunkjs/mvc/simplexml/ready!'
], function(_, $, mvc) {
    console.log("LAZY!!!");
    var defaultTokenModel = mvc.Components.get('default');
    var submittedTokenModel = mvc.Components.get("submitted");
    $(document).ready(function() {
        console.log(window.location.href);
        var url = window.location.href;
        var Locale = "AnyDefaultValue";
        if (url.match(/NorthAmerica/gi)) {
            Locale = "NorthAmerica";
        } else if (url.match(/EU/gi)) {
            Locale = "Europe";
        } else if (url.match(/Table/gi)) {
            Locale = "Table";
        }
        defaultTokenModel.set("Locale", Locale);
        submittedTokenModel.set(defaultTokenModel.toJSON());
    });
});

 

Thanks
KV


If any of my reply helps you to solve the problem Or gain knowledge, an upvote would be appreciated.

 

View solution in original post

kamlesh_vaghela
SplunkTrust
SplunkTrust

@timgren 

Try this Javascript.

require([
    'underscore',
    'jquery',
    'splunkjs/mvc',
    'splunkjs/mvc/simplexml/ready!'
], function(_, $, mvc) {
    console.log("LAZY!!!");
    var defaultTokenModel = mvc.Components.get('default');
    var submittedTokenModel = mvc.Components.get("submitted");
    $(document).ready(function() {
        console.log(window.location.href);
        var url = window.location.href;
        var Locale = "AnyDefaultValue";
        if (url.match(/NorthAmerica/gi)) {
            Locale = "NorthAmerica";
        } else if (url.match(/EU/gi)) {
            Locale = "Europe";
        } else if (url.match(/Table/gi)) {
            Locale = "Table";
        }
        defaultTokenModel.set("Locale", Locale);
        submittedTokenModel.set(defaultTokenModel.toJSON());
    });
});

 

Thanks
KV


If any of my reply helps you to solve the problem Or gain knowledge, an upvote would be appreciated.

 

timgren
Path Finder

Outstanding!
Thank you.  I was unaware of window.location.href  

0 Karma
Get Updates on the Splunk Community!

Webinar Recap | Revolutionizing IT Operations: The Transformative Power of AI and ML ...

The Transformative Power of AI and ML in Enhancing Observability   In the realm of IT operations, the ...

.conf24 | Registration Open!

Hello, hello! I come bearing good news: Registration for .conf24 is now open!   conf is Splunk’s rad annual ...

ICYMI - Check out the latest releases of Splunk Edge Processor

Splunk is pleased to announce the latest enhancements to Splunk Edge Processor.  HEC Receiver authorization ...