Splunk Enterprise

Custom Drop Down In Dashboard

Santosh2
Path Finder

From the below xml we created  a drop down for site, its working as expected, but we need a dropdown for country as well. But country data is not present in the logs.
We have 2 countries, China and India.
We need a drop with country and based on country site  also should be shown.
How can we do this??

<form version="1.1" theme="light">
    <label>Dashboard</label>
    <fieldset submitButton="false">
        <input type="time" token="timepicker">
            <label>TimeRange</label>
            <default>
                <earliest>-15m@m</earliest>
                <latest>now</latest>
            </default>
        </input>
        <input type="dropdown" token="site">
            <label>SITE</label>
            <choice value="*">All</choice>
            <prefix>site="</prefix>
            <suffix>"</suffix>
            <default>*</default>
            <fieldForLabel>site</fieldForLabel>
            <fieldForValue>site</fieldForValue>
          <search>
              <query>
                  | makeresults | eval site="BDC" | fields site
                  | append [ | makeresults | eval env="SOC" | fields site ]
                  | sort site
                  | table site
              </query>
          </search>
    </input>
</fieldset>
    <row>
        <panel>
            <table>
                <title>Total Count Of DataRequests</title>
                <search>
                    <query>
                        index=Datarequest-index 
                        $site$ 
                        | rex field= _raw "application :\s(?<Reqtotal>\d+)"            
                        |stats sum(Reqtotal)
                        
                    </query>
                    <earliest>$timepicker.earliest$</earliest>
                    <latest>$timepicker.latest$</latest>
                    <sampleRatio>1</sampleRatio>
                </search>
                <option name="count">20</option>
                <option name="dataOverlayMode">none</option>
                <option name="drilldown">none</option>
                <option name="percentageRow">false</option>
                <option name="refresh.display">progressbar</option>
                <option name="rowNumbers">false</option>
                <option name="totalsRow">false</option>
                <option name="wrap">true</option>
            </table>
        </panel>
    </row>
<form>

 

Labels (1)
0 Karma
1 Solution

tej57
Contributor

Hello @Santosh2 ,

There's a bit of typo in the search command for using the selected site token. You've typed seach instead of search. Also, if you're using search command, you need to filter it on the basis of key value search. Host specific dropdown should look like this:

| makeresults 
| eval site="BDC", host="jboss.cloud.com" 
| fields site host 
| append 
    [| makeresults 
    | eval site="BDC", host="ulkoy.cloud.com" 
    | fields site host] 
| append 
    [| makeresults 
    | eval site="BDC", host="ualki.cloud.com" 
    | fields site host] 
| append 
    [| makeresults 
    | eval site="BDC", host="hyjki.cloud.com" 
    | fields site host] 
| append 
    [| makeresults 
    | eval site="SOC", host="uiy67.cloud.com" 
    | fields site host] 
| append 
    [| makeresults 
    | eval site="SOC", host="7hy56.cloud.com" 
    | fields site host] 
| append 
    [| makeresults 
    | eval site="SOC", host="ju5e.cloud.com" 
    | fields site host] 
| append 
    [| makeresults 
    | eval site="SOC", host="mjut.cloud.com" 
    | fields site host] 
| search site="$site$" 
| dedup host 
| sort host 
| table host

 

Thanks,
Tejas.

 

---

If the above solution helps an upvote is appreciated.

View solution in original post

tej57
Contributor

Hello @Santosh2 ,

You can create an additional input for country and use the country value as token for site input. Your xml code should look something like below:

<input type="dropdown" token="country">
            <label>Country</label>
            <choice value="*">All</choice>
            <prefix></prefix>
            <suffix></suffix>
            <default>*</default>
            <fieldForLabel>country</fieldForLabel>
            <fieldForValue>country</fieldForValue>
          <search>
              <query>
                  | makeresults | eval country="India" | fields country
                  | append [ | makeresults | eval country="China" | fields country]
                  | sort country
                  | table country
              </query>
          </search>
    </input>

Now use the country token as below in Site input

