Gerer les tags pour les groupes de logs AWS CloudWatch est crucial pour la visibilite operationnelle, la gestion des couts et une organisation efficace des ressources. Taguer les groupes de logs manuellement peut etre fastidieux, surtout lorsqu'on traite un grand nombre de groupes de logs. Cet article presente une methode simple pour automatiser cette tache avec Python et le SDK AWS pour Python (Boto3).

Importance de l'Automatisation du Tagging des Groupes de Logs CloudWatch

L'automatisation garantit :

  • Un tagging coherent sur toutes vos ressources AWS.
  • Une reduction de l'effort manuel et des erreurs humaines.
  • Une capacite amelioree a suivre les couts et l'utilisation avec precision.

Prerequis

  • Python 3 installe
  • AWS CLI configure avec les permissions appropriees
  • Boto3 (pip install boto3)
  • Permissions IAM :
    • logs:DescribeLogGroups
    • logs:ListTagsLogGroup
    • logs:TagLogGroup

Script Python pour Tagger les Groupes de Logs CloudWatch

Voici un script Python qui applique automatiquement des tags specifiques aux groupes de logs AWS CloudWatch qui n'ont actuellement aucun tag.

Script Python

import boto3

AWS_REGION = ‘us-east-1’ # Remplacez par votre region

Tags a appliquer

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"Ajout de tags au groupe de logs '{log_group_name}'")
            logs_client.tag_log_group(
                logGroupName=log_group_name,
                tags=TAGS_TO_APPLY
            )
        else:
            print(f"Le groupe de logs '{log_group_name}' a deja des tags. Ignore.")

if name == ‘main’: tag_cloudwatch_log_groups()

Ce script parcourt tous vos groupes de logs CloudWatch et applique des tags uniquement aux groupes de logs qui n'en ont actuellement aucun.

Avantages

  • Gestion simplifiee des ressources
  • Meilleure repartition des couts et audit
  • Taches operationnelles rationalisees

Conclusion

Automatiser le tagging des groupes de logs CloudWatch avec Python et Boto3 simplifie les taches administratives et aide a maintenir un environnement AWS bien organise et economique.