@@ -177,6 +177,59 @@ resource "sumologic_field_extraction_rule" "AwsObservabilityApiGatewayAccessLogs
177177 enabled = true
178178}
179179
180+ # ALB CloudTrail FER
181+ resource "sumologic_field_extraction_rule" "AwsObservabilityALBCloudTrailLogsFER" {
182+ depends_on = [time_sleep . wait_for_10_seconds ]
183+ name = " AwsObservabilityALBCloudTrailLogsFER"
184+ scope = " account=* eventSource eventName \" elasticloadbalancing.amazonaws.com\" \" 2015-12-01\" "
185+ parse_expression = << EOT
186+ | json "eventSource", "awsRegion", "recipientAccountId", "requestParameters.name", "requestParameters.type", "requestParameters.loadBalancerArn", "apiVersion" as event_source, region, accountid, loadbalancer, loadbalancertype, loadbalancerarn, api_version nodrop
187+ | "" as namespace
188+ | where event_source = "elasticloadbalancing.amazonaws.com" and api_version matches "2015-12-01"
189+ | parse field=loadbalancerarn ":loadbalancer/*/*/*" as balancertype, loadbalancer, f1 nodrop
190+ | if(loadbalancertype matches "network", "aws/nlb", if(balancertype matches "net", "aws/nlb", namespace)) as namespace
191+ | if(loadbalancertype matches "application", "aws/applicationelb", if(balancertype matches "app", "aws/applicationelb", namespace)) as namespace
192+ | where namespace="aws/applicationelb" or isEmpty(namespace)
193+ | toLowerCase(loadbalancer) as loadbalancer
194+ | fields region, namespace, loadbalancer, accountid
195+ EOT
196+ enabled = true
197+ }
198+
199+ # CLB CloudTrail FER
200+ resource "sumologic_field_extraction_rule" "AwsObservabilityCLBCloudTrailLogsFER" {
201+ depends_on = [time_sleep . wait_for_10_seconds ]
202+ name = " AwsObservabilityCLBCloudTrailLogsFER"
203+ scope = " account=* eventSource eventName \" elasticloadbalancing.amazonaws.com\" \" 2012-06-01\" "
204+ parse_expression = << EOT
205+ | json "eventSource", "awsRegion", "recipientAccountId", "requestParameters.loadBalancerName" as event_source, region, accountid, loadbalancername nodrop
206+ | where event_source = "elasticloadbalancing.amazonaws.com"
207+ | toLowerCase(loadbalancername) as loadbalancername
208+ | "aws/elb" as namespace
209+ | fields region, namespace, loadbalancername, accountid
210+ EOT
211+ enabled = true
212+ }
213+
214+ # NLB CloudTrail FER
215+ resource "sumologic_field_extraction_rule" "AwsObservabilityNLBCloudTrailLogsFER" {
216+ depends_on = [time_sleep . wait_for_10_seconds ]
217+ name = " AwsObservabilityNLBCloudTrailLogsFER"
218+ scope = " account=* eventSource eventName \" elasticloadbalancing.amazonaws.com\" \" 2015-12-01\" "
219+ parse_expression = << EOT
220+ | json "eventSource", "awsRegion", "recipientAccountId", "requestParameters.name", "requestParameters.type", "requestParameters.loadBalancerArn", "apiVersion" as event_source, region, accountid, loadbalancer, loadbalancertype, loadbalancerarn, api_version nodrop
221+ | "" as namespace
222+ | where event_source = "elasticloadbalancing.amazonaws.com" and api_version matches "2015-12-01"
223+ | parse field=loadbalancerarn ":loadbalancer/*/*/*" as balancertype, loadbalancer, f1 nodrop
224+ | if(loadbalancertype matches "network", "aws/nlb", if(balancertype matches "net", "aws/nlb", namespace)) as namespace
225+ | if(loadbalancertype matches "application", "aws/applicationelb", if(balancertype matches "app", "aws/applicationelb", namespace)) as namespace
226+ | where namespace="aws/applicationelb" or isEmpty(namespace)
227+ | toLowerCase(loadbalancer) as loadbalancer
228+ | fields region, namespace, loadbalancer, accountid
229+ EOT
230+ enabled = true
231+ }
232+
180233# DynamoDB CloudTrail FER
181234resource "sumologic_field_extraction_rule" "AwsObservabilityDynamoDBCloudTrailLogsFER" {
182235 depends_on = [time_sleep . wait_for_10_seconds ]
0 commit comments