Dashboards & Visualizations

How to call python script from Dashboard, and download a file from local to web browser

earakam
Path Finder

Hi

Here is what I am trying to accomplish:
1. Click a button on dashboard
2. it calls a script (Python or JavaScript)
3. the Script will then run some shell script and do the CLI search which creates a CSV file on local directory
4. Returns the value
5. downloads the CSV file created on the server to the Browser

Can i call python script by click on a button in dashboard?
Or, should i call Javascript and then that javascript calls python script?
Or, can i accomplish this by only coding javascript?

my splunk is running on Linux server.

Looking forward for your replies.

Thank you.

1 Solution

paramagurukarth
Builder

The two links will help you in exposing your python method for a http call..

http://wiki.splunk.com/Community:40GUIDevelopment

https://answers.splunk.com/answers/150370/python-end-point-configured-in-web-conf-is-not-working.htm...

After writing your python method just add a button to your dashboard and make an ajax call to your python 🙂

View solution in original post

0 Karma

alacercogitatus
SplunkTrust
SplunkTrust

I'll answer here. With pictures. Going through the difficulty of writing a button to export results to CSV is not worth they payoff. Every single panel in a Splunk Dashboard, and in the search results, by default, has a "Button On the Dashboard, That When Clicked, Will Download a CSV Through a User's Browser". That is the requirement here, no? The functionality exists already, why duplicate it? I don't always do things "just because the customer asked for it", instead, show them the built-in, supported, automatic, scaleable feature. They will love you for it. Instead of spending a week Developing this feature, you now have spent 1 hour explaining it. Much better ROI if you ask me.

Every Panel has this : alt text

Clicking the second button gives you this:
alt text

This is exactly what you wanted. A button on a dashboard to export data to CSV, with UNLIMITED results.

paramagurukarth
Builder

The two links will help you in exposing your python method for a http call..

http://wiki.splunk.com/Community:40GUIDevelopment

https://answers.splunk.com/answers/150370/python-end-point-configured-in-web-conf-is-not-working.htm...

After writing your python method just add a button to your dashboard and make an ajax call to your python 🙂

0 Karma

earakam
Path Finder

Hi paramgurukarthikeyan

Thanks for the reply.
Yes, i think i want to try this too!

0 Karma

paramagurukarth
Builder

You are welcome 🙂

0 Karma

bruceclarke
Contributor

I have to run, but hopefully I'll remember to update this with more details when I have time.

I suggest using the SearchManager from the SplunkJS stack: http://dev.splunk.com/view/webframework-developapps/SP-CAAAENJ
You can include the javascript on the page using this method: http://docs.splunk.com/Documentation/Splunk/6.1.5/Viz/CustomizeSimpleXML

Then you can export the CSV in the javascript: http://stackoverflow.com/questions/14964035/how-to-export-javascript-array-info-to-csv-on-client-sid...

0 Karma

earakam
Path Finder

Hi bruceclarke!!

Thanks for the reply!!
I am trying as you have mentioned, but do i need to install Node.js first?

0 Karma

alacercogitatus
SplunkTrust
SplunkTrust

Node.js is not needed. You will need to read up on bootstrap, jquery, mvc, backbone, and the SplunkJS documentation itself, as well as custom web endpoints, advanced configurations, and a some best practices on securing the endpoint itself. See my answer above. If your question is still not answered exactly as you need it to be, please clarify your answer with even more detail, as what you have described is already implemented in the core Splunk.

0 Karma

earakam
Path Finder

Hi alacercogitatus

Thanks for the reply.
what i am trying to accomplish is, to
1) click a button on dashboard
2) runs two separate search which outputs two csv files
3) merge those two csv files
4) download from web browser

Using CLI commands, yes i can do it. But we need to make a custom button on the dashboard as well.
i found the link below, which you are explaining about how to call python from html view
https://answers.splunk.com/answers/352862/how-to-call-a-python-script-from-an-html-view.html
and, i think this is what i want to do.

0 Karma

Sebastian2
Path Finder

Why do you have to create the CSV file with a Python script? If you actually create the CSV using a Splunk Search you could use |outputcsv csvexport.csv or just export it from the dashboard. Also see here: https://answers.splunk.com/answers/869/export-results-to-csv.html

0 Karma

earakam
Path Finder

Hi guys,

thanks for the reply! I appreciate it.
Sorry i wasn't clear of my question.

I am doing this for my customer's request, and they specifically would like to "click a button on the dashboard" to to export the CSV.

Generally, is it possible to call python script by clicking a button on the dashboard? if so, could you give me some way forward for this?

Thank you.

0 Karma
Get Updates on the Splunk Community!

What's new in Splunk Cloud Platform 9.1.2312?

Hi Splunky people! We are excited to share the newest updates in Splunk Cloud Platform 9.1.2312! Analysts can ...

What’s New in Splunk Security Essentials 3.8.0?

Splunk Security Essentials (SSE) is an app that can amplify the power of your existing Splunk Cloud Platform, ...

Let’s Get You Certified – Vegas-Style at .conf24

Are you ready to level up your Splunk game? Then, let’s get you certified live at .conf24 – our annual user ...