Automatizando a Taggeamento de CloudWatch Log Groups com Python e Boto3

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:DescribeLogGroupslogs:ListTagsLogGrouplogs: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.
Mais de Ercan
Mais dois sites, mesmo autor, terreno diferente.
IA, LLMs, agentes, ML aplicado.
Notas de campo sobre cargas de IA. Análise de custos do Bedrock, padrões de agentes, trade-offs de armazenamento vetorial, modos de falha em produção.
Visitar ercan.ai →O hub. Sobre, consultoria, contato.
Hub pessoal para as duas trilhas de escrita. Quem sou eu, como funciona a consultoria, como me contatar.
Visitar ercanermis.com →