Skip to content

Commit

Permalink
#115 - Turn on API Gateway Access Logs
Browse files Browse the repository at this point in the history
  • Loading branch information
formkiqMike committed Feb 16, 2023
1 parent ed8ad3a commit 42037cf
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 1 deletion.
27 changes: 27 additions & 0 deletions lambda-api/src/main/resources/cloudformation/template-snippet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,20 @@ Resources:
Ref: DocumentsApiRequests
Principal: apigateway.amazonaws.com

DocumentsStageAccessLogs:
Type: AWS::Logs::LogGroup
Properties:
RetentionInDays: 90
LogGroupName:
Fn::Sub: "/${AWS::StackName}/APIDocumentsHttpAccessLogs"

IamDocumentsStageAccessLogs:
Type: AWS::Logs::LogGroup
Properties:
RetentionInDays: 90
LogGroupName:
Fn::Sub: "/${AWS::StackName}/APIDocumentsIamAccessLogs"

DocumentsStage:
Type: AWS::ApiGatewayV2::Stage
Properties:
Expand All @@ -206,6 +220,12 @@ Resources:
Description:
Fn::Sub: "Documents API ${AppEnvironment}"
StageName: "$default"
AccessLogSettings:
DestinationArn:
Fn::GetAtt:
- DocumentsStageAccessLogs
- Arn
Format: '{ "requestId":"$context.requestId", "ip": "$context.identity.sourceIp", "requestTime":"$context.requestTime", "httpMethod":"$context.httpMethod","routeKey":"$context.routeKey", "status":"$context.status","protocol":"$context.protocol", "integrationStatus": $context.integrationStatus, "integrationLatency": $context.integrationLatency, "responseLength":"$context.responseLength" }'

IamDocumentsStage:
Type: AWS::ApiGatewayV2::Stage
Expand All @@ -216,6 +236,13 @@ Resources:
Description:
Fn::Sub: "Documents IAM API ${AppEnvironment}"
StageName: "$default"
AccessLogSettings:
DestinationArn:
Fn::GetAtt:
- IamDocumentsStageAccessLogs
- Arn
Format: '{ "requestId":"$context.requestId", "ip": "$context.identity.sourceIp", "requestTime":"$context.requestTime", "httpMethod":"$context.httpMethod","routeKey":"$context.routeKey", "status":"$context.status","protocol":"$context.protocol", "integrationStatus": $context.integrationStatus, "integrationLatency": $context.integrationLatency, "responseLength":"$context.responseLength" }'


DocumentsHttpApiUrlParameter:
Type: AWS::SSM::Parameter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -485,6 +485,13 @@ Resources:
- Arn
PayloadFormatVersion: "1.0"

StageAccessLogs:
Type: AWS::Logs::LogGroup
Properties:
RetentionInDays: 90
LogGroupName:
Fn::Sub: "/${AWS::StackName}/APITypeSenseAccessLogs"

Stage:
Type: AWS::ApiGatewayV2::Stage
Condition: CreateResources
Expand All @@ -493,6 +500,12 @@ Resources:
Ref: ApiGateway
StageName: $default
AutoDeploy: true
AccessLogSettings:
DestinationArn:
Fn::GetAtt:
- StageAccessLogs
- Arn
Format: '{ "requestId":"$context.requestId", "ip": "$context.identity.sourceIp", "requestTime":"$context.requestTime", "httpMethod":"$context.httpMethod","routeKey":"$context.routeKey", "status":"$context.status","protocol":"$context.protocol", "integrationStatus": $context.integrationStatus, "integrationLatency": $context.integrationLatency, "responseLength":"$context.responseLength" }'

Route:
Type: AWS::ApiGatewayV2::Route
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,14 @@ Resources:
Properties:
ApiId:
Ref: WebSocketApi


StageAccessLogs:
Type: AWS::Logs::LogGroup
Properties:
RetentionInDays: 90
LogGroupName:
Fn::Sub: "/${AWS::StackName}/APIWebsocketAccessLogs"

Stage:
Type: AWS::ApiGatewayV2::Stage
Properties:
Expand All @@ -109,6 +116,12 @@ Resources:
Ref: Deployment
ApiId:
Ref: WebSocketApi
AccessLogSettings:
DestinationArn:
Fn::GetAtt:
- StageAccessLogs
- Arn
Format: '{ "requestId":"$context.requestId", "ip": "$context.identity.sourceIp", "requestTime":"$context.requestTime", "httpMethod":"$context.httpMethod","routeKey":"$context.routeKey", "status":"$context.status","protocol":"$context.protocol", "integrationStatus": $context.integrationStatus, "integrationLatency": $context.integrationLatency, "responseLength":"$context.responseLength" }'
Tags:
Application:
Fn::Sub: "FormKiQ ${FormKiQType}"
Expand Down

0 comments on commit 42037cf

Please sign in to comment.