Send events with S3 ingest actions
You can send events to Imply Lumi using a Splunk® ingest action for routing to S3. This protocol routes events to an S3-compatible Lumi endpoint. Use this integration when you send events to Splunk using a heavy forwarder in your own environment (Splunk Enterprise).
For a tutorial on this integration, see How to send events with an S3 ingest action. For other approaches to sending events, see Send events to Lumi.
This topic provides details on configuring event forwarding using S3 ingest actions.
Prerequisites
To send events to Lumi using an S3 ingest action, you need the following:
-
Access to Lumi with the Data manager role or higher. For information on roles and permissions, see Manage roles.
-
Lumi IAM key. See Create an IAM key for details.
The IAM key authenticates connections to send events to Lumi. It also enriches incoming events with the system attributes for environment and team.
-
Splunk heavy forwarder configured in your environment for routing events to an S3 destination. For more information, see Use forwarders to get data into Splunk Enterprise.
-
Port 443 open for outbound TCP traffic on the machine running the Splunk heavy forwarder.
Configure event forwarding
This section describes how to set up S3 ingest actions.
To configure Splunk, you can use the outputs.conf
configuration file and REST API, or use Splunk Web, the graphical user interface for the Splunk platform.
To configure event forwarding, complete the following steps:
- From the Lumi navigation menu, click Integrations > S3 ingest actions.
- Select or create an IAM key.
- In Splunk, create an S3 remote storage destination. See the following sections for detailed instructions.
- In Splunk, create a ruleset to route to the destination. See the following sections for detailed instructions.
The integration page lists the information required to create the S3 destination:
- S3 bucket name: Suggested bucket name resembling
imply-f590a036-3590-4a6f-b5a5-da8d37c53463
- S3 endpoint: Lumi endpoint resembling
https://splunk-s3.us1.api.lumi.imply.io
- Access key ID: IAM key ID in UUID format
- Secret access key: IAM key token in UUID format
Splunk may require you to have unique bucket names for S3 destinations.
Lumi generates a new bucket name with the format imply-
followed by a randomly generated UUID.
The S3 bucket name changes every time you access the S3 ingest actions integration page.
You're not required to use the suggested bucket name, but ensure that your S3 bucket name is unique.
Splunk configuration file and API
Configure an S3 destination directly on the heavy forwarder by editing the outputs.conf
file.
Use the Splunk REST API to create a ruleset.
If you have multiple heavy forwarders, configure the destination and apply the ruleset on each one.
Create an S3 destination
Manually create a remote storage destination for S3 in Splunk.
-
Update or add the remote file system (RFS) stanza in
outputs.conf
to include the following settings:[rfs:logs_lumi]
path = s3://LUMI_BUCKET/
remote.s3.endpoint = LUMI_ENDPOINT
remote.s3.access_key = IAM_KEY_ID
remote.s3.secret_key = IAM_KEY_TOKEN -
Replace the following values provided by Lumi:
LUMI_BUCKET
: S3 bucket name suggested by LumiLUMI_ENDPOINT
: Lumi S3 endpointIAM_KEY_ID
: IAM key IDIAM_KEY_TOKEN
: IAM key token
-
Configure any other output RFS properties based on your specific setup and requirements.
-
Restart your forwarder for the changes to take effect.
To view Splunk recommendations and requirements, see Heavy forwarders managed through a deployment server.
Create a ruleset
Use the Splunk API endpoint /services/data/ingest/rulesets
to create a ruleset.
Your request should resemble the following:
curl -k https://HOST:PORT/services/data/ingest/rulesets\?output_mode=json -d name=RULESET_NAME -d sourcetype=SOURCETYPE -d rules="[
{
\"name\": \"RULE_NAME\",
\"action\": \"route\",
\"clone\": false,
\"dest\": \"DESTINATION\",
\"cond\": {
\"type\": \"eval\",
\"expr\": \"true()\"
}
}
]"
Replace the following values:
- HOST: Hostname or IP address of the machine running the heavy forwarder
- PORT: Port used by Splunk REST API interface
- RULESET_NAME: Name of the ruleset in Splunk
- SOURCETYPE: Sourcetype in Splunk
- RULE_NAME: Name of the rule in Splunk
- DESTINATION: S3 destination for the ingest action
Depending on the authentication method, you might need to include your login credentials in the API request. For required parameters and usage examples, see Input endpoint descriptions.
Splunk Web
In Splunk Web, follow the steps to create an S3 destination and a ruleset to route to the destination.
Create an S3 destination
Create a remote storage destination for S3 in Splunk. After you create or select an IAM key, Lumi populates the details in the Configure event forwarding pane with your specific IAM key ID and token.
In Splunk Web, go to Settings > Ingest actions > Destinations > New destination > S3.
- Enter the following fields:
- S3 bucket name: S3 bucket name suggested by Lumi
- S3 endpoint: Endpoint provided by Lumi
- Complete all other fields based on your specific setup and requirements.
- Click Next.
- Enter the authentication details for Lumi:
- Authentication method:
Access key and secret key
- Access key ID: IAM key ID
- Secret access key: IAM key token
- Authentication method:
- Click Test connection to validate the connection.
A valid connection returns the message, "Successfully connected to the server." - Click Save.
If you don't see options for "S3 endpoint" or "Authentication method," you may be on Splunk Cloud. Please contact Imply support for assistance.
Create a ruleset
Create a ruleset in Splunk that routes events to Lumi at ingest time. The ruleset references the S3 destination you created in the previous section.
- While still on the Ingest actions page in Splunk, go to Ruleset > New ruleset.
- Under Event stream, set
sourcetype
to the type that matches your data.
For all other fields, use the default settings. - Click Add rule > Route to destination.
- In the field for Immediately send to, enter the name of the S3 destination created in the previous step.
- Click Apply.
- Click Save.
- Restart your heavy forwarder for the changes to take effect.
Check Imply Lumi for events
Once you configure event forwarding and send events, you can preview the incoming data in Lumi:
-
From the Lumi navigation menu, click Integrations > S3 ingest actions.
-
In Select or create an IAM key, select your key.
-
In Preview incoming data, view the events coming in to Lumi. Lumi automatically refreshes the preview pane to display the latest events.
-
Click Explore events to see more events associated with the IAM key. The explore view populates the search bar with your IAM key ID and the receiver type. For example:
#iamKeyId=229a2561-0000-0000-0000-bc433de16f89 #receiver=splunk.s3
Adjust the time filter to choose the range of data displayed.
Once events start flowing into Lumi, you can search them. See Search events with Lumi for details and information on supported search syntax.
Learn more
See the following topics for more information:
- Send events to Lumi for other options to send events.
- IAM keys reference for details on IAM keys.
For information on ingest actions in Splunk, refer to the following Splunk documentation: