Η διαχείριση tags για τα AWS CloudWatch log groups είναι κρίσιμη για τη λειτουργική ορατότητα, τη διαχείριση κόστους και την αποτελεσματική οργάνωση πόρων. Το χειροκίνητο tagging των log groups μπορεί να είναι επίπονο, ειδικά όταν έχεις να κάνεις με μεγάλο αριθμό log groups. Αυτό το άρθρο περιγράφει μια απλή μέθοδο για την αυτοματοποίηση αυτής της εργασίας χρησιμοποιώντας Python και το AWS SDK for Python (Boto3).

Σημασία της Αυτοματοποίησης του CloudWatch Log Group Tagging

Ο αυτοματισμός διασφαλίζει:

  • Συνεπές tagging σε όλους τους AWS πόρους σου.
  • Μειωμένη χειροκίνητη προσπάθεια και ανθρώπινα λάθη.
  • Ενισχυμένη ικανότητα ακριβούς παρακολούθησης κόστους και χρήσης.

Προαπαιτούμενα

  • Python 3 εγκατεστημένη
  • AWS CLI ρυθμισμένο με κατάλληλα permissions
  • Boto3 (pip install boto3)
  • IAM permissions:
    • logs:DescribeLogGroups
    • logs:ListTagsLogGroup
    • logs:TagLogGroup

Python Script για Tagging CloudWatch Log Groups

Παρακάτω είναι ένα Python script που εφαρμόζει αυτόματα συγκεκριμένα tags σε AWS CloudWatch log groups που δεν έχουν καθόλου tags.

Python Script

import boto3

AWS_REGION = ‘us-east-1’ # Replace with your region

Tags to apply

TAGS_TO_APPLY = { ‘deployed_via’: ‘manual’, ’env_name’: ‘development’, ‘projectid’: ‘ID-12345’, }

def tag_cloudwatch_log_groups(): logs_client = boto3.client(’logs’, region_name=AWS_REGION)

paginator = logs_client.get_paginator('describe_log_groups')
for page in paginator.paginate():
    for log_group in page['logGroups']:
        log_group_name = log_group['logGroupName']
        existing_tags = logs_client.list_tags_log_group(logGroupName=log_group_name).get('tags', {})

        if not existing_tags:
            print(f"Adding tags to log group '{log_group_name}'")
            logs_client.tag_log_group(
                logGroupName=log_group_name,
                tags=TAGS_TO_APPLY
            )
        else:
            print(f"Log group '{log_group_name}' already has tags. Skipping.")

if name == ‘main’: tag_cloudwatch_log_groups()

Αυτό το script θα διατρέξει όλα τα CloudWatch log groups σου, εφαρμόζοντας tags μόνο σε log groups που δεν έχουν καθόλου.

Πλεονεκτήματα

  • Απλοποιημένη διαχείριση πόρων
  • Ενισχυμένη κατανομή κόστους και auditing
  • Βελτιστοποιημένες λειτουργικές εργασίες

Συμπέρασμα

Η αυτοματοποίηση του tagging των CloudWatch log groups με χρήση Python και Boto3 απλοποιεί τις διαχειριστικές εργασίες και βοηθά στη διατήρηση ενός καλά οργανωμένου και οικονομικά αποδοτικού AWS περιβάλλοντος.