Monitoraggio del server di Service Provider Foundation VMM

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

Esegue il monitoraggio della connessione a tutti i server VMM registrati.

Knowledge Base article:

Riepilogo

Esegue il monitoraggio della connettività del server di gestione VMM dai server Web SPF. A tale scopo, viene effettuata periodicamente una connessione di test a ognuno dei server di gestione VMM registrati.

Configurazione

Per funzionare correttamente, il monitoraggio deve disporre dell'autorizzazione per eseguire cmdlet PowerShell di SPF e della connettività al server VMM. Creare un account RunAs che usa 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.

Opzione

Definizione

Impostazione predefinita

Avviso di stato

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

Il monitoraggio è in uno stato di integrità critico.

Priorità avviso

Priorità dell'avviso generato per questo monitoraggio.

Alta

Gravità avviso

Priorità dell'avviso generato per questo monitoraggio.

Critico

Risoluzione automatica avviso

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

Vero

Abilitata

Specifica se il monitoraggio deve essere eseguito.

Vero

Genera avviso

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

Vero

Intervallo

Numero di secondi tra due esecuzioni del monitoraggio.

300

Cause

Se lo stato di questo monitoraggio è Errore, il server di gestione VMM non è disponibile dal server, la configurazione del server di gestione VMM è cambiata oppure la sicurezza per il monitoraggio non è configurata correttamente. Per informazioni dettagliate sulla configurazione del monitoraggio, vedere la sezione Configurazione.

Se il monitoraggio è configurato correttamente e lo stato è Errore, il server di gestione VMM è offline oppure risulta inaccessibile per il server di Service Provider Foundation.

Soluzioni

Verificare nella configurazione del server di gestione VMM il numero di porta, le autorizzazioni degli account e lo stato operativo tramite il Management Pack di monitoraggio di VMM. Se lo stato operativo di VMM non indica la presenza di errori, controllare i server VMM registrati nel database di SPF per verificare la correttezza delle informazioni sulla connessione. Verificare che per l'account del pool di applicazioni per l'endpoint Web di VMM sul server SPF sia stato eseguito il provisioning con l'accesso al server VMM. Verificare la scadenza della password dell'account del pool di applicazioni.

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
AccessibilityPublic
Alert Message
Non è possibile connettersi a VMM
La connessione al server VMM registrato non è riuscita.
RunAsMicrosoft.SystemCenter.SPF.DatabaseAccount

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.SPF.Monitor.VMMServerConnection" Accessibility="Public" 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.DatabaseAccount">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.SPF.Monitor.VMMServerConnection.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='DownVmmServers']$</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>HealthOfVmmServers.ps1</ScriptName>
<ScriptBody><Script>$oAPI = new-object -comObject "MOM.ScriptAPI"
$propertyBag = $oAPI.CreatePropertyBag()

$errorActionSetting = $ErrorActionPreference

$downVmmServers = ""

try
{
$ErrorActionPreference = "Stop"
Import-Module "$env:COMMONPROGRAMFILES\Microsoft System Center 2012 R2\Service Provider Foundation\Microsoft.SystemCenter.Foundation.Cmdlet.dll"
$vmmInstallPath = get-itemproperty "hklm:\software\microsoft\microsoft system center virtual machine manager administrator console\setup" | select-object -ExpandProperty installpath
Import-Module "$vmmInstallPath\bin\Microsoft.SystemCenter.VirtualMachineManager.dll"
$servers = Get-SCSPFServer -ServerType 0
foreach($server in $servers)
{
try
{
$vmmServer = Get-SCVmmServer -ComputerName $server
$vmmServer.Disconnect()
$vmmServer = $null
}
catch
{
$downVmmServers = $downVmmServers + "$server;"
}
}

if($downVmmServers.Length -gt 0)
{
$propertyBag.AddValue("Result", "Error")
$propertyBag.AddValue("DownVmmServers", $downVmmServers)
}
else
{
$propertyBag.AddValue("Result", "Success")
}
}
catch
{
$propertyBag.AddValue("Result", "Error")
}
finally
{
$ErrorActionPreference = $errorActionSetting
$propertyBag
}
</Script></ScriptBody>
<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>