Nasazení s využitím infrastruktury jako kódu v agentovi Azure SRE

Programově nasaďte agenta Azure SRE pomocí šablon z úložiště microsoft/sre-agent.

Tip

  • Čtyři backendy pro nasazení: Bicep, Terraform, PowerShell a Azure Developer CLI
  • Předpřipravené postupy pro běžné scénáře (Azure Monitor, PagerDuty, Dynatrace)
  • Jeden příkaz pro vytvoření spuštěného agenta od nuly: ./bin/deploy.sh my-agent/
  • Operace 2 dne: export, klonování, rozdíl a ověřování agentů pomocí stejných nástrojů rozhraní příkazového řádku

Overview

Úložiště microsoft/sre-agent poskytuje šablony IaC připravené pro produkční prostředí pro nasazení Azure agenta SRE. Pomocí těchto šablon můžete:

  • Automatizace nasazení v kanálech CI/CD
  • Konfigurace agenta správy verzí v Gitu
  • Replikujte agenty napříč prostředími (z vývoje do stagingu až do produkce)
  • Standardizace nastavení pomocí předem připravených receptů

Předpoklady

nástroj Požadováno pro Install
Azure CLI 2.x+ Všechny backendy Nainstalovat
jq Všechny backendy brew install jq nebo apt install jq
Terraform 1,5 nebo novější Jen Terraform Nainstalovat
PowerShell 7 a novější Jenom PowerShell Nainstalovat
Azure Developer CLI pouze azd Nainstalovat

Azure oprávnění: Vlastník předplatného nebo Přispěvatel + Správce uživatelských přístupů.

Ověřte, že jsou splněny požadavky:

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

Rychlý start

# 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/

Po nasazení rozhraní příkazového řádku vytiskne adresu URL portálu a koncový bod roviny dat:

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

Klonování existujícího agenta

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

Exportuje konfiguraci zdrojového agenta a nasadí ji do nového názvu a skupiny prostředků. To je užitečné pro replikaci napříč prostředími.

Recepty

Předem připravené výchozí body pro běžné scénáře, jako jsou reakce na upozornění Azure Monitor, správa incidentů PagerDuty a integrace Dynatrace. Microsoft pravidelně přidává nové recepty.

Projděte si dostupné recepty v úložišti šablon.

# 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/

Nasaďte backendy

Šablony podporují čtyři způsoby nasazení. Každý používá stejný konfigurační adresář – vyberte ten, který odpovídá vašemu prostředí:

Backend Command Použít, když
Bicep ./bin/deploy.sh my-agent/ Výchozí – používá az deployment sub create
Terraform ./bin/deploy-tf.sh my-agent/ Infrastruktura spravovaná Terraformem
PowerShell .\bin\ps\Deploy-Agent.ps1 -InputPath .\my-agent\ prostředí Windows / PowerShell 7
Azure Cli pro vývojáře cd my-agent/ && azd up Pracovní postupy založené na AZD

Všechny backendy podporují --what-if / --dry-run pro ověření bez nasazení. Úplný odkaz na příkazy, příznaky a požadavky najdete v souboru README úložiště.

Konfigurace adresářové struktury

Při spuštění new-agent.shvygeneruje konfigurační adresář:

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

Před nasazením upravte tyto soubory a přizpůsobte si agenta.

Co se nasazuje

Nasazení probíhá ve dvou fázích.

Fáze 1: ARM (infrastruktura)

zdroj Purpose
Skupina zdrojů Kontejner pro všechny prostředky
uživatelsky přiřazená spravovaná identita Identita agenta v Azure
Pracovní prostor služby Log Analytics Protokolování a diagnostika
Application Insights Telemetrie
Agent SRE (Microsoft.App/agents) Samotný agent
Přiřazení rolí RBAC Čtenář, Čtenář monitorování, Čtenář Log Analytics, Správce agenta SRE
Konektory, schopnosti, subagenti, nástroje Konfigurace agenta prostřednictvím dílčích prostředků ARM

Fáze 2: Rovina dat (konfigurace, kterou ARM ještě nedokáže zpracovat)

zdroj Důvod datové roviny
Úložiště kódu Vyžadovat ověření pro Git (PAT/OAuth)
Háčky V době nasazení ještě není zpřístupněno jako dílčí prostředky ARM.
HTTP spouštěče Generováno na straně serveru s jedinečnými adresami URL
Znalostní soubory Nahrání binárního souboru
Konfigurace zásuvných modulů Rozhraní API pouze pro datovou rovinu

Note

Skript apply-extras.sh zpracovává fázi 2 automaticky po dokončení nasazení Bicep/Terraformu. Pokud token datové roviny není k dispozici (například v omezeném prostředí CI/CD), vypíše se, co bylo přeskočeno, abyste to mohli dokončit z počítače s přístupem.

Klíčové parametry

Při generování konfigurace pomocí new-agent.sh --set, zadejte hodnoty, například agentName, resourceGroup, locationa targetRGs. Tento proces tyto hodnoty přeloží do parametrů nasazení pro Bicep nebo Terraform.

Úplný seznam parametrů, přepínačů funkcí a jejich výchozích hodnot najdete v souboru README úložiště.

Operace den-2

Šablony zahrnují skripty pro průběžnou správu:

Operace Co to dělá
Export Vytvoření konfiguračního adresáře ze spuštěného agenta – užitečné pro zálohování nebo migraci
Klonovat Exportovat zdrojového agenta a nasadit ho pod novým názvem a do nové skupiny prostředků
Diff Porovnání místní konfigurace s živým agentem
Verify Spusťte 22bodovou kontrolu u živého agenta (konektory, dovednosti, subagenti, hooky)

Informace o příkazech a použití najdete v README repozitáře.