État de version active

Microsoft.JEE.WebLogic.11gR1.Deep.Application.ActiveVersionState.AvailabilityHealth.UnitMonitor (UnitMonitor)

Contrôle l'état des versions actives des applications déployées pour un serveur d'applications WebLogic 11gR1.

Knowledge Base article:

Résumé

L'analyseur d'intégrité de la disponibilité de l'état de la version active de l'application effectue le suivi de l'état de la version active du runtime d'application. La requête suivante est utilisée pour tous les runtimes d'application disponibles :

Causes

Un avertissement indique que l'application contrôlée est soit dans un état non préparé ou préparé.

Résolutions

Les applications dans un état d'avertissement ne sont pas déployées activement. Utilisez la console WebLogic pour terminer le processus de déploiement de l'application.

Element properties:

TargetMicrosoft.JEE.WebLogic.11gR1.Application
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.JEE.Deep.Application.TwoState.Query.AvailabilityHealth.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
L'application n'est pas activée
L'application {3} n'est pas activée. Cette application peut être identifiée par le NomObjet {2} sur l'ordinateur {1} pour l'identificateur de serveur d'applications {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.JEE.WebLogic.11gR1.Deep.Application.ActiveVersionState.AvailabilityHealth.UnitMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.JEE.WebLogic.11gR1.Application" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="JEE!Microsoft.JEE.Deep.Application.TwoState.Query.AvailabilityHealth.MonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.JEE.WebLogic.11gR1.Deep.Application.ActiveVersionState.AvailabilityHealth.UnitMonitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<!-- The alert description should include key properties of: -->
<!-- * the application server id -->
<!-- * the application hostname -->
<!-- * the application object name-->
<!-- * the application name -->
<AlertParameter1>$Target/Host/Property[Type="JEE!Microsoft.JEE.ApplicationServer.Monitored.Instance"]/Id$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="JEE!Microsoft.JEE.ApplicationServer.Monitored.Instance"]/HostName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="JEE!Microsoft.JEE.Application"]/ObjectName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="JEE!Microsoft.JEE.Application"]/ApplicationName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Healthy" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="NotHealthy" MonitorTypeStateID="NotHealthy" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="JEE!Microsoft.JEE.ApplicationServer.Monitored.Instance"]/HostName$</ComputerName>
<Protocol>$Target/Host/Property[Type="JEE!Microsoft.JEE.ApplicationServer.Monitored.Instance"]/Protocol$</Protocol>
<Port>$Target/Host/Property[Type="JEE!Microsoft.JEE.ApplicationServer.Monitored.Instance"]/Port$</Port>
<BaseURL/>
<JMXQuery>com.bea:Type=ApplicationRuntime,*</JMXQuery>
<AdditionalArguments>&amp;MaxDepth=2</AdditionalArguments>
<RequestBody/>
<!-- This will query all of the available MBeans and -->
<!-- look for the right MBean and update the state as stated -->
<!-- in the SPEC for WebLogic: -->
<!-- * Healthy : ActiveVersionState == Active -->
<!-- * Warning : ActiveVersionState == Prepared || -->
<!-- ActiveVersionState == Unprepared -->
<HealthyExpression>
<SimpleExpression>
<ValueExpression>
<!-- The XPATH if it were applied directly against the XML in a browser should look like: -->
<!-- /MBeans/weblogic.j2ee.J2EEApplicationRuntimeMBeanImpl/Properties/ActiveVersionState[../ApplicationName = "SimpleApplication"] -->
<XPathQuery Type="String">MBeans/MBean[@Name='weblogic.j2ee.J2EEApplicationRuntimeMBeanImpl']/Properties/Property[@Name='ActiveVersionState' and ../Property[@Name='ApplicationName']="$Target/Property[Type="JEE!Microsoft.JEE.Application"]/ApplicationName$"]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- 2 == Active -->
<Value Type="String">2</Value>
</ValueExpression>
</SimpleExpression>
</HealthyExpression>
<NotHealthyExpression>
<SimpleExpression>
<ValueExpression>
<!-- The XPATH if it were applied directly against the XML in a browser should look like: -->
<!-- /MBeans/weblogic.j2ee.J2EEApplicationRuntimeMBeanImpl/Properties/ActiveVersionState[../ApplicationName = "SimpleApplication"] -->
<XPathQuery Type="String">MBeans/MBean[@Name='weblogic.j2ee.J2EEApplicationRuntimeMBeanImpl']/Properties/Property[@Name='ActiveVersionState' and ../Property[@Name='ApplicationName']="$Target/Property[Type="JEE!Microsoft.JEE.Application"]/ApplicationName$"]</XPathQuery>
</ValueExpression>
<!-- Not looking for Active state, which implies that the state must either -->
<!-- be PREPARED or UNPREPARED. -->
<Operator>NotEqual</Operator>
<ValueExpression>
<!-- 2 == Active -->
<Value Type="String">2</Value>
</ValueExpression>
</SimpleExpression>
</NotHealthyExpression>
<IntervalSeconds>900</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>