#azure #azure-web-app-service #azure-appservice #azure-management-api
Вопрос:
У нас есть демонстрационное приложение, представляющее собой образ docker, развернутый в службе приложений Linux в артикуле бесплатного плана обслуживания приложений. Он используется нечасто и как таковой агрессивно раскручивается. При следующей активации вращение изображения занимает около 3-5 минут. Я хотел бы использовать API управления azure, чтобы проверить, запущена ли служба, чтобы узнать, должен ли ответ быть в 3-х или 200-х годах. GET web кажется наиболее подходящим API для вызова, но ответ показывает, что он запущен, вероятно, отражая состояние базового плана службы приложений. Урезанный ответ приведен ниже и дает тот же результат, независимо от того, горячее приложение или холодное.
Пример Ответа
"id": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Web/sites/{name}",
"name": "{name}",
"type": "Microsoft.Web/sites",
"kind": "app,linux,container",
"location": "East US",
"properties": {
"name": "{name}",
"state": "Running",
"webSpace": "ML-EastUSwebspace-Linux",
"usageState": "Normal",
Ответ №1:
Не рекомендуется проверять из управления API, запущена ли служба Azure или нет .
Azure APIIM поддерживает только следующие функции.
Наилучшей практикой является настройка оповещений по критическим показателям приложений.
Оповещения основаны на группах действий, которые мы настраиваем для получения оповещения.
Комментарии:
1. Использование предупреждения было бы прекрасно. В этом случае какую метрику следует изучить, чтобы определить, запущена ли служба приложений? Повторяю, что ничего не вышло из строя, служба просто закрылась из-за неупотребления. Если бы было использовано предупреждение, я ожидаю, что оно войдет в состояние «запущено», когда служба перейдет в спящий режим, а затем перейдет в разрешенное состояние, когда служба запустится снова.
Ответ №2:
Я пропустил идентификаторы экземпляров списка веб — приложений, но это приводит к тому, что я ищу. Когда приложение вращается вниз, список идентификаторов является пустым набором, и наоборот, когда оно активно, у него есть идентификатор.
Развернулся Вниз
{
"value": [],
"nextLink": null,
"id": null
}
Активный
{
"value": [
{
"id": "/subscriptions/{subid}/resourceGroups/{rgname}/providers/Microsoft.Web/sites/{name}/instances/81c6b43bcb7aea592e620086200b3ab40b78857d08aa07e29c330415afa10cf8",
"name": "81c6b43bcb7aea592e620086200b3ab40b78857d08aa07e29c330415afa10cf8",
"type": "Microsoft.Web/sites/instances",
"location": "East US",
"properties": {
"state": "UNKNOWN",
"name": "81c6b43bcb7aea592e620086200b3ab40b78857d08aa07e29c330415afa10cf8",
"siteInstanceName": "81c6b43bcb7aea592e620086200b3ab40b78857d08aa07e29c330415afa10cf8",
"statusUrl": "{url}",
"detectorUrl": "{url}",
"consoleUrl": "{url}",
"healthCheckUrl": null,
"machineName": "lw0sdlwk0006ZZ",
"containers": null
}
}
],
"nextLink": null,
"id": null
}