VMSS с сервисной фабричной кластерной автомасштабировкой
Я хочу масштабировать или масштабировать в приложении Service Fabric. Для этого я добавил автоматическое масштабирование с метрикой ЦП на шкале ВМ. И в наборе масштаба VM, у меня есть секция расширения с секцией wadcfg со счетчиком на метрике ЦП. И данные успешно передаются в учетную запись хранения, которую я указал. Но масштабирование или масштабирование параметров не выполняются с помощью VMSS и кластера сервисной фабрики. Я прошел шаги по устранению неисправностей, которые были указаны на лазурном портале. https://azure.microsoft.com/en-us/documentation/articles/virtual-machine-scale-sets-troubleshoot/
А без сервисной структуры тот же показатель ЦП работает нормально, а масштабирование виртуальной машины постепенно уменьшается.
Также проверен лимит подписки. Но не смог найти проблему. Но мы получаем почтовое уведомление, в котором говорится, что не удалось прочитать диагностические данные для автоматического масштабирования при совместном развертывании vmss и сервисной фабрики.
1 ответ
Service Fabric поддерживает AutoScale, но она не очень хорошо документирована. Вот основная документация - https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cluster-scale-up-down/ которая использует элемент "XmlCfg" для настройки счетчиков. Однако есть способ сделать это и через JSON, который более читабелен. Вот фрагмент блока "настройки" из расширения "IaaSDiagnostics".
Обратите внимание на включение элементов "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"
}
}