Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Déployez Azure agent SRE par programmation à l’aide de modèles à partir du référentiel microsoft/sre-agent.
Tip
- Quatre méthodes de déploiement : Bicep, Terraform, PowerShell et Azure Developer CLI
- Recettes prédéfinies pour les scénarios courants (Azure Monitor, PagerDuty, Dynatrace)
-
Une commande pour passer de zéro à un agent en cours d’exécution :
./bin/deploy.sh my-agent/ - Opérations de jour 2 : exporter, cloner,diff et vérifier les agents à l’aide des mêmes outils CLI
Overview
Le référentiel microsoft/sre-agent fournit des modèles IaC prêts pour la production pour le déploiement Azure agent SRE. Utilisez ces modèles pour :
- Automatiser les déploiements dans les pipelines CI/CD
- Configuration de l’agent de contrôle de version dans Git
- Répliquer les agents entre les environnements (du développement à la préproduction puis à la production)
- Normaliser la configuration à l’aide de recettes prédéfinies
Prerequisites
| Outil | Obligatoire pour | Installez |
|---|---|---|
| Azure CLI 2.x+ | Tous les serveurs principaux | Installer |
| jq | Tous les serveurs principaux |
brew install jq ou apt install jq |
| Terraform 1.5+ | Terraform uniquement | Installer |
| PowerShell 7+ | PowerShell uniquement | Installer |
| Azure CLI pour développeurs | azd uniquement | Installer |
Azure autorisations : Propriétaire de l’abonnement ou Contributeur + Administrateur de l’accès utilisateur.
Vérifier les prérequis :
git clone https://github.com/microsoft/sre-agent.git
cd sre-agent/sreagent-templates
bash bin/check-prerequisites.sh
Démarrage rapide
# 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/
Après le déploiement, l’interface CLI imprime l’URL du portail et le point de terminaison du plan de données :
Agent (portal): https://sre.azure.com/#/agent/{sub}/{rg}/my-agent
Data plane: https://my-agent.eastus2.azuresre.ai
Cloner un agent existant
./bin/clone-agent.sh \
--from-agent prod-agent --from-rg rg-prod \
--set agentName=staging-agent --set resourceGroup=rg-staging \
-o staging-agent/
Exporte la configuration de l’agent source et se déploie sur un nouveau nom et un nouveau groupe de ressources. Cela est utile pour la réplication entre les environnements.
Recettes
Points de départ prédéfinis pour les scénarios courants tels que Azure Monitor réponse aux alertes, la gestion des incidents PagerDuty et l’intégration Dynatrace. Microsoft ajoute régulièrement de nouvelles recettes.
Parcourez les recettes disponibles dans le référentiel de modèles.
# 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/
Déployer des backends
Les modèles prennent en charge quatre back-ends de déploiement. Chacun utilise le même répertoire de configuration : choisissez celui qui correspond à votre environnement :
| Back-end | Command | À utiliser lorsque |
|---|---|---|
| Bicep | ./bin/deploy.sh my-agent/ |
Valeur par défaut : utilise az deployment sub create |
| Terraform | ./bin/deploy-tf.sh my-agent/ |
Infrastructure gérée par Terraform |
| Powershell | .\bin\ps\Deploy-Agent.ps1 -InputPath .\my-agent\ |
environnements Windows /PowerShell 7 |
| CLI Azure pour développeurs | cd my-agent/ && azd up |
flux de travail basés sur azd |
Tous les backends prennent en charge --what-if / --dry-run pour la validation sans effectuer de déploiement. Pour obtenir une référence complète des commandes, des indicateurs et des exigences, consultez le référentiel README.
Structure de répertoire de configuration
Lorsque vous exécutez new-agent.sh, il génère un répertoire de configuration :
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
Modifiez ces fichiers pour personnaliser votre agent avant le déploiement.
Ce qui est déployé
Le déploiement se produit en deux phases.
Phase 1 : ARM (infrastructure)
| Ressource | Purpose |
|---|---|
| Groupe de ressources | Conteneur pour toutes les ressources |
| Identité managée assignée par l'utilisateur | Identité Azure de l'agent |
| Espace de travail Log Analytics | Journalisation et diagnostics |
| Application Insights | Telemetry |
Agent SRE (Microsoft.App/agents) |
L’agent lui-même |
| Attributions de rôles RBAC | Lecteur, Lecteur de supervision, Lecteur Log Analytics, Administrateur de l’agent SRE |
| Connecteurs, compétences, sous-agents, outils | Configuration de l’agent via des sous-ressources ARM |
Phase 2 : Plan de données (configuration que ARM ne peut pas encore gérer)
| Ressource | Motif du plan de données |
|---|---|
| Référentiels de code | Exiger l’authentification Git (PAT/OAuth) |
| Hooks | Pas encore exposé en tant que sous-ressources ARM au moment du déploiement |
| Déclencheurs HTTP | Généré côté serveur avec des URL uniques |
| Fichiers de connaissances | Chargement de fichiers binaires |
| Configurations de plug-in | API Data-plane-only |
Note
Le script apply-extras.sh gère automatiquement la phase 2 une fois le déploiement Bicep/Terraform terminé. Si le jeton du plan de données n’est pas disponible (par exemple, dans un environnement CI/CD restreint), il affiche ce qui a été ignoré afin que vous puissiez terminer l’opération depuis une machine disposant des accès nécessaires.
Paramètres clés
Lorsque vous générez une configuration à l’aide new-agent.sh --setde , entrez des valeurs telles que agentName, resourceGroup, location, et targetRGs. Le processus traduit ces valeurs en paramètres de déploiement pour Bicep ou Terraform.
Pour obtenir la liste complète des paramètres, les bascules de fonctionnalité et leurs valeurs par défaut, consultez le référentiel README.
Opérations de jour 2
Les modèles incluent des scripts pour la gestion continue :
| Opération | Qu’est-ce que cela fait ? |
|---|---|
| Exportation | Créer un répertoire de configuration à partir d’un agent en cours d’exécution : utile pour la sauvegarde ou la migration |
| Cloner | Exporter un agent source et déployer sur un nouveau nom et un nouveau groupe de ressources |
| Diff | Comparez votre configuration locale à l’agent actif |
| Verify | Exécuter une vérification en 22 points sur l’agent en direct (connecteurs, compétences, sous-agents, hooks) |
Pour connaître les commandes et l’utilisation, consultez le référentiel README.