Splunk HEC Input
Accepts POSTed data directly to your pipeline's Splunk HEC endpoints.
Details
The Splunk HEC input implements the Splunk HEC endpoints. By creating a Splunk HEC Input, users can publish any data they wish to a pipeline without needing to have a specifically implemented input to support that data.
Prerequisites
There are no Prerequisites to start using the Splunk HEC input. Simply create a Splunk HEC Input and attach it to a pipeline.
Sending data
Every pipeline has its own ingest host, and the collector endpoints are served on it:
Code
Replace <pipeline-id> with the ID of your pipeline. Point any HEC client at that host, using whichever collector path it already speaks. The paths are unchanged from the Splunk HEC standard and are listed below.
The body of the request requires that records be put in the event key in an array of json objects for each record.
Note: When including multiple records, the format is line delimited JSON object
Self-hosted deployments
A per-pipeline ingest host needs the *.data.<your Monad domain> wildcard in place: a DNS record plus a matching certificate SAN. Monad Cloud has this. A self-hosted deployment has it only if whoever installed Monad set it up, so check with them if you are not sure. See Customer Helm Install for the setup.
Without it, post to the collector on your own Monad hostname instead, for example https://<your-monad-host>/services/collector. The HEC token names the pipeline in both cases, so nothing else about the request changes.
Authentication
All requests to the Splunk HEC endpoints require a Splunk authentication header to be set. The token is your pipeline ID, and it is what identifies the pipeline, so it is required even when you post to the pipeline's own ingest host.
Code
Single record
POST /services/collector or POST /services/collector/event
The json object in event will be sent to the pipeline directly. All other fields supported by the Splunk HEC standard will be ignored.
Code
POST /service/collector/raw
Monad requires that all records are in JSON format which requires the raw endpoint to require each event to be a json object
Code
Multiple Records
POST /services/collector or POST /services/collector/event
Code
POST /service/collector/raw
Code
Configuration
The following configuration defines the input parameters. Each field's specifications, such as type, requirements, and descriptions, are detailed below.
Settings
None.
Secrets
None.
API
To send a POST request to create this Monad HTTP Connector:
Code
Python Example
Code
Sync frequency
This is a push (receiver) input: Monad ingests records as the source sends them, so there is no polling interval. See Input Sync Frequency for details.