Implantar com infraestrutura como código no Agente SRE do Azure

Implante Azure agente SRE programaticamente usando modelos do repositório microsoft/sre-agent.

Gorjeta

  • Quatro backends de implantação: Bicep, Terraform, PowerShell e CLI do Azure Developer
  • receitas Predefinidas para cenários comuns (Azure Monitor, PagerDuty, Dynatrace)
  • Um comando para ir de zero para um agente em execução: ./bin/deploy.sh my-agent/
  • Operações do dia 2: exportar, clonar, diferir e verificar agentes usando as mesmas ferramentas da CLI

Overview

O repositório microsoft/sre-agent fornece modelos iac prontos para produção para implantar Azure Agente SRE. Use estes modelos para:

  • Automatizar implantações em pipelines de CI/CD
  • Configuração do agente de controle de versão no Git
  • Replicar agentes em ambientes (desenvolvimento de preparo para produção)
  • Padronizar a configuração usando receitas predefinidas

Pré-requisitos

Tool Obrigatório para Install
CLI do Azure 2.x+ Todos os back-ends Instalar
jq Todos os back-ends brew install jq ou apt install jq
Terraform 1.5+ Apenas Terraform Instalar
PowerShell 7+ Somente PowerShell Instalar
Azure Developer CLI apenas azd Instalar

Permissões do Azure: Proprietário na assinatura ou Colaborador + Administrador de acesso do usuário.

Verifique os pré-requisitos:

git clone https://github.com/microsoft/sre-agent.git
cd sre-agent/sreagent-templates
bash bin/check-prerequisites.sh

Início rápido

# 1. Generate config from a recipe
./bin/new-agent.sh --recipe azmon-lawappinsights --non-interactive \
  --set agentName=my-agent \
  --set resourceGroup=rg-my-agent \
  --set location=eastus2 \
  --set targetRGs=rg-my-workload \
  -o my-agent/

# 2. Deploy (~3 minutes)
./bin/deploy.sh my-agent/

Após a implantação, a CLI imprime a URL do portal e o ponto de extremidade do plano de dados:

Agent (portal):  https://sre.azure.com/#/agent/{sub}/{rg}/my-agent
Data plane:      https://my-agent.eastus2.azuresre.ai

Clonar um agente existente

./bin/clone-agent.sh \
  --from-agent prod-agent --from-rg rg-prod \
  --set agentName=staging-agent --set resourceGroup=rg-staging \
  -o staging-agent/

Exporta a configuração do agente de origem e implanta em um novo nome e grupo de recursos. Isso é útil para replicação entre ambientes.

Receitas

Pontos de partida predefinidos para cenários comuns, como Azure Monitor resposta a alertas, gerenciamento de incidentes do PagerDuty e integração do Dynatrace. Microsoft adiciona regularmente novas receitas.

Procure as receitas disponíveis no repositório de modelos.

# List available recipes
ls recipes/

# Generate config from a recipe
./bin/new-agent.sh --recipe azmon-lawappinsights \
  --set agentName=prod-agent \
  --set resourceGroup=rg-prod-agent \
  --set location=swedencentral \
  -o prod-agent/

Implantar back-ends

Os modelos dão suporte a quatro back-ends de implantação. Cada um usa o mesmo diretório de configuração - escolha aquele que se ajuste ao seu ambiente:

Backend Command Usar quando
Bicep ./bin/deploy.sh my-agent/ Padrão – usa az deployment sub create
Terraform ./bin/deploy-tf.sh my-agent/ Infraestrutura gerenciada pelo Terraform
PowerShell .\bin\ps\Deploy-Agent.ps1 -InputPath .\my-agent\ ambientes do Windows/PowerShell 7
CLI para Desenvolvedores do Azure cd my-agent/ && azd up fluxos de trabalho baseados em azd

Todos os backends suportam --what-if / --dry-run para validação sem implantação. Para obter referência completa de comando, sinalizadores e requisitos, consulte o repositório README.

Estrutura do diretório de configuração

Quando você executa new-agent.sh, ele gera um diretório de configuração:

my-agent/
├── agent.json              # Agent identity, model, settings
├── connectors.json         # Data sources (App Insights, Log Analytics, MCP endpoints)
├── connectors.secrets.env  # Secrets — auto-gitignored
├── roles.yaml              # RBAC role assignments
├── config/
│   ├── skills/             # Skill instructions (YAML + markdown)
│   ├── subagents/          # Subagent definitions (YAML + markdown instructions)
│   ├── hooks/              # Safety guardrails (YAML)
│   ├── common-prompts/     # Shared prompt instructions
│   └── repos/              # Code repository connections
├── automations/
│   ├── scheduled-tasks/    # Recurring automated tasks
│   ├── incident-filters/   # Incident routing rules
│   └── incident-platforms/  # Incident platform connections
└── data/
    ├── knowledge/          # Upload docs, runbooks, reference material
    └── synthesized-knowledge/ # Agent's learned context

Edite esses arquivos para personalizar o agente antes da implantação.

O que é implantado

A implantação ocorre em duas fases.

Fase 1: ARM (infraestrutura)

Recurso Purpose
Grupo de Recursos Contêiner para todos os recursos
Identidade gerenciada atribuída pelo usuário Identidade do Azure do Agente
Espaço de Trabalho de Log Analytics Registro e diagnósticos
Application Insights Telemetry
Agente SRE (Microsoft.App/agents) O próprio agente
Atribuições de função do RBAC Leitor, Leitor de Monitoramento, Leitor de Log Analytics, Administrador do Agente SRE
Conectores, habilidades, subagentes, ferramentas Configuração do agente por meio de sub-recursos do ARM

Fase 2: plano de dados (configuração que o ARM ainda não pode manipular)

Recurso Motivo do plano de dados
Repositórios de código Exigir autenticação git (PAT/OAuth)
Ganchos Ainda não expostos como sub-recursos do ARM no momento da implantação
Gatilhos HTTP Gerado no servidor com URLs exclusivas
Arquivos de conhecimento Upload de arquivo binário
Configurações de plug-in API apenas de plano de dados

Note

O script apply-extras.sh manipula a Fase 2 automaticamente após a conclusão da implantação do Bicep/Terraform. Se o token do plano de dados estiver indisponível (por exemplo, em um ambiente de CI/CD restrito), ele imprimirá o que foi ignorado para que você possa terminar em uma máquina com acesso.

Parâmetros chave

Quando você gerar uma configuração usandonew-agent.sh --set, insira valores como agentName, e resourceGrouplocationtargetRGs. O processo converte esses valores em parâmetros de implantação para Bicep ou Terraform.

Para obter a lista completa de parâmetros, alternâncias de recursos e seus padrões, consulte o README do repositório.

Operações do dia 2

Os modelos incluem scripts para gerenciamento contínuo:

Operação O que faz
Exportação Criar um diretório de configuração de um agente em execução – útil para backup ou migração
Clonar Exportar um agente de origem e implantar em um novo nome e grupo de recursos
Diff Comparar a configuração local com o agente ativo
Verify Execute uma verificação de 22 pontos no agente humano (conectores, habilidades, subagentes, ganchos)

Para obter comandos e uso, consulte o repositório README.