DEV Community

Cover image for Delete orphaned Lambda Log groups very fast
Gernot Glawe for AWS Community Builders

Posted on

3 1

Delete orphaned Lambda Log groups very fast

The problem

We have some Lambda Functions

aws lambda list-functions --query "Functions[].FunctionName"
Enter fullscreen mode Exit fullscreen mode
[
    "xraystarter-LogRetentionaae0aa3c5b4d4f87b02d85b201-2QZ9sjniwX2i",
    "xraystarter-BucketNotificationsHandler050a0587b754-z8E1DEE5a2Zy",
    "xraystarter-py",
    "xraystarter-go",
    "xraystarter-ts"
]
Enter fullscreen mode Exit fullscreen mode

The first time a function writes to stdout/stderr, a Log Group will be created.

aws logs describe-log-groups --query "logGroups[].logGroupName"
    "/aws/lambda/hellodockerarm",
    "/aws/lambda/xraystarter-BucketNotificationsHandler050a0587b754-z8E1DEE5a2Zy",
    "/aws/lambda/xraystarter-LogRetentionaae0aa3c5b4d4f87b02d85b201-2QZ9sjniwX2i",
    "/aws/lambda/xraystarter-go",
    "/aws/lambda/xraystarter-py",
    "/aws/lambda/xraystarter-ts"
]
Enter fullscreen mode Exit fullscreen mode

After deleting all Functions

aws lambda list-functions --query "Functions[].FunctionName"
[]
Enter fullscreen mode Exit fullscreen mode

All log groups are still there:

╰─ aws logs describe-log-groups --query "logGroups[].logGroupName"
[
    "/aws/lambda/hellodockerarm",
    "/aws/lambda/xraystarter-BucketNotificationsHandler050a0587b754-z8E1DEE5a2Zy",
    "/aws/lambda/xraystarter-LogRetentionaae0aa3c5b4d4f87b02d85b201-2QZ9sjniwX2i",
    "/aws/lambda/xraystarter-go",
    "/aws/lambda/xraystarter-py",
    "/aws/lambda/xraystarter-ts"
]
Enter fullscreen mode Exit fullscreen mode

The tool

orphan shows the leftover "orphaned" Log Groups and with an additional parameter --no-dry-run it will delete all Log Groups fast. Because it`s GO.

See https://github.com/megaproaktiv/orphan and download the binary release, if you like. Use at your own risk!

bash
orphan
/aws/lambda/hellodockerarm
/aws/lambda/xraystarter-BucketNotificationsHandler050a0587b754-z8E1DEE5a2Zy
/aws/lambda/xraystarter-LogRetentionaae0aa3c5b4d4f87b02d85b201-2QZ9sjniwX2i
/aws/lambda/xraystarter-go
/aws/lambda/xraystarter-py
/aws/lambda/xraystarter-ts

bash
orphan --no-dry-run
Deleted: /aws/lambda/hellodockerarm
Deleted: /aws/lambda/xraystarter-BucketNotificationsHandler050a0587b754-z8E1DEE5a2Zy
Deleted: /aws/lambda/xraystarter-LogRetentionaae0aa3c5b4d4f87b02d85b201-2QZ9sjniwX2i
Deleted: /aws/lambda/xraystarter-go
Deleted: /aws/lambda/xraystarter-py
Deleted: /aws/lambda/xraystarter-ts

bash
aws logs describe-log-groups --query "logGroups[].logGroupName"
[]

More AWS Tools i made to make my life easy

switch

https://github.com/megaproaktiv/switchaws
Working together with leapp or similar sso supporting tools to switch aws profiles and perform other actions when switching the profile

cdkstat

https://github.com/megaproaktiv/cdkstats
Show state of CloudFormation stacks managed by the AWS CDK Cloud Development Kit

Conclusion

If you need consulting for your serverless project, don't hesitate to contact the sponsor of this blog, tecRacer.

For more AWS development stuff, follow me on dev https://dev.to/megaproaktiv.

Thanks to

Photo by Bernardo Ramonfaur on Unsplash

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (0)

Best Practices for Running  Container WordPress on AWS (ECS, EFS, RDS, ELB) using CDK cover image

Best Practices for Running Container WordPress on AWS (ECS, EFS, RDS, ELB) using CDK

This post discusses the process of migrating a growing WordPress eShop business to AWS using AWS CDK for an easily scalable, high availability architecture. The detailed structure encompasses several pillars: Compute, Storage, Database, Cache, CDN, DNS, Security, and Backup.

Read full post