Configure Config inputs for the Splunk Add-on for AWS¶
Complete the steps to configure Config inputs for the Splunk Add-on for Amazon Web Services (AWS):
- You must manage accounts for the add-on as a prerequisite. See Manage accounts for the Splunk Add-on for AWS.
- Configure AWS services for the Config input.
- Configure AWS permissions for the Config input.
- Configure Config inputs either through Splunk Web or configuration files.
Best practices for configuring inputs¶
- Configure Simple Queue Service (SQS)-based S3 inputs to collect AWS data.
- Configure an AWS Config input for the Splunk Add-on for Amazon Web Services on your data collection node through Splunk Web. This data source is available only in a subset of AWS regions, which does not include China. See the AWS service endpoints for a full list of supported regions.
- Configure a single enabled Config modular input for each unique SQS. Multiple enabled modular inputs can cause conflicts when trying to delete SQS messages or S3 records that another modular input is attempting to access and parse.
- Disable or delete testing configurations before releasing your configuration in production.
Supported Config input message types¶
The following message types are supported by the Config inputs for the Splunk Add-on for AWS:
ConfigurationHistoryDeliveryCompleted
ConfigurationSnapshotDeliveryCompleted
ConfigurationItemChangeNotification
OversizedConfigurationItemChangeNotification
Configure AWS permissions for the Config input¶
Set the following permissions in your AWS configuration:
- For the S3 bucket that collects your Config logs:
GetObject
GetBucketLocation
ListBucket
ListAllMyBuckets
- For the SQS subscribed to the SNS Topic that collects Config
notifications:
GetQueueAttributes
ListQueues
ReceiveMessage
GetQueueUrl
SendMessage
DeleteMessage
- For the Config snapshots:
DeliverConfigSnapshot
- For the IAM user to get the Config snapshots:
GetUser
See the following sample inline policy to configure Config input permissions:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetObject",
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"sqs:ListQueues",
"sqs:ReceiveMessage",
"sqs:GetQueueAttributes",
"sqs:SendMessage",
"sqs:GetQueueUrl",
"sqs:DeleteMessage"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"config:DeliverConfigSnapshot"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"iam:GetUser"
],
"Resource": [
"*"
]
}
]
}
For more information and sample policies, see the following AWS documentation:
- For SQS, see http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/UsingIAM.html.
- For S3, see http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html.
Configure a Config input using Splunk Web¶
To configure inputs using Splunk Web:
- Click Splunk Add-on for AWS in the navigation bar on Splunk Web home.
- Click Create New Input > Config > Config.
- Fill out the fields as described in the table:
Field in Splunk Web |
Description |
---|---|
AWS Account |
The AWS account or EC2 IAM role the Splunk platform uses to access your Config data. In Splunk Web, select an account from the drop-down list. |
AWS Region |
The AWS region that contains the log notification SQS queue. Enter the region ID. See http://docs.aws.amazon.com/general/latest/gr/rande.html#d0e371. |
SQS queue name |
The name of the queue to which AWS sends new Config
notifications. Select a queue from the drop-down list, or enter the
queue name manually. The queue name is the final segment of the full
queue URL. For example, if your SQS queue URL is
|
Source type |
A source type for the events. Enter a value only if you want to
override the default of
|
Index |
The index name where the Splunk platform puts the Config data. The default is main. |
Interval |
The number of seconds to wait before the Splunk platform runs the command again. The default is 30 seconds. |
Configure a Config input using configuration files¶
To configure inputs manually in inputs.conf, create a stanza using the
following template and add it to
$SPLUNK_HOME/etc/apps/Splunk_TA_aws/local/inputs.conf
. If the file or
path does not exist, create it.
[aws_config://<name>]
aws_account = <value>
aws_region = <value>
sqs_queue = <value>
interval = <value>
sourcetype = <value>
index = <value>
Some of these settings have default values that can be found in
$SPLUNK_HOME/etc/apps/Splunk_TA_aws/default/inputs.conf
:
[aws_config]
aws_account =
sourcetype = aws:config
queueSize = 128KB
persistentQueueSize = 24MB
interval = 30
The previous values correspond to the default values in Splunk Web as
well as some internal values that are not exposed in Splunk Web for
configuration. If you choose to copy this stanza to /local
and use it
as a starting point to configure your inputs.conf manually, change the
stanza title from aws_config
to aws_config://<name>
and add the
additional parameters that you need.