具有服务结构集群自动缩放功能的 VMSS

VMSS with service fabric cluster autoscale

我想横向扩展或收缩服务结构应用程序。为此,我在 VM 规模集上添加了带有 CPU 指标的自动缩放设置。在 VM 规模集中,我有扩展部分和 wadcfg 部分,计数器在 CPU 指标上。并且数据已成功发送到存储帐户,我有 specified.But 横向扩展或扩展选项未使用 VMSS 和服务结构集群完成。我已经完成了 Azure 门户中指定的故障排除步骤。https://azure.microsoft.com/en-us/documentation/articles/virtual-machine-scale-sets-troubleshoot/

在没有服务结构的情况下,相同的 CPU 指标运行良好,并且 VM 规模集正在向外扩展。

也检查了订阅限制。但是找不到问题。但是,我们收到一封邮件通知,说当 vmss 和服务结构一起部署时,无法读取自动缩放的诊断数据。

Service Fabric 确实支持 AutoScale,只是没有很好的记录。这是一个基本文档 - https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cluster-scale-up-down/,它使用 "XmlCfg" 元素来配置计数器。但是,也有一种方法可以通过 JSON 来实现,这种方法更具可读性。这是来自 "IaaSDiagnostics" 扩展的 "settings" 块的片段。

请注意 "PerformanceCounters" 和 "Metrics" 元素包含在 "DiagnosticMonitorConfiguration" 下。

{
  "name": "Windows_VMDiagnosticsVmExt",
  "properties": {
    "type": "IaaSDiagnostics",
    "autoUpgradeMinorVersion": true,
    "protectedSettings": {
      "storageAccountName": "[variables('applicationDiagnosticsStorageAccountName')]",
      "storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('applicationDiagnosticsStorageAccountName')),'2016-01-01').keys[0].value]",
      "storageAccountEndPoint": "https://core.windows.net/"
    },
    "publisher": "Microsoft.Azure.Diagnostics",
    "settings": {
      "WadCfg": {
        "DiagnosticMonitorConfiguration": {
          "overallQuotaInMB": "50000",
          "PerformanceCounters": {
            "PerformanceCounterConfiguration": [
              {
                "annotation": [],
                "scheduledTransferPeriod": "PT1M",
                "counterSpecifier": "\Processor(_Total)\% Processor Time",
                "sampleRate": "PT1M"
              },
              {
                "annotation": [],
                "scheduledTransferPeriod": "PT1M",
                "counterSpecifier": "\Memory\% Committed Bytes in Use",
                "sampleRate": "PT1M"
              }
            ]
          },
          "Metrics": {
            "resourceId": "[resourceId('Microsoft.Compute/virtualMachineScaleSets', variables('defaultVMNodeTypeName'))]",
            "MetricAggregation": [
              { "scheduledTransferPeriod": "PT1H" },
              { "scheduledTransferPeriod": "PT1M" }
            ]
          },
          "EtwProviders": {
            "EtwEventSourceProviderConfiguration": [
              {
                "provider": "Microsoft-ServiceFabric-Actors",
                "scheduledTransferKeywordFilter": "1",
                "scheduledTransferPeriod": "PT5M",
                "DefaultEvents": {
                  "eventDestination": "ServiceFabricReliableActorEventTable"
                }
              },
              {
                "provider": "Microsoft-ServiceFabric-Services",
                "scheduledTransferPeriod": "PT5M",
                "DefaultEvents": {
                  "eventDestination": "ServiceFabricReliableServiceEventTable"
                }
              }
            ],
            "EtwManifestProviderConfiguration": [
              {
                "provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8",
                "scheduledTransferLogLevelFilter": "Information",
                "scheduledTransferKeywordFilter": "4611686018427387904",
                "scheduledTransferPeriod": "PT5M",
                "DefaultEvents": {
                  "eventDestination": "ServiceFabricSystemEventTable"
                }
              }
            ]
          }
        }
      },
      "StorageAccount": "[variables('applicationDiagnosticsStorageAccountName')]"
    },
    "typeHandlerVersion": "1.5"
  }
}