Nie można uruchomić odnajdywania agenta Advisor Knowledge na określonym agencie.
Pakiety administracyjne są uszkodzone lub nieprawidłowe.
Jeśli uczestnictwo agenta zostało określone pierwszy raz, taka sytuacja jest normalna. Poczekaj kilka minut. W przeciwnym wypadku usuń folder Health Service State w lokalizacji %Program Files%\System Center Operations Manager\ na określonym agencie i uruchom ponownie usługę kondycji, aby wymusić pobranie najnowszych pakietów administracyjnych.
Target | Microsoft.SystemCenter.Advisor.Internal.AdvisorConnector | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.TimedScript.ThreeStateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | System.PrivilegedMonitoringAccount |
<UnitMonitor ID="Microsoft.SystemCenter.Advisor.AgentHealth.KnowledgeDiscoveryMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.SystemCenter.Advisor.Internal.AdvisorConnector" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.TimedScript.ThreeStateMonitorType" RunAs="System!System.PrivilegedMonitoringAccount" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Advisor.AgentHealth.KnowledgeDiscoveryMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>60</IntervalSeconds>
<SyncTime/>
<ScriptName>MonitorKnowledgeDiscovery.vbs</ScriptName>
<Arguments/>
<ScriptBody>
function readFromRegistry(strRegistryKey, strDefault)
Dim WSHShell, value
On Error Resume Next
Set WSHShell = CreateObject("WScript.Shell")
value = WSHShell.RegRead(strRegistryKey)
if err.number <> 0 then
readFromRegistry=strDefault
else
readFromRegistry=value
end if
set WSHShell = nothing
end function
Dim oAPI, oBag, strStatePath, strMonitorState
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
strStatePath = readFromRegistry("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center Operations Manager\12\Advisor\DataRoot", Empty)
strMonitorState = "Warning"
if strStatePath <> Empty then
Dim oFSO, strModelPath, strKnowledgePath, oKnowledgeFolder
Set oFSO = CreateObject("Scripting.FileSystemObject")
strModelPath = strStatePath & "\AdvisorMonitorV2\Configuration\model.xml"
strKnowledgePath = strStatePath & "\AdvisorMonitorV2\Management Packs\Knowledge12"
if oFSO.FileExists(strModelPath) then
strMonitorState = "Success"
elseif oFSO.FolderExists(strKnowledgePath) then
Set oKnowledgeFolder = oFSO.GetFolder(strKnowledgePath)
if oKnowledgeFolder.Files.Count <> 0 then
strMonitorState = "Error"
end if
end if
else
strMonitorState = "Success"
end if
Call oBag.AddValue("Status", strMonitorState)
Call oAPI.Return(oBag)
</ScriptBody>
<TimeoutSeconds>60</TimeoutSeconds>
<ErrorExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Error</Value>
</ValueExpression>
</SimpleExpression>
</ErrorExpression>
<WarningExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Warning</Value>
</ValueExpression>
</SimpleExpression>
</WarningExpression>
<SuccessExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Success</Value>
</ValueExpression>
</SimpleExpression>
</SuccessExpression>
</Configuration>
</UnitMonitor>