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>
---
What goes around comes around. If it helps, hit it with Karma 🙂

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>
---
What goes around comes around. If it helps, hit it with Karma 🙂

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!

---
What goes around comes around. If it helps, hit it with Karma 🙂

baty0
Explorer

You're a legend! Thanks

Get Updates on the Splunk Community!

Earn a $35 Gift Card for Answering our Splunk Admins & App Developer Survey

Survey for Splunk Admins and App Developers is open now! | Earn a $35 gift card!      Hello there,  Splunk ...

Continuing Innovation & New Integrations Unlock Full Stack Observability For Your ...

You’ve probably heard the latest about AppDynamics joining the Splunk Observability portfolio, deepening our ...

Monitoring Amazon Elastic Kubernetes Service (EKS)

As we’ve seen, integrating Kubernetes environments with Splunk Observability Cloud is a quick and easy way to ...