【问题标题】:Is it possible to check whether an azure app service is running using the Azure Management API?是否可以使用 Azure 管理 API 检查 Azure 应用服务是否正在运行?
【发布时间】:2021-11-16 06:11:37
【问题描述】:

我们有一个演示应用程序,它是一个部署到免费应用服务计划 SKU 上的 Linux 应用服务的 docker 映像。它不经常使用,因此它会积极地减速。在下一次激活时,启动图像大约需要 3-5 分钟。我想使用azure管理api来检查服务是否正在运行,以了解响应应该是3s还是200s。 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",

【问题讨论】:

    标签: azure azure-web-app-service azure-appservice azure-management-api


    【解决方案1】:

    我忽略了Web Apps - List Instance Identifiers,但这就是我正在寻找的结果。当应用程序启动时,标识符列表是空集,反之,当它处于活动状态时,它有一个标识符。

    减速

    {
      "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
    }
    

    【讨论】:

      【解决方案2】:

      从 API 管理检查 Azure 服务是否正在运行不是一个好习惯。

      Azure APIIM 仅支持以下features

      最佳做法是针对关键应用程序指标设置警报。

      警报基于我们配置为接收警报的操作组。

      【讨论】:

      • 使用警报就可以了。在这种情况下,应该检查哪个指标来确定应用服务是否正在运行?重申没有失败,该服务只是由于废弃而停止运行。如果使用了警报,我的期望是它会在服务进入睡眠状态时进入已触发状态,然后在服务再次启动时转换为已解决状态。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      相关资源
      最近更新 更多