Esegue il monitoraggio dello stato operativo dell'endpoint Web VMM di SPF.
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.
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.
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.
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 |
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>