Gestire i tag per i gruppi di log di AWS CloudWatch è cruciale per la visibilità operativa, la gestione dei costi e un'organizzazione efficace delle risorse. Taggare manualmente i gruppi di log può essere complicato, specialmente quando si ha a che fare con un gran numero di gruppi di log. Questo articolo illustra un metodo semplice per automatizzare questo compito utilizzando Python e l'AWS SDK per Python (Boto3).

Importanza dell'Automazione della Taggatura dei Gruppi di Log CloudWatch

L'automazione garantisce:

  • Tagging coerente su tutte le risorse AWS.
  • Riduzione dello sforzo manuale e degli errori umani.
  • Migliore capacità di tracciare costi e utilizzo in modo accurato.

Prerequisiti

  • Python 3 installato
  • AWS CLI configurato con permessi appropriati
  • Boto3 (pip install boto3)
  • Permessi IAM:
    • logs:DescribeLogGroups
    • logs:ListTagsLogGroup
    • logs:TagLogGroup

Script Python per Taggare i Gruppi di Log CloudWatch

Di seguito è riportato uno script Python che applica automaticamente tag specifici ai gruppi di log di AWS CloudWatch che attualmente non hanno tag.

Script Python

import boto3

AWS_REGION = ‘us-east-1’ # Sostituisci con la tua regione

Tag da applicare

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"Aggiunta tag al gruppo di log '{log_group_name}'")
            logs_client.tag_log_group(
                logGroupName=log_group_name,
                tags=TAGS_TO_APPLY
            )
        else:
            print(f"Il gruppo di log '{log_group_name}' ha già dei tag. Saltato.")

if name == ‘main’: tag_cloudwatch_log_groups()

Questo script itera su tutti i tuoi gruppi di log CloudWatch, applicando i tag solo ai gruppi di log che attualmente non ne hanno.

Vantaggi

  • Gestione semplificata delle risorse
  • Allocazione dei costi e auditing migliorati
  • Operazioni amministrative ottimizzate

Conclusione

Automatizzare la taggatura dei gruppi di log CloudWatch utilizzando Python e Boto3 semplifica le attività amministrative e aiuta a mantenere un ambiente AWS ben organizzato ed economicamente efficiente.