Microsoft Azure Stack App Service Role Available Workers Rule.
The rule checks an available worker count property in the web worker roles. If the percent of available worker count is less than or equal to critical threshold the rule will raise a critical alert. If the percent of available worker count is less than or equal to warning threshold and more than critical threshold the rule will raise a warning alert.
The percent of available worker count is less than thresholds.
Check if App Service Web Worker Role Instances is available and working correctly.
Target | Microsoft.SystemCenter.AzureStack.Region |
Category | Alert |
Enabled | True |
Alert Generate | True |
Remotable | True |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.SystemCenter.AzureStack.AppsRole.AvailableWorkerCount.DS | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SystemCenter.AzureStack.AppsRole.AvailableWorkerCount.Rule" Enabled="true" Target="Microsoft.SystemCenter.AzureStack.Region" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SystemCenter.AzureStack.AppsRole.AvailableWorkerCount.DS">
<DeploymentId>$Target/Host/Property[Type="Microsoft.SystemCenter.AzureStack.Deployment"]/EndpointUrl$</DeploymentId>
<TimeoutSeconds>120</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<RegionId>$Target/Property[Type="Microsoft.SystemCenter.AzureStack.Region"]/RegionId$</RegionId>
<RegionName>$Target/Property[Type="Microsoft.SystemCenter.AzureStack.Region"]/Name$</RegionName>
<MonitorWebAppService>$Target/Host/Property[Type="Microsoft.SystemCenter.AzureStack.Deployment"]/MonitorWebAppService$</MonitorWebAppService>
<WebAppServiceEndpointUrl>$Target/Host/Property[Type="Microsoft.SystemCenter.AzureStack.Deployment"]/WebAppServiceEndpointUrl$</WebAppServiceEndpointUrl>
<WebAppServiceApiVersion>$Target/Host/Property[Type="Microsoft.SystemCenter.AzureStack.Deployment"]/WebAppServiceApiVersion$</WebAppServiceApiVersion>
<OverrideWebAppServiceEndpointUrl>$Target/Host/Property[Type="Microsoft.SystemCenter.AzureStack.Deployment"]/OverrideWebAppServiceEndpointUrl$</OverrideWebAppServiceEndpointUrl>
<WarningThreshold>30</WarningThreshold>
<CriticalThreshold>19</CriticalThreshold>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>$Data/Property[@Name='Severity']$</Severity>
<AlertName/>
<AlertDescription/>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.AzureStack.AppsRole.AvailableWorkerCount.Rule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Property[@Name='Name']$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="Microsoft.SystemCenter.AzureStack.Region"]/Name$</AlertParameter2>
<AlertParameter3>$Data/Property[@Name='AvailableWorkerCount']$</AlertParameter3>
<AlertParameter4>$Data/Property[@Name='AvailableWorkerPercent']$</AlertParameter4>
<AlertParameter5>$Data/Property[@Name='RegisteredWorkerCount']$</AlertParameter5>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Property[@Name='Id']$</SuppressionValue>
</Suppression>
<Custom1>WebWorkerAlert</Custom1>
<Custom2>$Data/Property[@Name='Id']$</Custom2>
<Custom3>$Data/Property[@Name='Name']$</Custom3>
</WriteAction>
</WriteActions>
</Rule>