Gerenciar tags para CloudWatch log groups da AWS e crucial para visibilidade operacional, gestao de custos e organizacao eficaz de recursos. Marcar log groups manualmente pode ser trabalhoso, especialmente ao lidar com um grande numero de log groups. Este artigo apresenta um metodo direto para automatizar essa tarefa usando Python e o AWS SDK para Python (Boto3).

Importancia de Automatizar o Taggeamento de CloudWatch Log Groups

A automacao garante:

  • Taggeamento consistente em todos os seus recursos AWS.
  • Reducao do esforco manual e erros humanos.
  • Maior capacidade de rastrear custos e uso com precisao.

Pre-requisitos

  • Python 3 instalado
  • AWS CLI configurada com permissoes apropriadas
  • Boto3 (pip install boto3)
  • Permissoes IAM:
    • logs:DescribeLogGroups
    • logs:ListTagsLogGroup
    • logs:TagLogGroup

Script Python para Taggear CloudWatch Log Groups

Abaixo esta um script Python que aplica automaticamente tags especificas aos CloudWatch log groups da AWS que atualmente nao possuem tags.

Script Python

import boto3

AWS_REGION = ‘us-east-1’ # Substitua pela sua regiao

Tags a aplicar

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"Adicionando tags ao 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}' ja possui tags. Pulando.")

if name == ‘main’: tag_cloudwatch_log_groups()

Este script vai percorrer todos os seus CloudWatch log groups, aplicando tags apenas aos log groups que atualmente nao possuem nenhuma.

Vantagens

  • Gerenciamento de recursos simplificado
  • Alocacao de custos e auditoria aprimoradas
  • Tarefas operacionais otimizadas

Conclusao

Automatizar o taggeamento de CloudWatch log groups usando Python e Boto3 simplifica as tarefas administrativas e ajuda a manter um ambiente AWS bem organizado e com boa relacao custo-beneficio.