我已成功设置Kinesis Stream,使用Splunk Add-on for Amazon Kinesis(https://splunkbase.splunk.com/app/3719/)将数据发送到Splunk .

我按照官方文档中描述的步骤进行操作:https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-splunk

一切都运作良好 . 数据从Kinesis流成功发送到Splunk .

问题是现在要在 生产环境 中使用它,我们需要创建一个SAM(https://github.com/awslabs/serverless-application-model)来自动部署交付流 .

目前我的yaml模板看起来像(https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis-example-use-app-spec.html):

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  KinesisStream:
    Type: AWS::Kinesis::Stream
    Properties:
      ShardCount: 2
      Name: my-kinesis-stream-name

  ProcessKinesisRecords:
    Type: AWS::Serverless::Function
    Properties:
      Handler: handler
      Runtime: runtime
      Policies:
       - AWSLambdaExecute # Managed Policy
       - Version: '2012-10-17' # Policy Document
         Statement:
           - Effect: Allow
             Action:
               - dynamodb:GetItem
               - dynamodb:Scan
               - dynamodb:Query
             Resource: !Join [ "", [ "arn:aws:dynamodb:", !Ref "AWS::Region", ":", !Ref "AWS::AccountId", ":table/TABLE_NAME" ] ]
      CodeUri: CodePackage.zip
      Events:
        Stream:
          Type: Kinesis
          Properties:
            Stream: !GetAtt KinesisStream.Arn
            BatchSize: 25
            StartingPosition: TRIM_HORIZON

当我使用CloudFormation部署它时,此模板工作正常,并且它成功创建了Kinesis Stream,Lambda函数和角色 .

How can I extend this template to also create a Firehose Delivery Stream connected to Splunk?

这是我要自动化的Firehose配置:

Firehose Configuration

我在AWS(https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html)中找到了以下文档,它指出我将以下块添加到我的SAM模板中:

Type: "AWS::KinesisFirehose::DeliveryStream"
Properties: 
  DeliveryStreamName: String
  DeliveryStreamType: String
  ElasticsearchDestinationConfiguration:
    ElasticsearchDestinationConfiguration
  ExtendedS3DestinationConfiguration:
    ExtendedS3DestinationConfiguration
  KinesisStreamSourceConfiguration:
    KinesisStreamSourceConfiguration
  RedshiftDestinationConfiguration:
    RedshiftDestinationConfiguration
  S3DestinationConfiguration:
    S3DestinationConfiguration

但请注意,在SAM中指定"SplunkDestinationConfiguration"是 no way . 任何人都可以帮助理解当前是否支持AWS,以及它是如何实现的?