Eficiência Operacional: Como configurar diagnostic settings em escala no Azure Logic Apps
TL;DR: Configurar diagnostic settings manualmente em dezenas de Azure Logic Apps (Consumption) é tedioso e propenso a erros. Este artigo apresenta o LA-BulkDiag, um script PowerShell que automatiza essa tarefa em escala, permitindo a configuração em lote, suporte a dry-runs com -WhatIf e tratamento seguro de nomes. A ferramenta garante conformidade com logs em Log Analytics ou Storage Accounts, sendo uma solução prática para times de DevOps otimizarem a observabilidade em ambientes Azure complexos.
Se você já precisou gerenciar um resource group com dezenas de instâncias de Logic Apps (Consumption) sob a pressão de conformidade, conhece a dor do processo manual. Através do Azure Portal, o esforço é repetitivo e arriscado, dado que o upsert da API pode sobrescrever configurações existentes sem aviso prévio.
O LA-BulkDiag surge como uma alternativa pragmática via PowerShell para otimizar esse workflow.
O que o LA-BulkDiag entrega para sua engenharia?
O script não é apenas um wrapper de APIs, mas uma ferramenta consultiva para o dia a dia do seu time de SRE:
- Visibilidade clara: Gera uma tabela numerada de todos os Consumption Logic Apps no seu resource group, detalhando o estado atual de cada um.
- Escopo flexível: Permite aplicar as configurações apenas nos recursos que não possuem diagnóstico (“bare”), em todos, ou em um subconjunto selecionado.
- Segurança de Deployment: O mecanismo de auto-rename evita colisões de nomes, salvando você de apagar acidentalmente configurações do time de segurança ou governança.
- Prontidão para CI/CD: Com códigos de saída para falhas, facilita a integração em pipelines de infraestrutura como código.
- Segurança e Validação: Inclui um flag
-WhatIfpara simulação antes de qualquer modificação.
Primeiros Passos
Rodar o script é simples:
git clone https://github.com/dengyanbo/LA-BulkDiag.git
cd LA-BulkDiag
.\Set-LogicAppDiagnostics.ps1 -ResourceGroup my-rg -SettingName la-diag
Automatização em esteiras (CI)
Para cenários de automação sem intervenção humana:
$wsId = az monitor log-analytics workspace show -g ws-rg -n my-ws --query id -o tsv
.\Set-LogicAppDiagnostics.ps1 -ResourceGroup my-rg -WorkspaceId $wsId -SettingName la-diag -Selection bare
Pontos de Atenção Estratégicos
- Limitações: O script não cobre o plano Standard nem Event Hubs.
- Idempotência: A estratégia de auto-rename evita erros, mas a limpeza de configurações antigas deve ser feita com comandos específicos de deleção.
Para a documentação completa, acesse o repositório oficial dengyanbo/LA-BulkDiag.