Monitor endpoint Web VMM di Service Provider Foundation

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

Esegue il monitoraggio dello stato operativo dell'endpoint Web VMM di SPF.

Knowledge Base article:

Riepilogo

Esegue il monitoraggio dell'accessibilità e dell'operabilità dell'interfaccia Web VMM dai server Web SPF. Per eseguire questa operazione, viene effettuata periodicamente una chiamata di test all'interfaccia Web per recuperare le risorse cloud.

Cause

Se si verifica un errore di questo monitor e di nessun altro monitor di connettività, è possibile che il problema dipenda da un errore di configurazione dell'infrastruttura o di autorizzazione. Per informazioni dettagliate sulla configurazione del monitor, vedere la sezione Configurazione.

Risoluzione

Verificare nel server VMM di destinazione la configurazione dell'infrastruttura per le risorse cloud e assicurarsi che all'account amministratore siano concessi i diritti di accesso. Assicurarsi che la sicurezza sia configurata correttamente per il monitor.

Configurazione

Per funzionare correttamente il monitor deve disporre dell'autorizzazione di amministratore per accedere alle risorse cloud nei server VMM. Creare un account RunAs che utilizza o dispone di autorizzazioni uguali a quelle dell'account del pool di applicazioni specificato per l'endpoint Web di VMM e aggiungerlo al profilo RunAs denominato Account VMM di Microsoft Service Provider Foundation.

In questo monitor è possibile configurare le opzioni seguenti:

Opzione

Definizione

Impostazioni predefinite

Avviso stato

Stato di integrità per il monitoraggio che genera un avviso.

Il monitoraggio è in stato di integrità critico

Priorità avviso

Priorità dell'avviso generato per il monitoraggio.

Alto

Gravità avviso

Priorità dell'avviso generato per il monitoraggio.

Critica

Risoluzione automatica avviso

Specifica se l'avviso deve essere risolto automaticamente quando il monitoraggio torna in uno stato integro.

Vero

Abilitato

Specifica se il monitoraggio deve essere eseguito.

Vero

Genera avviso

Specifica se il monitoraggio deve generare un avviso quando passa da uno stato di avviso a uno stato critico.

Vero

Intervallo

Numero di secondi tra le esecuzioni del monitoraggio.

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
L'endpoint Web VMM di Service Provider Foundation non è accessibile.
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>