Monitor serwera VMM dla programu Service Provider Foundation

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

Monitoruje połączenie ze wszystkimi zarejestrowanymi serwerami VMM.

Knowledge Base article:

Podsumowanie

Monitoruje łączność serwerów sieci Web programu SPF z serwerem VMM Management. Jest to realizowane poprzez okresowe nawiązywanie połączenia testowego z każdym zarejestrowanym serwerem VMM Management.

Przyczyny

Wystąpienie błędu w tym monitorze oznacza, że serwer VMM Management nie jest dostępny z serwera, zmianie uległa konfiguracja serwera VMM Management lub zabezpieczenia monitora nie są poprawnie skonfigurowane. Szczegóły konfigurowania monitora można znaleźć w sekcji Konfiguracja.

Wystąpienie błędu w poprawnie skonfigurowanym monitorze oznacza, że serwer VMM Management jest w trybie offline lub jest niedostępny dla serwera programu Service Provider Foundation.

Rozwiązanie

Przy użyciu pakietu administracyjnego monitorowania programu VMM sprawdź konfigurację serwera VMM Management pod kątem numeru portu, uprawnień do kont oraz stanu działania. Jeśli stan działania programu VMM nie wykazuje żadnych błędów, sprawdź zarejestrowane serwery VMM w bazie danych programu SPF, aby upewnić się, że informacje o połączeniach są poprawne. Sprawdź, czy konto puli aplikacji dla punktu końcowego sieci Web programu VMM na serwerze SPF ma zapewniony dostęp do serwera VMM. Sprawdź, czy nie wygasło hasło do konta puli aplikacji.

Konfiguracja

Aby ten monitor działał poprawnie, musi mieć uprawnienie do wykonywania poleceń cmdlet programu SPF PowerShell oraz łączność z serwerem VMM. Utwórz konto Uruchom jako używające lub mające identyczne uprawnienie co konto puli aplikacji określone dla punktu końcowego sieci Web programu VMM, a następnie dodaj je do profilu Uruchom jako o nazwie „Konto VMM programu Microsoft Service Provider Foundation”.

Opcja

Definicja

Domyślne

Stan włączenia alertu

Stan kondycji monitora generujący alert.

Monitor wskazuje krytyczny stan kondycji

Priorytet alertu

Priorytet alertu generowanego dla tego monitora.

Wysoki

Ważność alertu

Priorytet alertu generowanego dla tego monitora.

Krytyczny

Automatyczne rozwiązywanie alertu

Określa, czy alert powinien zostać rozwiązany automatycznie po powrocie monitora do stanu prawidłowego.

Prawda

Włączone

Określa, czy monitor powinien zostać uruchomiony.

Prawda

Generuje alert

Określa, czy monitor powinien generować alert po przejściu w stan ostrzeżenia lub w stan krytyczny.

Prawda

Interwał

Liczba sekund między uruchomieniami monitora.

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
Nie powiodło się nawiązanie połączenia z zarejestrowanym serwerem VMM
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>