Az SPF webes VMM-végpontjának üzemi állapotát figyeli.
Azt figyeli, hogy az SPF-webkiszolgálók el tudják-e érni és működtetni tudják-e a VMM webes felületét. Ehhez bizonyos időközönként teszthívást intéz a webes felülethez felhőbeli erőforrások beolvasása érdekében.
Ha ez a figyelő hibaállapotot jelez, de semelyik másik kapcsolatfigyelő nem jelez hibaállapotot, akkor ezt valószínűsíthetően a háló konfigurációs hibája vagy engedélyhiba okozza. A figyelő konfigurálásával kapcsolatban a Konfiguráció szakaszban talál további részleteket.
Ellenőrizze a VMM-kiszolgálón a felhőbeli erőforrások hálókonfigurációját, és győződjön meg arról, hogy a rendszergazdai fiók rendelkezik a megfelelő hozzáférési jogokkal. Gondoskodjon a figyelő biztonsági beállításainak megfelelő konfigurálásáról.
A figyelőnek rendszergazdai jogosultsággal kell hozzáférnie a VMM-kiszolgálókon lévő felhőbeli erőforrásokhoz ahhoz, hogy megfelelően működjön. Hozzon létre egy futtató fiókot, amely a webes VMM-végponthoz megadott Alkalmazáskészlet fiókot használja, vagy azzal egyenértékű engedéllyel rendelkezik, és vegye fel a Microsoft Service Provider Foundation VMM-fiókja nevű futtató profilba.
Ehhez a figyelőhöz a következő beállítások konfigurálhatók:
Beállítás | Definíció | Alapértelmezett |
Riasztás állapot szerint | A riasztást küldő figyelő állapota. | A figyelő állapota kritikus |
Riasztás prioritása | Az ehhez a figyelőhöz létrehozott riasztás prioritása. | Magas |
Riasztás súlyossága | Az ehhez a figyelőhöz létrehozott riasztás prioritása. | Kritikus |
Riasztás automatikus feloldása | Megadja, hogy a megfelelő állapot visszaállásakor a riasztást automatikusan feloldja-e a rendszer. | Igaz |
Engedélyezett | Megadja, hogy a figyelőnek futnia kell-e. | Igaz |
Riasztás küldése | Megadja, hogy a figyelő küldjön-e riasztást figyelmeztetési vagy kritikus állapotra váltáskor. | Igaz |
Időköz | A figyelő futtatásai közötti másodpercek száma. | 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>