<input type="dropdown" token="site">
            <label>SITE</label>
            <choice value="*">All</choice>
            <prefix>site="</prefix>
            <suffix>"</suffix>
            <default>*</default>
            <fieldForLabel>site</fieldForLabel>
            <fieldForValue>site</fieldForValue>
          <search>
              <query>
                  | makeresults | eval site=case($country$="India","BDC",$country$="SOC",true(),"BDC")
| fields site
              </query>
          </search>
    </input>

 

Thanks,
Tejas.

 

---

If the above solution helps, an upvote is appreciated.

0 Karma

Santosh2
Path Finder

Hi @tej57 , thank you for sharing the code for country and site.

But here i have 8 hosts 4 belongs to India hosts and other 4 belongs to China.

So i tried using below code for hosts in dashboard drop down it is showing correctly, but when i open in search under selected fields the host name is not showing which i mentioned in drop down list, showing different host which is not mentioned in the drop down.

we want to show data in dashboard only with these 8 hosts

<input type="dropdown" token="host">
            <label>Hosts</label>
            <choice value="*">All</choice>
            <prefix>host="</prefix>
            <suffix>"</suffix>
            <default>*</default>
            <fieldForLabel>host</fieldForLabel>
            <fieldForValue>host</fieldForValue>
          <search>
              <query>
                  | makeresults | eval site="BDC", host="jboss.cloud.com" | fields site host
                  | append [ | makeresults | eval site="BDC", host="ulkoy.cloud.com" | fields site host]
| append [ | makeresults | eval site="BDC", host="ualki.cloud.com" | fields site host]
| append [ | makeresults | eval site="BDC", host="hyjki.cloud.com" | fields site host]
| append [ | makeresults | eval site="SOC", host="uiy67.cloud.com" | fields site host]
| append [ | makeresults | eval site="SOC", host="7hy56.cloud.com" | fields site host]
| append [ | makeresults | eval site="SOC", host="ju5e.cloud.com" | fields site host]
| append [ | makeresults | eval site="SOC", host="mjut.cloud.com" | fields site host]
|seach $site$ |dedup host
                  | sort host
                  | table host
              </query>
          </search>
    </input>

 

0 Karma

tej57
Contributor

Hello @Santosh2 ,

There's a bit of typo in the search command for using the selected site token. You've typed seach instead of search. Also, if you're using search command, you need to filter it on the basis of key value search. Host specific dropdown should look like this:

| makeresults 
| eval site="BDC", host="jboss.cloud.com" 
| fields site host 
| append 
    [| makeresults 
    | eval site="BDC", host="ulkoy.cloud.com" 
    | fields site host] 
| append 
    [| makeresults 
    | eval site="BDC", host="ualki.cloud.com" 
    | fields site host] 
| append 
    [| makeresults 
    | eval site="BDC", host="hyjki.cloud.com" 
    | fields site host] 
| append 
    [| makeresults 
    | eval site="SOC", host="uiy67.cloud.com" 
    | fields site host] 
| append 
    [| makeresults 
    | eval site="SOC", host="7hy56.cloud.com" 
    | fields site host] 
| append 
    [| makeresults 
    | eval site="SOC", host="ju5e.cloud.com" 
    | fields site host] 
| append 
    [| makeresults 
    | eval site="SOC", host="mjut.cloud.com" 
    | fields site host] 
| search site="$site$" 
| dedup host 
| sort host 
| table host

 

Thanks,
Tejas.

 

---

If the above solution helps an upvote is appreciated.

Santosh2
Path Finder

@tej57 Got it, thank you

0 Karma

tej57
Contributor

@Santosh2, Glad to hear that the solution seemed to be working. It would be great if you can accept the answer as a solution so that it helps other community users.

0 Karma

Santosh2
Path Finder

@Everyone, Can any help on this

0 Karma
Get Updates on the Splunk Community!

Developer Spotlight with Paul Stout

Welcome to our very first developer spotlight release series where we'll feature some awesome Splunk ...

State of Splunk Careers 2024: Maximizing Career Outcomes and the Continued Value of ...

For the past four years, Splunk has partnered with Enterprise Strategy Group to conduct a survey that gauges ...

Data-Driven Success: Splunk & Financial Services

Splunk streamlines the process of extracting insights from large volumes of data. In this fast-paced world, ...