Upload logs from a Splunk server.

Parameters:

Parameters:
See dedicated page for more information.
Upload one or more local files (CSV/JSON/log/text) to a Splunk Enterprise server via the Splunk Management REST API (HTTPS on port 8089).
Heads-up (Splunk Cloud): Splunk Cloud trial usually does not expose 8089 publicly. If you’re on Splunk Cloud, use HTTP Event Collector (HEC) instead (token +
https://http-inputs-<stack>.splunkcloud.com) with a HEC/HTTP action.
You need a reachable Splunk Enterprise instance with 8089 open and HTTPS enabled.
Quick local spin-up (optional, for testing):
docker run -it --name splunk -p 8000:8000 -p 8089:8089 \
-e SPLUNK_START_ARGS=--accept-license \
-e SPLUNK_PASSWORD='Changeme123!' \
splunk/splunk:latest
Inside Splunk (Web at http://:8000):
Create an index: Settings → Indexes → New Index (e.g., app_logs).
Create a user (optional but recommended): Settings → Access controls → Users → New. Role power or admin is fine for a test.
Enable & confirm the Splunk Management Port: Settings → Server settings → General settings → Management port = 8089 (required for this action).
Sanity test (oneshot upload) from a terminal:
curl -k -u <user>:<pass> \
https://<host>:8089/services/data/inputs/oneshot?index=app_logs \
-d @/path/to/sample.log
This action also works when accessing the web through a PROXY server (configure standard environment proxy variables or the runner’s proxy settings).
filePath).SplunkIndex) if your files go to different indexes. If all files go to one index, set that column upstream to a constant value.Input: a table that has:
filePath – full local path to the fileSplunkIndex – target index name (constant or per row)| Id | Value (example) |
|---|---|
idFile |
filePath |
idIndex |
SplunkIndex |
url |
https://<your-host-or-ip>:8089 |
login |
splunk_user |
pw |
******** |
idDebug |
basic (or nothing) |
idOptional |
(optional) e.g. --insecure for self-signed certs |
nRetry |
3 |
idErrorManagement |
continue with status ERROR (or your policy) |
TLS/self-signed certs: if your Splunk uses a self-signed cert, add
--insecurein Optional: extra parameters for cURL.
Execute the pipeline.
In Splunk, search:
index=<your index name>
The syntax of the Search Query is described here: https://docs.splunk.com/Documentation/SCS/current/SearchReference/Introduction
--insecure for tests, or install a trusted cert.SplunkIndex matches the index name exactly.If you’re on Splunk Cloud trial, use HTTP Event Collector (HEC):
Settings → Data → Data Inputs → HTTP Event Collector → Enable.
New Token, choose your index, copy the token.
Endpoint:
https://http-inputs-<your-stack>.splunkcloud.com/services/collector/event
Use a HEC uploader (if available) or a generic HTTP POST step with:
Authorization: Splunk <HEC_TOKEN>{"event": <your payload>, "index": "<index>", "sourcetype": "_json"}Upstream table:
filePath SplunkIndex
/data/out/orders.csv app_logs
Configure splunkUpload as above.
Run → Search index=app_logs in Splunk.
