Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Развертывание агента SRE Azure программным способом с помощью шаблонов из репозитория microsoft/sre-agent.
Tip
- Четыре серверные части развертывания: Bicep, Terraform, PowerShell и Azure Developer CLI
- Готовые шаблоны для распространенных сценариев (Azure Monitor, PagerDuty, Dynatrace)
-
Одна команда , чтобы перейти от нуля до работающего агента:
./bin/deploy.sh my-agent/ - Операции второго дня: экспортировать, клонировать, сравнивать и проверять агентов, используя те же инструменты CLI
Обзор
Репозиторий microsoft/sre-agent предоставляет готовые к работе шаблоны IaC для развертывания агента SRE Azure. Используйте следующие шаблоны:
- Автоматизация развертываний в конвейерах CI/CD
- Конфигурация агента управления версиями в Git
- Реплицируйте агентов между средами (от dev к staging и prod)
- Стандартизация установки с помощью предварительно созданных рецептов
Необходимые условия
| инструмент | Обязательно для: | Install |
|---|---|---|
| Azure CLI 2.x+ | Все бэкенды | Установка |
| jq | Все бэкенды |
brew install jq или apt install jq |
| Terraform 1.5+ | Только Terraform | Установка |
| PowerShell 7+ | Только PowerShell | Установка |
| Azure Developer CLI (Интерфейс командной строки для разработчиков Azure) | только azd | Установка |
Разрешения Azure: Владелец подписки или Участник + Администратор доступа пользователей.
Проверьте предварительные требования:
git clone https://github.com/microsoft/sre-agent.git
cd sre-agent/sreagent-templates
bash bin/check-prerequisites.sh
Быстрый старт
# 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/
После развертывания CLI выводит URL-адрес портала и конечную точку плоскости данных:
Agent (portal): https://sre.azure.com/#/agent/{sub}/{rg}/my-agent
Data plane: https://my-agent.eastus2.azuresre.ai
Клонирование существующего агента
./bin/clone-agent.sh \
--from-agent prod-agent --from-rg rg-prod \
--set agentName=staging-agent --set resourceGroup=rg-staging \
-o staging-agent/
Экспортирует конфигурацию исходного агента и развертывает его в новую группу имен и ресурсов. Это полезно для репликации между средами.
Рецепты
Готовые шаблоны для типовых сценариев, таких как реагирование на оповещения Azure Monitor, управление инцидентами в PagerDuty и интеграция с Dynatrace. Microsoft регулярно добавляет новые рецепты.
Просмотрите доступные рецепты в репозитории шаблонов.
# 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/
Развертывание серверных компонентов
Шаблоны поддерживают четыре механизма развертывания. Каждый использует один и тот же каталог конфигурации. Выберите тот, который соответствует вашей среде:
| Backend | Command | Используйте, когда |
|---|---|---|
| Bicep | ./bin/deploy.sh my-agent/ |
По умолчанию — используется az deployment sub create |
| Terraform | ./bin/deploy-tf.sh my-agent/ |
Инфраструктура, управляемая Terraform |
| Powershell | .\bin\ps\Deploy-Agent.ps1 -InputPath .\my-agent\ |
среды Windows / PowerShell 7 |
| Azure CLI для разработчиков | cd my-agent/ && azd up |
рабочие процессы на основе azd |
Все бэкенды поддерживают --what-if / --dry-run для проверки без развертывания. Полный справочник по командам, флаги и требования см. в репозитории README.
Структура каталога конфигурации
При запуске new-agent.shсоздается каталог конфигурации:
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
Измените эти файлы, чтобы настроить агент перед развертыванием.
Что будет развернуто
Развертывание выполняется на двух этапах.
Этап 1. ARM (инфраструктура)
| Ресурс | Purpose |
|---|---|
| Группа ресурсов | Контейнер для всех ресурсов |
| Управляемое удостоверение, назначенное пользователем | Идентификатор агента Azure |
| Рабочая область Log Analytics | Ведение журнала и диагностика |
| Application Insights | Telemetry |
Агент SRE (Microsoft.App/agents) |
Сам агент |
| Назначения ролей RBAC | Читатель, читатель данных мониторинга, читатель Log Analytics, администратор агента SRE |
| Соединители, навыки, подагенты, инструменты | Конфигурация агента с помощью вложенных ресурсов ARM |
Этап 2. Плоскость данных (конфигурация, которую ARM еще не может обрабатывать)
| Ресурс | Причина плоскости данных |
|---|---|
| Репозитории кода | Требовать проверку подлинности Git (PAT/OAuth) |
| Хуки | Пока недоступно как вложенные ресурсы ARM при развертывании |
| Триггеры HTTP | Сгенерировано на стороне сервера с уникальными URL-адресами |
| Файлы знаний | Отправка двоичного файла |
| Конфигурации плагинов | API только для плоскости данных |
Note
Скрипт apply-extras.sh автоматически обрабатывает этап 2 после завершения развертывания Bicep/Terraform. Если маркер плоскости данных недоступен (например, в ограниченной среде CI/CD), он печатает пропущенные данные, чтобы завершить работу с компьютера с доступом.
Ключевые параметры
При создании конфигурации с помощью new-agent.sh --setвведите такие значения, как agentName, resourceGroupи locationtargetRGs. Этот процесс преобразует эти значения в параметры развертывания для Bicep или Terraform.
Полный список параметров, переключателей функций и их значений по умолчанию см. в репозитории README.
Операции второго дня
Шаблоны включают скрипты для текущего управления:
| Операции | Что делает |
|---|---|
| Экспорт | Создание каталога конфигурации из запущенного агента — полезно для резервного копирования или миграции |
| Клонировать | Экспортируйте исходный агент и разверните его с новым именем и в новой группе ресурсов |
| Сравнение | Сравнение локальной конфигурации с динамическим агентом |
| Verify | Выполните 22-пунктовую проверку для действующего агента (коннекторы, навыки, субагенты, хуки) |
Сведения о командах и использовании см. в репозитории README.