Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Implemente Azure SRE Agent programaticamente usando modelos do repositório microsoft/sre-agent.
Dica
- Quatro backends de implementação: Bicep, Terraform, PowerShell e Azure Developer CLI
- Receitas pré-construídas 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 segundo dia: exportar, clonar, diferenciar e verificar agentes utilizando as mesmas ferramentas de CLI
Overview
O repositório microsoft/sre-agent fornece modelos IaC prontos para produção para implementar Azure SRE Agent. Use estes modelos para:
- Automatize implementações em pipelines de CI/CD
- Configuração do agente de controlo de versões no Git
- Replicar agentes entre ambientes (de desenvolvimento para staging para produção)
- Normalize a configuração usando receitas pré-criadas
Pré-requisitos
| Tool | Necessário para | Install |
|---|---|---|
| CLI do Azure 2.x+ | Todos os sistemas de back-end | Install |
| jq | Todos os sistemas de back-end |
brew install jq ou apt install jq |
| Terraform 1.5+ | Apenas Terraform | Install |
| PowerShell 7+ | Somente PowerShell | Install |
| Azure Developer CLI | Apenas azd | Install |
Permissões do Azure: Proprietário na subscrição ou Contribuidor + Administrador de Acesso de Utilizador.
Verificar 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 implementação, a CLI imprime a URL do portal e o ponto final 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 implementa para um novo nome e grupo de recursos. Isto é útil para replicar entre ambientes.
Receitas
Pontos de partida pré-construídos para cenários comuns como resposta a alertas do Azure Monitor, gestão de incidentes com PagerDuty e integração com o Dynatrace. A Microsoft adiciona regularmente novas receitas.
Navegue pelas 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/
Deploy backends
Os templates suportam quatro backends de implementação. Cada um usa o mesmo diretório de configuração – escolhe aquele que se adequa ao teu ambiente:
| Backend | Comando | Utilizar quando |
|---|---|---|
| Bicep | ./bin/deploy.sh my-agent/ |
Padrão - utiliza az deployment sub create |
| Terraform | ./bin/deploy-tf.sh my-agent/ |
Infraestrutura gerida pelo Terraform |
| PowerShell | .\bin\ps\Deploy-Agent.ps1 -InputPath .\my-agent\ |
Ambientes Windows / PowerShell 7 |
| CLI para Desenvolvedores do Azure | cd my-agent/ && azd up |
Fluxos de trabalho baseados em azd |
Todos os back-ends suportam --what-if / --dry-run para validação sem implementar. Para referência completa de comandos, flags e requisitos, consulte o repositório README.
Estrutura de diretórios de configuração
Quando executas new-agent.sh, 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 estes ficheiros para personalizar o seu agente antes de implementar.
O que é implementado
A implementação ocorre em duas fases.
Fase 1: ARM (infraestrutura)
| Recurso | Purpose |
|---|---|
| Grupo de Recursos | Contentor para todos os recursos |
| Identidade Gerida Atribuída pelo Utilizador | Identidade Azure do agente |
| Espaço de Trabalho do Log Analytics | Registo e diagnóstico |
| Application Insights | Telemetry |
Agente SRE (Microsoft.App/agents) |
O próprio agente |
| Atribuições de funções RBAC | Leitor, Leitor de Monitorização, Leitor de Log Analytics, Administrador de Agente SRE |
| Conectores, competências, subagentes, ferramentas | Configuração do agente via sub-recursos ARM |
Fase 2: Plano de dados (configuração que o ARM ainda não consegue gerir)
| Recurso | Razão para o plano de dados |
|---|---|
| Repositórios de código | Exigir autenticação Git (PAT/OAuth) |
| Ganchos | Ainda não expostos como subrecursos do ARM no momento da implantação |
| Gatilhos HTTP | Gerado do lado do servidor com URLs únicas |
| Ficheiros de conhecimento | Carregamento binário de ficheiros |
| Configurações de plugins | API apenas para planos de dados |
Note
O script apply-extras.sh processa automaticamente a Fase 2 depois de concluída a implementação com Bicep/Terraform. Se o token do plano de dados não estiver disponível (por exemplo, num ambiente de CI/CD restrito), apresenta o que foi omitido, para que seja possível concluir o processo a partir de uma máquina com acesso.
Parâmetros-chave
Quando gera uma configuração usando new-agent.sh --set, introduza valores como agentName, resourceGroup, location, e targetRGs. O processo traduz estes valores em parâmetros de implantação para Bicep ou Terraform.
Para a lista completa de parâmetros, alternâncias de funcionalidades e os seus predefinidos, consulte o repositório README.
Operações do segundo dia
Os modelos incluem scripts para gestão contínua:
| Operation | O que faz |
|---|---|
| Export | Crie um diretório de configuração a partir de um agente em execução - útil para backup ou migração |
| Clone | Exporte um agente de origem e implemente para um novo nome e grupo de recursos |
| Diferença | Compara a tua configuração local com a agente ativa |
| Verify | Faz uma verificação de 22 pontos contra o agente ativo (conectores, competências, subagentes, ganchos) |
Para comandos e utilização, consulte o repositório README.