Monitora a saúde operacional da ponta de extremidade Web VMM da SPF.
Monitora a acessibilidade e a operabilidade da interface Web VMM a partir dos servidores Web da SPF. Isso é realizado através de uma chamada de interface Web de teste para recuperar recursos na nuvem.
Caso esse monitor apresente erro, e nenhum outro monitor de conectividade apresentar erro, isso significa que as prováveis causas são um erro de configuração de malha ou um erro de permissão. Consulte detalhes da configuração do monitor na seção Configuração.
Verifique a configuração de malha do servidor VMM de destino e certifique-se de que os direitos de acesso estão concedidos à conta do administrador. Verifique se a segurança do monitor está configurada corretamente.
Para que esse monitor funcione corretamente, é necessário que ele tenha permissão para acessar recursos na nuvem em servidores VMM. Crie uma Conta Run As que usa ou que tenha as mesmas permissões da conta do Pool de Aplicativos especificada para o ponto de extremidade Web VMM e adicione ela ao Perfil Run As chamado Conta VMM da Microsoft Service Provider.
É possível configurar as seguintes opções neste monitor:
Opção | Definição | Padrão |
Estado de Alerta Ativo | Estado de integridade para o monitor que gera um alerta. | O monitor está em um estado de integridade crítico |
Prioridade do Alerta | Prioridade do alerta gerado para esse monitor. | Alto |
Severidade do Alerta | Prioridade do alerta gerado para esse monitor. | Crítica |
Alerta de Resolução Automática | Especifica se o alerta deve ser solucionado automaticamente quando o monitor retorna a um estado íntegro. | Verdadeiro |
Habilitado | Especifica se o monitor deve ser executado. | Verdadeiro |
Gera Alerta | Especifica se o monitor deve gerar um alerta ao mudar para um estado de aviso ou crítico. | Verdadeiro |
Intervalo | Número de segundos entre os momentos em que o monitor é executado. | 300 |
Target | Microsoft.SystemCenter.SPF.SpfServer | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SystemCenter.ServiceProviderFoundation.PowerShellModule.TwoStateMonitorType.PropertyBag | ||
Remotable | True | ||
Accessibility | Internal | ||
Alert Message |
| ||
RunAs | Microsoft.SystemCenter.SPF.VmmEndpointAccount |
<UnitMonitor ID="Microsoft.SystemCenter.SPF.Monitor.VMMEndpointGet" Accessibility="Internal" Enabled="true" Target="Microsoft.SystemCenter.SPF.SpfServer" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.ServiceProviderFoundation.PowerShellModule.TwoStateMonitorType.PropertyBag" ConfirmDelivery="false" RunAs="Microsoft.SystemCenter.SPF.VmmEndpointAccount">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.SPF.Monitor.VMMEndpointGet.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='StatusCode']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<ScriptName>HealthOfSpfServer.ps1</ScriptName>
<ScriptBody> param
(
$PortNumber
)
$oAPI = new-object -comObject "MOM.ScriptAPI"
$propertyBag = $oAPI.CreatePropertyBag()
$errorActionSetting = $ErrorActionPreference
$downVmmServers = $null
$res = $null
try
{
$ErrorActionPreference = "Stop"
[Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
$req = [System.Net.WebRequest]::Create("https://localhost:$PortNumber/SC2012R2/VMM/Microsoft.Management.OData.svc/Clouds")
$req.UseDefaultCredentials = $true
$res = $req.GetResponse()
$int = [int]$res.StatusCode
if($int -eq 200)
{
$propertyBag.AddValue("Result", "Success")
}
else
{
$propertyBag.AddValue("Result", "Failure")
}
$propertyBag.AddValue("StatusCode", $int)
}
catch
{
$propertyBag.AddValue("Result", "Failure")
$propertyBag.AddValue("StatusCode", $_.Exception.Message)
}
finally
{
$ErrorActionPreference = $errorActionSetting
if($res -ne $null)
{
$res.Close()
}
$propertyBag
}
</ScriptBody>
<Parameters>
<Parameter>
<Name>PortNumber</Name>
<Value>$Target/Property[Type="Microsoft.SystemCenter.SPF.SpfServerBase"]/PortNumber$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>300</TimeoutSeconds>
<ErrorExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Result']</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">Success</Value>
</ValueExpression>
</SimpleExpression>
</ErrorExpression>
<SuccessExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Result']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Success</Value>
</ValueExpression>
</SimpleExpression>
</SuccessExpression>
</Configuration>
</UnitMonitor>