CloudWatch Log Groups deletion using AWS Lambda function

0

Hi Aws, Need a lambda function to delete log group with no retention and if the retention period <365 days, and with no KMS encryption configured

Aman
已提问 1 年前329 查看次数
3 回答
1
profile picture
专家
已回答 1 年前
profile picture
专家
已审核 1 年前
0

I have edited the code created in this question to the code that meets your requirements.
https://repost.aws/questions/QUMcZ1aqV1Rwu-IozegdMF6g/delete-cloudwatch-log-groups-using-aws-lambda-function

The following code inserts an if statement in line 10 to determine if the retention period is less than 365 days and if the file is not encrypted by KMS.

import boto3

def lambda_handler(event, context):
    logs_client = boto3.client('logs')
    response = logs_client.describe_log_groups()

    for log_group in response['logGroups']:
        if 'retentionInDays' in log_group:
            retentionin_days = log_group['retentionInDays']
            if retentionin_days < 365 and 'kmsKeyId' not in log_group:
                log_group_name = log_group['logGroupName']
                logs_client.delete_log_group(logGroupName=log_group_name)
profile picture
专家
已回答 1 年前
  • what if the log groups have never expire? how to delete that?

0

what if the log groups have never expire? how to delete that?

Aman
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则