UNPKG

logstash-relay

Version:

A simple NodeJS service to relay JSNLogs or Log4Javascript/Log4JS(client) event messages to Logstash.

113 lines (106 loc) 3.1 kB
--- AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: LogStash-Relay API powered by API Gateway and Lambda Resources: ApiGatewayApi: Type: AWS::Serverless::Api Properties: DefinitionUri: ./simple-proxy-api.yaml StageName: prod Variables: ServerlessExpressLambdaFunctionName: !Ref YOUR_SERVERLESS_EXPRESS_LAMBDA_FUNCTION_NAME LambdaExecutionRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: Effect: Allow Principal: Service: lambda.amazonaws.com Action: sts:AssumeRole Path: "/" Policies: - PolicyName: root PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - logs:CreateLogGroup - logs:CreateLogStream - logs:PutLogEvents - ec2:CreateNetworkInterface - ec2:DescribeNetworkInterfaces - ec2:DeleteNetworkInterface Resource: '*' LambdaApiGatewayExecutionPermission: Type: AWS::Lambda::Permission Properties: Action: lambda:InvokeFunction FunctionName: !GetAtt YOUR_SERVERLESS_EXPRESS_LAMBDA_FUNCTION_NAME.Arn Principal: apigateway.amazonaws.com SourceArn: !Join - '' - - 'arn:aws:execute-api:' - !Ref AWS::Region - ":" - !Ref AWS::AccountId - ":" - !Ref ApiGatewayApi - "/*/*" YOUR_SERVERLESS_EXPRESS_LAMBDA_FUNCTION_NAME: Type: AWS::Serverless::Function Properties: CodeUri: ./ Handler: lambda.handler MemorySize: 256 Role: !GetAtt LambdaExecutionRole.Arn Runtime: nodejs8.10 Timeout: 30 Events: ProxyApiRoot: Type: Api Properties: RestApiId: !Ref ApiGatewayApi Path: / Method: ANY ProxyApiGreedy: Type: Api Properties: RestApiId: !Ref ApiGatewayApi Path: /{proxy+} Method: ANY Outputs: LambdaFunctionConsoleUrl: Description: Console URL for the Lambda Function. Value: !Join - '' - - https:// - !Ref AWS::Region - ".console.aws.amazon.com/lambda/home?region=" - !Ref AWS::Region - "#/functions/" - !Ref YOUR_SERVERLESS_EXPRESS_LAMBDA_FUNCTION_NAME ApiGatewayApiConsoleUrl: Description: Console URL for the API Gateway API's Stage. Value: !Join - '' - - https:// - !Ref AWS::Region - ".console.aws.amazon.com/apigateway/home?region=" - !Ref AWS::Region - "#/apis/" - !Ref ApiGatewayApi - "/stages/prod" ApiUrl: Description: Invoke URL for your API. Clicking this link will perform a GET request on the root resource of your API. Value: !Join - '' - - https:// - !Ref ApiGatewayApi - ".execute-api." - !Ref AWS::Region - ".amazonaws.com/prod/"