Monitor do ponto final Web do VMM do Service Provider Foundation

Microsoft.SystemCenter.SPF.Monitor.VMMEndpointGet (UnitMonitor)

Monitoriza o estado de funcionamento operacional do ponto final Web do VMM do SPF.

Knowledge Base article:

Resumo

Monitoriza a acessibilidade e operacionalidade da interface Web do VMM dos servidores Web do SPF. Isto é efetuado periodicamente através de uma chamada de teste à interface Web para obter recursos de nuvem.

Causas

Se ocorrer um erro neste monitor e mais nenhum monitor de conectividade tiver erros, a causa provável é um erro na configuração dos recursos de infraestrutura ou um erro de permissões. Consulte detalhes sobre a configuração do monitor na secção Configuração.

Resolução

Verifique no servidor VMM de destino a configuração dos recursos de infraestrutura em recursos de nuvem e certifique-se de que são concedidos direitos de acesso à conta de administrador. Certifique-se de que a segurança do monitor está corretamente configurada.

Configuração

Para que este monitor funcione corretamente, tem de ter permissão de administrador para aceder a recursos de nuvem nos servidores VMM. Crie uma Conta Run As que utilize ou tenha as mesmas permissões que a conta de Conjunto Aplicacional especificada para o ponto final Web do VMM e adicione-a ao Perfil Run As denominado Conta VMM do Microsoft Service Provider Foundation.

As seguintes opções podem ser configuradas neste monitor:

Opção

Definição

Predefinição

Alerta do Estado

Estado de funcionamento do monitor que gera um alerta.

O monitor encontra-se num estado de funcionamento crítico

Prioridade dos Alertas

Prioridade do alerta gerado para este monitor.

Alto

Gravidade do Alerta

Prioridade do alerta gerado para este monitor.

Crítica

Alerta de Resolução Automática

Especifica se o alerta deverá ser automaticamente resolvido quando o monitor regressar a um bom estado de funcionamento.

Verdadeiro

Ativado

Especifica se o monitor deverá ser executado.

Verdadeiro

Gera Alerta

Especifica se o monitor deverá gerar um alerta ao passar para um estado crítico ou de aviso.

Verdadeiro

Intervalo

Número de segundos entre execuções do monitor.

300

Element properties:

TargetMicrosoft.SystemCenter.SPF.SpfServer
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.ServiceProviderFoundation.PowerShellModule.TwoStateMonitorType.PropertyBag
RemotableTrue
AccessibilityInternal
Alert Message
AlertIfCantAccessVMMEndpoint
O ponto final Web do VMM do Service Provider Foundation não está acessível.
RunAsMicrosoft.SystemCenter.SPF.VmmEndpointAccount

Source Code:

<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><Script>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
}
</Script></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>