Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Programowe wdrażanie agenta SRE Azure przy użyciu szablonów z repozytorium microsoft/sre-agent.
Wskazówka
- Cztery mechanizmy wdrażania: Bicep, Terraform, PowerShell i Azure Developer CLI
- Gotowe receptury dla typowych scenariuszy (Azure Monitor, PagerDuty, Dynatrace)
-
Jedno polecenie umożliwiające przejście z zera do uruchomionego agenta:
./bin/deploy.sh my-agent/ - Operacje drugiego dnia: eksportowanie, klonowanie, porównywanie i weryfikowanie agentów za pomocą tych samych narzędzi wiersza polecenia
Overview
Repozytorium microsoft/sre-agent udostępnia gotowe do produkcji szablony IaC do wdrażania agenta Azure SRE. Użyj następujących szablonów, aby:
- Automatyzuj wdrożenia w potokach CI/CD
- Konfiguracja agenta kontroli wersji w Git
- Replikuj agentów między środowiskami (od deweloperskiego przez testowe po produkcyjne)
- Standaryzuj konfigurację przy użyciu gotowych receptur
Wymagania wstępne
| Narzędzie | Wymagane dla | Install |
|---|---|---|
| Azure CLI 2.x+ | Wszystkie zaplecza | Install |
| jq | Wszystkie zaplecza |
brew install jq lub apt install jq |
| Terraform 1.5+ | Tylko Terraform | Install |
| PowerShell 7+ | Tylko program PowerShell | Install |
| Azure Developer CLI | tylko azd | Install |
Uprawnienia platformy Azure: Właściciel na poziomie subskrypcji lub Współautor + Administrator dostępu użytkowników.
Zweryfikuj wymagania wstępne:
git clone https://github.com/microsoft/sre-agent.git
cd sre-agent/sreagent-templates
bash bin/check-prerequisites.sh
Szybki 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 wdrożeniu interfejs wiersza polecenia wyświetla adres URL portalu i punkt końcowy płaszczyzny danych:
Agent (portal): https://sre.azure.com/#/agent/{sub}/{rg}/my-agent
Data plane: https://my-agent.eastus2.azuresre.ai
Klonowanie istniejącego agenta
./bin/clone-agent.sh \
--from-agent prod-agent --from-rg rg-prod \
--set agentName=staging-agent --set resourceGroup=rg-staging \
-o staging-agent/
Eksportuje konfigurację agenta źródłowego i wdraża je w nowej nazwie i grupie zasobów. Jest to przydatne w przypadku replikowania między środowiskami.
Przepisy
Wstępnie przygotowane szablony dla typowych scenariuszy, takich jak reagowanie na alerty w usłudze Azure Monitor, zarządzanie incydentami w PagerDuty i integracja z Dynatrace. Microsoft regularnie dodaje nowe przepisy.
Przeglądaj dostępne przepisy w repozytorium szablonów.
# 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/
Wdróż backendy
Szablony obsługują cztery zaplecza wdrażania. Każdy z nich używa tego samego katalogu konfiguracji — wybierz ten, który pasuje do twojego środowiska:
| Backend | Command | Użyj, gdy |
|---|---|---|
| Bicep | ./bin/deploy.sh my-agent/ |
Ustawienie domyślne — używa az deployment sub create |
| Terraform | ./bin/deploy-tf.sh my-agent/ |
Infrastruktura zarządzana przez program Terraform |
| PowerShell | .\bin\ps\Deploy-Agent.ps1 -InputPath .\my-agent\ |
środowiska Windows/PowerShell 7 |
| Azure Developer CLI | cd my-agent/ && azd up |
azd oparte na przepływach pracy |
Wszystkie backendy obsługują --what-if / --dry-run do walidacji bez wdrażania. Pełny opis poleceń, flag i wymagań znajdziesz w pliku README repozytorium.
Struktura katalogu konfiguracji
Po uruchomieniu polecenie new-agent.shgeneruje katalog konfiguracji:
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
Edytuj te pliki, aby dostosować agenta przed wdrożeniem.
Co jest wdrażane
Wdrożenie odbywa się w dwóch fazach.
Faza 1: ARM (infrastruktura)
| Resource | Purpose |
|---|---|
| Grupa zasobów | Kontener na wszystkie zasoby |
| Użytkownikowi Przypisana Tożsamość Zarządzana | Tożsamość agenta platformy Azure |
| Obszar roboczy usługi Log Analytics | Rejestrowanie i diagnostyka |
| Application Insights | Telemetry |
Agent SRE (Microsoft.App/agents) |
Agent jako taki |
| Przypisania ról RBAC | Czytelnik, Czytelnik monitorowania, Czytelnik Log Analytics, Administrator agenta SRE |
| Łączniki, umiejętności, subagenty, narzędzia | Konfiguracja agenta przy użyciu podzasobów ARM |
Faza 2: Płaszczyzna danych (konfiguracja, której ARM nie może jeszcze obsłużyć)
| Resource | Przyczyna płaszczyzny danych |
|---|---|
| Repozytoria kodu | Wymagaj uwierzytelniania Git (PAT/OAuth) |
| Punkty zaczepienia | Jeszcze nie udostępnione jako podrzędne zasoby ARM podczas wdrażania |
| Wyzwalacze HTTP | Generowane po stronie serwera z unikatowymi adresami URL |
| Pliki wiedzy | Przekazywanie pliku binarnego |
| Konfiguracje wtyczek | Interfejs API wyłącznie dla płaszczyzny danych |
Note
Skrypt apply-extras.sh obsługuje fazę 2 automatycznie po zakończeniu wdrażania Bicep/Terraform. Jeśli token płaszczyzny danych jest niedostępny (na przykład w ograniczonym środowisku CI/CD), wyświetla, co zostało pominięte, aby można było dokończyć operację na komputerze z dostępem.
Kluczowe parametry
Podczas generowania konfiguracji przy użyciu polecenia new-agent.sh --setwprowadź wartości, takie jak agentName, resourceGroup, locationi targetRGs. Ten proces przekształca te wartości w parametry wdrożenia dla Bicep lub Terraform.
Aby uzyskać pełną listę parametrów, przełączeń funkcji i ich wartości domyślnych, zobacz plik README repozytorium.
Operacje drugiego dnia
Szablony obejmują skrypty do ciągłego zarządzania:
| Operacja | Co to robi |
|---|---|
| Eksportowanie | Tworzenie katalogu konfiguracji na podstawie uruchomionego agenta — przydatne do tworzenia kopii zapasowej lub migracji |
| Klon | Wyeksportuj agenta źródłowego i wdróż go pod nową nazwą oraz do nowej grupy zasobów |
| Diff | Porównanie konfiguracji lokalnej z agentem na żywo |
| Verify | Uruchamianie 22-punktowej kontroli względem agenta na żywo (łączniki, umiejętności, podagenty, punkty zaczepienia) |
Aby uzyskać informacje o poleceniach i użyciu, zobacz plik README repozytorium.