diff --git a/aws/logs_monitoring/enhanced_lambda_metrics.py b/aws/logs_monitoring/enhanced_lambda_metrics.py index c9adee66a..2afad6307 100644 --- a/aws/logs_monitoring/enhanced_lambda_metrics.py +++ b/aws/logs_monitoring/enhanced_lambda_metrics.py @@ -360,6 +360,8 @@ def parse_lambda_tags_from_arn(arn): return [ "region:{}".format(region), "account_id:{}".format(account_id), + # Include the aws_account tag to match the aws.lambda CloudWatch metrics + "aws_account:{}".format(account_id), "functionname:{}".format(function_name), ] @@ -435,5 +437,4 @@ def get_enriched_lambda_log_tags(log): lambda_custom_tags = account_lambda_tags_cache.get(log_function_arn) # Combine and dedup tags tags = list(set(tags_from_arn + lambda_custom_tags)) - tags.sort() return tags diff --git a/aws/logs_monitoring/lambda_function.py b/aws/logs_monitoring/lambda_function.py index bd72c4f67..bb27b8347 100644 --- a/aws/logs_monitoring/lambda_function.py +++ b/aws/logs_monitoring/lambda_function.py @@ -645,7 +645,11 @@ def enrich(events): def add_metadata_to_lambda_log(event): - """Mutate log dict to add functionname tag, host, and service from the existing Lambda attribute + """Mutate log dict to add tags, host, and service metadata + + * tags for functionname, aws_account, region + * host from the Lambda ARN + * service from the Lambda name If the event arg is not a Lambda log then this returns without doing anything diff --git a/aws/logs_monitoring/tests/snapshots/cloudwatch_log.json~snapshot b/aws/logs_monitoring/tests/snapshots/cloudwatch_log.json~snapshot index a6fa77a20..459790ae3 100644 --- a/aws/logs_monitoring/tests/snapshots/cloudwatch_log.json~snapshot +++ b/aws/logs_monitoring/tests/snapshots/cloudwatch_log.json~snapshot @@ -19,7 +19,7 @@ "invoked_function_arn": "arn:aws:lambda:us-east-1:0:function:test" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0", "ddsource": "cloudwatch", "service": "cloudwatch", "host": "testLogGroup" @@ -38,7 +38,7 @@ "invoked_function_arn": "arn:aws:lambda:us-east-1:0:function:test" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0", "ddsource": "cloudwatch", "service": "cloudwatch", "host": "testLogGroup" diff --git a/aws/logs_monitoring/tests/snapshots/cloudwatch_log_lambda_invocation.json~snapshot b/aws/logs_monitoring/tests/snapshots/cloudwatch_log_lambda_invocation.json~snapshot index 13dc2aaa0..0329e5f9b 100644 --- a/aws/logs_monitoring/tests/snapshots/cloudwatch_log_lambda_invocation.json~snapshot +++ b/aws/logs_monitoring/tests/snapshots/cloudwatch_log_lambda_invocation.json~snapshot @@ -22,7 +22,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -44,7 +44,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -66,7 +66,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -88,7 +88,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -110,7 +110,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -132,7 +132,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -154,7 +154,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -176,7 +176,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -198,7 +198,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -220,7 +220,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -242,7 +242,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -264,7 +264,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -286,7 +286,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -308,7 +308,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -330,7 +330,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" @@ -352,7 +352,7 @@ "arn": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x" }, "ddsourcecategory": "aws", - "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.2.0,env:none,account_id:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", + "ddtags": "forwardername:test,forwarder_memorysize:1536,forwarder_version:3.3.0,env:none,account_id:0,aws_account:0,functionname:hello-dog-node-dev-hello12x,region:us-east-1", "ddsource": "lambda", "service": "hello-dog-node-dev-hello12x", "host": "arn:aws:lambda:us-east-1:0:function:hello-dog-node-dev-hello12x"