Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Проектирование надежности сайта (SRE) фокусируется на создании надежных, масштабируемых систем с помощью автоматизации и упреждающего управления. Агент Azure SRE переносит эти принципы в облачную среду, предоставляя возможности мониторинга, устранения неполадок и исправления с помощью ИИ.
Агент SRE автоматизирует стандартные операционные задачи и предоставляет аналитические сведения, помогающие поддерживать надежность приложений при снижении вмешательства вручную. Агент SRE доступен в качестве чат-бота, поэтому вы можете задавать вопросы и предоставлять команды естественного языка для поддержания приложений и служб. Чтобы обеспечить точность и контроль, любое действие, которое агент принимает от вашего имени, требует вашего утверждения.
Пример приложения в этом руководстве демонстрирует обнаружение ошибок путем имитации сбоев HTTP 500 в управляемом режиме. Эти сценарии можно безопасно протестировать с помощью слотов развертывания Службы приложений Azure для параллельного запуска различных конфигураций приложений.
Чтобы включить имитацию ошибок, установите для параметра приложения INJECT_ERRORзначение 1. Если этот параметр включен, приложение вызывает ошибку HTTP 500 после нажатия кнопки несколько раз. Затем вы можете узнать, как агент SRE реагирует на сбои приложения.
Изучив это руководство, вы:
- Создайте приложение службы приложений с помощью портала Azure.
- Разверните пример приложения из GitHub.
- Настройте приложение с помощью команды запуска и включите ведение журнала.
- Создайте слот развертывания для имитации сбоя.
- Настройте агент для мониторинга приложения.
- Вызовите сбой, переключившись на сломанный слот.
- Используйте чат на базе искусственного интеллекта для диагностики и устранения проблемы, отменив обмен.
Предпосылки
Чтобы создать агент, необходимо предоставить агенту правильные разрешения, настроить правильные параметры и предоставить доступ к нужным ресурсам:
Учетная запись Azure. Требуется учетная запись Azure с активной подпиской. Если ее нет, можно создать учетную запись бесплатно.
Контекст безопасности. Убедитесь, что у учетной записи пользователя есть
Microsoft.Authorization/roleAssignments/writeразрешения в качестве администратора управления доступом на основе ролей или администратора доступа пользователей.Параметры брандмауэра: добавьте
*.azuresre.aiв список разрешений в параметрах брандмауэра. Некоторые профили сети могут блокировать доступ к*.azuresre.aiдомену по умолчанию.
1. Создание приложения в службе приложений Azure
Начните с создания веб-приложения, которое агент SRE может отслеживать:
Войдите на портал Azure.
На панели поиска найдите службы приложений и выберите его в результатах.
Выберите и создайте>веб-приложение.
На вкладке "Основы" укажите следующие сведения.
Для сведений о проекте введите следующие значения:
Настройки Ценность Subscription Ваша подписка Azure Группа ресурсов Создание нового>my-app-service-group Для деталей экземпляра введите следующие значения:
Настройки Ценность Имя my-sre-app Опубликовать Код Стек среды выполнения .NET 9 (STS) Операционная система Виндоус Регион Регион рядом с вами Перейдите на вкладку "Развертывание ".
В разделе "Параметры проверки подлинности" включите обычную проверку подлинности.
Замечание
Базовая проверка подлинности используется позже для одноразового развертывания из GitHub. Отключите обычную проверку подлинности в рабочей среде.
Выберите "Проверка и создание", а затем нажмите кнопку "Создать " при прохождении проверки.
По завершении развертывания появится сообщение о завершении развертывания .
2. Развертывание примера приложения
Теперь, когда приложение службы приложений создано, разверните пример приложения из GitHub:
На портале Azure перейдите к созданному приложению службы приложений, выбрав "Перейти к ресурсу".
В меню слева в разделе "Развертывание " выберите Центр развертывания.
На вкладке "Параметры" настройте следующие значения:
Недвижимость Ценность Источник Внешний Git Репозиторий https://github.com/Azure-Samples/app-service-dotnet-agent-tutorialВетвь главный Нажмите кнопку "Сохранить", чтобы применить параметры развертывания.
3. Проверка примера приложения
После развертывания убедитесь, что демонстрационное приложение выполняется должным образом:
В меню слева приложения Службы приложений выберите "Обзор".
Нажмите кнопку "Обзор" , чтобы открыть приложение на новой вкладке браузера. (Может потребоваться несколько минут для загрузки.)
Приложение отображает большой счетчик и две кнопки.
Нажмите несколько раз кнопку Увеличить, чтобы наблюдать за увеличением счетчика.
4. Настройка слота развертывания для моделирования сбоев
Чтобы имитировать сценарий сбоя приложения, добавьте дополнительный слот развертывания:
В меню слева приложения Службы приложений в разделе "Развертывание " выберите слоты развертывания.
Выберите "Добавить слот".
Введите следующие значения:
Недвижимость Ценность Замечания Имя разбитый Сценарий ошибки активируется в этом слоте. Клонировать настройки из my-sre-app Это свойство копирует конфигурацию из основного приложения. Прокрутите страницу до нижней части области и нажмите кнопку "Добавить". Создание слота может занять минуту.
Развертывание примера приложения в слоте
После создания слота выберите неработающий слот в списке.
В меню слева в разделе "Развертывание " выберите Центр развертывания.
На вкладке "Параметры" настройте следующие значения:
Недвижимость Ценность Источник Внешний Git Репозиторий https://github.com/Azure-Samples/app-service-dotnet-agent-tutorialВетвь главный Нажмите кнопку "Сохранить", чтобы применить параметры развертывания.
Добавление параметра приложения для включения моделирования ошибок
Чтобы управлять имитацией ошибок, настройте параметр приложения, который приложение проверяет во время выполнения:
Выберите в разделе "Параметры" на левом меню вашего приложения Службы приложений пункт Переменные среды.
В верхней части убедитесь, что выбран правильный слот (например, сломанный).
На вкладке "Параметры приложения " нажмите кнопку "+ Добавить".
Введите следующие значения:
Недвижимость Ценность Замечания Имя INJECT_ERROR Должен быть точно INJECT_ERROR (все заглавные буквы, без пробелов) Ценность 1 Включает моделирование ошибок в приложении Убедитесь, что поле параметра слота развертыванияне выбрано.
Нажмите кнопку "Применить" , чтобы добавить параметр.
В нижней части страницы переменных среды выберите "Применить ", чтобы применить изменения.
При появлении запроса нажмите кнопку "Подтвердить ", чтобы подтвердить и перезапустить приложение в выбранном слоте.
5. Создание агента
Теперь создайте агент для мониторинга приложения Службы приложений:
Перейдите по ссылке, предоставленной в сообщении электронной почты подключения, чтобы получить доступ к агенту SRE на портале Azure.
Нажмите кнопку +Создать.
В области создания агента введите следующие значения:
Недвижимость Ценность Замечания Subscription Ваша подписка Azure Группа ресурсов my-sre-agent-group Новая группа для агента. Имя my-sre-agent Регион Восток США 2 Выберите группы ресурсов.
На панели мониторинга выбранных групп ресурсов установите флажок рядом с my-app-service-group.
Нажмите кнопку "Сохранить".
Вернитесь на панель "Создать агент " и нажмите кнопку "Создать". Процесс создания агента занимает несколько минут.
6. Чат с агентом
После развертывания и подключения агента к группе ресурсов вы можете взаимодействовать с ним с помощью естественного языка для мониторинга и устранения неполадок приложения:
На портале Azure найдите и выберите агент Azure SRE.
В списке агентов выберите my-app-service-sre-agent.
Выберите "Чат с агентом".
В поле чата введите следующую команду:
List my App Service appsАгент отвечает списком приложений службы приложений, развернутых в группе ресурсов my-app-service-group .
Теперь, когда агент может видеть приложение, вы готовы имитировать сбой и позволить агенту устранить его.
7. Разрыв приложения
Смоделируйте сценарий сбоя с помощью переключения на недействующий слот развертывания.
В меню слева приложения Службы приложений в разделе "Развертывание " выберите слоты развертывания.
Выберите Замена.
На панели "Переключение " настройте следующие значения:
Недвижимость Ценность Замечания Источник my-sre-app-broken Слот с неисправной версией Цель my-sre-app Производственный слот Прокрутите страницу вниз и нажмите кнопку "Начать переключение". Операция переключения может занять минуту.
После завершения переключения перейдите по URL-адресу приложения.
Нажмите шесть раз кнопку Увеличить.
Приложение должно завершиться сбоем и вернуть ошибку HTTP 500.
Обновите страницу (нажав клавиши Command+R или F5) несколько раз, чтобы сгенерировать больше ошибок HTTP 500. Эти ошибки помогают агенту SRE обнаруживать и диагностировать проблему.
8. Исправление приложения
Теперь, когда приложение испытывает сбои, используйте агент SRE для диагностики и устранения проблемы:
На портале Azure найдите и выберите агент Azure SRE.
В списке агентов выберите my-app-service-sre-agent.
Выберите "Чат с агентом".
В поле чата введите следующую команду:
What's wrong with my-sre-app?Агент начинает анализировать состояние приложения. Вы должны увидеть диагностические сообщения, связанные с доступностью, использованием ЦП и памяти, а также с недавним переключением слотов.
Каждый сеанс может отличаться, но должно появиться сообщение, аналогичное следующему примеру:
Теперь я буду проводить смягчение проблем для my-sre-app, заменой слотов на прежние, чтобы восстановить приложение в работоспособное состояние. Обратите внимание, что переключение слотов обратно не всегда может немедленно восстановить здоровье. Я буду держать вас в курсе прогресса.
После паузы агент предложит вам утвердить откат:
Выполнение отката буфера слотов для восстановления доступности приложения для my-sre-app
[Утвердить][Запрет]
Выберите "Утвердить" , чтобы инициировать откат.
После завершения отката агент подтверждает:
Переключение слота для my-sre-app успешно завершено (метка времени). Рабочий слот восстановлен. Теперь я буду продолжать шаги после устранения рисков:
Я попрошу вас указать правильный URL-адрес репозитория GitHub, чтобы создать проблему для простоя, связанного с заменой.Я буду отслеживать приложение и предоставлю обновление доступности через 5 минут.
Укажите URL-адрес репозитория GitHub, в котором должна быть вызвана проблема.
9. Проверка исправления
После отмены изменения слотов агентом SRE убедитесь, что ваше приложение функционирует правильно.
Откройте приложение App Service в браузере, выбрав Обзор на странице Обзор.
Обратите внимание, что текст ВНЕДРЕНИЕ ОШИБОК АКТИВИРОВАНО больше не отображается, подтверждая, что приложение вернулось к исходному состоянию.
Нажмите кнопку Увеличить шесть раз, чтобы убедиться в отсутствии ошибок.
Очистите ресурсы
Если вы больше не нуждаетесь в приложении и агенте, созданном в этом руководстве, можно удалить связанные группы ресурсов, чтобы избежать взимания расходов.
Вы создали следующие группы ресурсов в этом руководстве:
- my-app-service-group (группа ресурсов службы приложений)
- my-sre-agent-group (группа ресурсов агента SRE)
Выполните следующие действия для каждой группы ресурсов:
На портале Azure перейдите к группам ресурсов.
Выберите группу ресурсов, которую нужно удалить.
На вкладке "Обзор" выберите "Удалить группу ресурсов".
В диалоговом окне подтверждения введите имя группы ресурсов.
Нажмите кнопку "Удалить". Процесс удаления занимает несколько минут.