Dashboards & Visualizations

How to split token value and search new values in a lookup table?

baty0
Explorer

Hi,

On a dashboard, in a text field box, I would like to be able to give a list of servers in the following format:

server1,server2,server3,server4 etc...

Is it possible to split this list, do a search on a lookuptable and return information for these servers?

For example, the search would be:

|inputlookup ServerInfo.csv
|search HostName=server1 OR HostName=server2 OR HostName=server3 OR HostName=server4

I hope that makes sense

Thanks

Tags (3)
0 Karma
1 Solution

renjith_nair
Legend

@baty0 ,
Try below. You need to change the html panel to adapt your dashboard panels.

<form>
  <label>Token Split</label>
  <fieldset submitButton="false">
    <input type="text" token="server_names">
      <label>Server Name</label>
      <change>
        <eval token="splitted_search">"(hostname=\"".mvjoin(split(replace($value$," ",""),","),"\" OR hostname=\"")."\")"</eval>
      </change>
    </input>
  </fieldset>
  <row>
    <html>
      <h1>|inputlookup ServerInfo.csv|search $splitted_search$</h1>
    </html>
  </row>
</form>
Happy Splunking!

View solution in original post

renjith_nair
Legend

@baty0 ,
Try below. You need to change the html panel to adapt your dashboard panels.

<form>
  <label>Token Split</label>
  <fieldset submitButton="false">
    <input type="text" token="server_names">
      <label>Server Name</label>
      <change>
        <eval token="splitted_search">"(hostname=\"".mvjoin(split(replace($value$," ",""),","),"\" OR hostname=\"")."\")"</eval>
      </change>
    </input>
  </fieldset>
  <row>
    <html>
      <h1>|inputlookup ServerInfo.csv|search $splitted_search$</h1>
    </html>
  </row>
</form>
Happy Splunking!

baty0
Explorer

Thanks you so much for your answer, that worked!
I have one last question.

Would it be possible to detect if there is a space between the server name and make the search still work.

For example:
server1, server2, server3, server4

Thank you

0 Karma

renjith_nair
Legend

you shall remove the space, Please use below

"(hostname=\"".mvjoin(split(replace($value$," ",""),","),"\" OR hostname=\"")."\")"

Updated the answer with the change. Please upvote if it helps!

Happy Splunking!

baty0
Explorer

You're a legend! Thanks

Get Updates on the Splunk Community!

More Control Over Your Monitoring Costs with Archived Metrics!

What if there was a way you could keep all the metrics data you need while saving on storage costs?This is now ...

New in Observability Cloud - Explicit Bucket Histograms

Splunk introduces native support for histograms as a metric data type within Observability Cloud with Explicit ...

Updated Team Landing Page in Splunk Observability

We’re making some changes to the team landing page in Splunk Observability, based on your feedback. The ...