Analyse du serveur VMM de Service Provider Foundation

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

Analyse la connexion de tous les serveurs VMM enregistrés.

Knowledge Base article:

Résumé

Analyse la connectivité au serveur d'administration VMM depuis les serveurs Web SPF. Cette analyse est effectuée en réalisant régulièrement un test de connexion à chaque serveur d'administration VMM enregistré.

Causes

Si cette analyse génère une erreur, alors le serveur d'administration VMM n'est pas disponible depuis le serveur ou la configuration du serveur d'administration VMM a été modifiée ou la sécurité de l'analyse n'a pas été correctement configurée. Voir la section Configuration pour plus d'informations sur la configuration de l'analyse.

Si l'analyse a été correctement configurée, et que celle-ci génère une erreur, alors le serveur d'administration VMM est hors connexion ou inaccessible par le serveur Service Provider Foundation.

Résolution

Vérifiez le numéro de port, l'autorisation des comptes et l'état des opérations dans la configuration du serveur d'administration VMM à l'aide du pack d'administration de l'analyse VMM. Si l'état des opérations VMM n'indique aucune erreur, vérifiez les serveurs VMM enregistrés dans la base de données SPF afin de vous assurer que les informations relatives à la connexion sont correctes. Vérifiez dans le compte du pool d'applications que le point de terminaison Web VMM sur le serveur SPF est configuré avec un accès au serveur VMM. Vérifiez dans le compte du pool d'applications la date d'expiration du mot de passe.

Configuration

Pour que cette analyse fonctionne correctement, elle doit posséder une autorisation d'exécution d'applets de commande PowerShell SPF et une connectivité au serveur VMM. Créez un compte d'identification qui utilise ou possède une autorisation équivalente à celle du compte du pool d'applications spécifié pour le point de terminaison Web VMM et ajoutez-le au profil d'identification appelé compte VMM de Microsoft Service Provider Foundation.

Option

Définition

Valeur par défaut

Alerte à l'état

État d'intégrité de l'analyse qui génère une alerte.

Analyse en état d'intégrité critique

Priorité de l'alerte

Priorité de l'alerte générée pour cette analyse.

Élevé

Gravité de l'alerte

Priorité de l'alerte générée pour cette analyse.

Critique

Résoudre automatiquement l'alerte

Indique si l'alerte doit être automatiquement résolue quand l'analyse repasse dans un état sain.

Vrai

Activé

Indique si l'analyse doit s'exécuter.

Vrai

Générer une alerte

Indique si l'analyse doit générer une alerte lors du passage à un état d'avertissement ou critique.

Vrai

Intervalle

Nombre de secondes entre les exécutions de l'analyse.

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
AlertIfCantConnectToVMM
La connexion au serveur VMM enregistré n'a pas été établie
RunAsMicrosoft.SystemCenter.SPF.DatabaseAccount

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.SPF.Monitor.VMMServerConnection" 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.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 = $null

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 -ne $null)
{
$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>