Getting Data In

Python script with Universal forwarder

jangid
Builder

Here is my script

from urllib2 import sys, Request, urlopen, URLError, HTTPError
if len(sys.argv) <= 1:
  sys.exit(0)
url = sys.argv[1] + "/messages=SplunkTestMessage&outputFormat=splunk"

req = Request(url)
try:
  response = urlopen(req)
except HTTPError, e:
  print "The server couldn\'t fulfill the request. ",
  print "error_code=", e.code, " status=2"
except URLError, e:
  print "Failed to reach server. ",
  print "error_code=", e.reason, " status=3"
else:
  html = response.read()
  print html, " status=1"

Same script perfectly works with Splunk main instance.

How do I run python script with Universal forwarder?
There is no problem with bat file and other exe. I am forwarding script output from Windows and AIX machine.

Tags (3)
1 Solution

dshpritz
SplunkTrust
SplunkTrust

Note that the Universal Forwarder does not include bundled Python:

Introducing the Universal Forwarder - Scripted inputs and Python

If you need to run a Python script on a Universal Forwarder, you can install a local version of Python and run the script by using a .bat file. Otherwise you will need to use a full version of Splunk configured as a Lightweight Forwarder.

HTH,

Dave

View solution in original post

linu1988
Champion

bat file should contain the command then, include the bat file in the script stanza.

0 Karma

dshpritz
SplunkTrust
SplunkTrust

Note that the Universal Forwarder does not include bundled Python:

Introducing the Universal Forwarder - Scripted inputs and Python

If you need to run a Python script on a Universal Forwarder, you can install a local version of Python and run the script by using a .bat file. Otherwise you will need to use a full version of Splunk configured as a Lightweight Forwarder.

HTH,

Dave

jangid
Builder

This script perfectly works manually and main splunk instance using it

0 Karma

jangid
Builder

Sorry I forgot to mention here is inputs.conf

[script://$SPLUNK_HOME\etc\system\bin\util.py http://127.0.0.1:8085]
index = main
interval = 30
sourcetype = sys_health
disabled = 0

0 Karma

linu1988
Champion

You can mention in the script stanza of inputs.conf file. But i am not sure how the script will run. For the script to execute it should have the compiler/interpreter. May be you need to set the script to run through python.

See if the script runs manually, then try setting in script stanza OR Manually set the path and run through a bat file. Thanks.

0 Karma
Get Updates on the Splunk Community!

Improve Your Security Posture

Watch NowImprove Your Security PostureCustomers are at the center of everything we do at Splunk and security ...

Maximize the Value from Microsoft Defender with Splunk

 Watch NowJoin Splunk and Sens Consulting for this Security Edition Tech TalkWho should attend:  Security ...

This Week's Community Digest - Splunk Community Happenings [6.27.22]

Get the latest news and updates from the Splunk Community here! News From Splunk Answers ✍️ Splunk Answers is ...