Monitor punktu końcowego sieci Web programu Service Provider Foundation VMM

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

Monitoruje kondycję operacyjną punktu końcowego sieci Web programu SPF VMM.

Knowledge Base article:

Podsumowanie

Monitoruje dostępność i łatwość obsługi interfejsu sieci Web programu VMM z serwerów sieci Web programu SPF. Jest to realizowane przez okresowe wywoływanie testowe interfejsu sieci Web w celu pobrania zasobów w chmurze.

Konfiguracja

Aby ten monitor działał poprawnie, musi mieć uprawnienie administratora zapewniające dostęp do zasobów w chmurze na serwerach 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”.

Dla tego monitora można skonfigurować następujące opcje:

Opcja

Definicja

Domyślne

Stan włączenia alertu

Kondycja monitora generującego alert.

Kondycja tego monitora jest krytyczna

Priorytet alertu

Priorytet alertu wygenerowanego dla tego monitora.

Wysoki

Waga alertu

Priorytet alertu wygenerowanego dla tego monitora.

Krytyczny

Automatyczne rozwiązywanie alertu

Określa, czy alert ma zostać automatycznie rozwiązany w przypadku przywrócenia dobrej kondycji monitora.

True

Włączone

Określa, czy monitor ma być włączony.

True

Generuje alert

Określa, czy monitor ma wygenerować alert w przypadku zmiany stanu na ostrzeżenie lub stan krytyczny.

True

Interwał

Liczba sekund między uruchomieniami monitora.

300

Przyczyny

Jeśli w tym monitorze wystąpił błąd, a nie stwierdzono go w innych monitorach łączności, prawdopodobną przyczyną może być błąd konfiguracji sieci szkieletowej lub błąd uprawnień. Szczegółowe informacje na temat konfigurowania monitora można znaleźć w sekcji Konfiguracja.

Rozwiązania

Sprawdź docelowy serwer VMM pod kątem konfiguracji sieci szkieletowej w zasobach w chmurze i upewnij się, że przyznane zostały prawa dostępu do konta administratora. Upewnij się też, że poprawnie skonfigurowano zabezpieczenia monitora.

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
Nie można uzyskać dostępu do punktu końcowego programu VMM.
Punkt końcowy sieci Web programu Service Provider Foundation VMM jest niedostępny.
RunAsMicrosoft.SystemCenter.SPF.VmmEndpointAccount

Source Code:

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