Distribuera med hjälp av infrastruktur som kod i Azure SRE Agent

Distribuera Azure SRE Agent programmatiskt med hjälp av mallar från lagringsplatsen microsoft/sre-agent.

Tips/Råd

  • Fyra distributionsbakändar: Bicep, Terraform, PowerShell och Azure Developer CLI
  • Fördefinierade recept för vanliga scenarier (Azure Monitor, PagerDuty, Dynatrace)
  • Ett kommando för att gå från noll till en agent som körs: ./bin/deploy.sh my-agent/
  • Dag 2-åtgärder: exportera, klona, diff och verifiera agenter med samma CLI-verktyg

Overview

Lagringsplatsen microsoft/sre-agent innehåller produktionsklara IaC-mallar för distribution av Azure SRE-agent. Använd följande mallar för att:

  • Automatisera driftsättningar i CI/CD-pipelines
  • Konfiguration av versionskontrollagent i Git
  • Replikera agenter mellan miljöer (utveckling till mellanlagring till prod)
  • Standardisera konfigurationen med hjälp av fördefinierade recept

Förutsättningar

Verktyg Krävs för Install
Azure CLI 2.x+ Alla backendar Install
jq Alla backendar brew install jq eller apt install jq
Terraform 1.5+ Endast Terraform Install
PowerShell 7+ Endast PowerShell Install
Azure Developer CLI (kommandoradsgränssnitt) endast azd Install

Azure-behörigheter: Ägare för prenumerationen, eller Deltagare + Administratör för användaråtkomst.

Kontrollera förutsättningarna:

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

Snabbstart

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

Efter distributionen skriver CLI ut portalens URL och dataplanets slutpunkt:

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

Klona en befintlig agent

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

Exporterar källagentens konfiguration och distribueras till ett nytt namn och en ny resursgrupp. Detta är användbart för replikering mellan miljöer.

Recept

Fördefinierade startpunkter för vanliga scenarier som Azure Monitor aviseringssvar, PagerDuty-incidenthantering och Dynatrace-integrering. Microsoft lägger regelbundet till nya recept.

Bläddra bland tillgängliga recept i malllagringsplatsen.

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

Driftsätt backendtjänster

Mallarna har stöd för fyra bakändar för driftsättning. Var och en använder samma konfigurationskatalog – välj den som passar din miljö:

Backend Kommando Använd när
Bicep ./bin/deploy.sh my-agent/ Standard – använder az deployment sub create
Terraform ./bin/deploy-tf.sh my-agent/ Terraform-hanterad infrastruktur
PowerShell .\bin\ps\Deploy-Agent.ps1 -InputPath .\my-agent\ Windows/PowerShell 7-miljöer
Azure Developer CLI cd my-agent/ && azd up azd-baserade arbetsflöden

Alla backendar stöder validering med --what-if / --dry-run utan att driftsätta. Fullständig kommandoreferens, flaggor och krav finns i lagringsplatsens README.

Struktur för konfigurationskatalog

När du kör new-agent.shgenererar den en konfigurationskatalog:

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

Redigera dessa filer för att anpassa din agent innan du distribuerar.

Vad driftsätts

Distributionen sker i två faser.

Fas 1: ARM (infrastruktur)

Resource Purpose
Resursgrupp Container för alla resurser
Användartilldelad hanterad identitet Agentens Azure identitet
Log Analytics-arbetsyta Loggning och diagnostik
Application Insights Telemetri
SRE Agent (Microsoft.App/agents) Själva agenten
RBAC-rolltilldelningar Läsare, Övervakningsläsare, Log Analytics-läsare, SRE-agentadministratör
Anslutningar, funktioner, underagenter, verktyg Agentkonfiguration via ARM-underresurser

Fas 2: Dataplan (konfiguration som ARM inte kan hantera ännu)

Resource Orsak till dataplan
Kodlagringsplatser Kräv Git-autentisering (PAT/OAuth)
Hookar Ännu inte exponerad som ARM-underresurser vid distributionstillfället
HTTP-utlösare Genererad serversida med unika URL:er
Kunskapsfiler Uppladdning av binär fil
Plugin-konfigurationer API för endast dataplan

Note

Skriptet apply-extras.sh hanterar fas 2 automatiskt när Bicep/Terraform-distributionen har slutförts. Om dataplanstoken inte är tillgänglig (till exempel i en begränsad CI/CD-miljö) skriver den ut det som hoppades över så att du kan slutföra från en dator med åtkomst.

Nyckelparametrar

När du genererar en konfiguration med hjälp new-agent.sh --setav anger du värden som agentName, resourceGroup, locationoch targetRGs. Processen översätter dessa värden till distributionsparametrar för Bicep eller Terraform.

Den fullständiga listan över parametrar, funktionsväxlingar och deras standardvärden finns i lagringsplatsens README.

Dag-2-åtgärder

Mallarna innehåller skript för löpande hantering:

Operation Vad den gör
Export Skapa en konfigurationskatalog från en agent som körs – användbart för säkerhetskopiering eller migrering
Klona Exportera en källagent och distribuera till ett nytt namn och en ny resursgrupp
Diff Jämför din lokala konfiguration med liveagenten
Verify Kör en kontroll i 22 punkter mot den aktiva agenten (kopplingar, kompetenser, underagenter, hookar)

För kommandon och användning, se lagringsplatsen README.