BeanSpy

Microsoft.JEE.Deep.AvailabilityHealth.UnitMonitor (UnitMonitor)

Analyseur d'unité pour la surveillance approfondie d'un serveur d'applications.

Knowledge Base article:

Résumé

L'analyseur en profondeur de l'intégrité de la disponibilité ajoute des fonctionnalités de surveillance supplémentaires à la surveillance de la disponibilité de base. L'analyse approfondie vérifie que le serveur d'applications accepte et répond aux requêtes HTTP. Pour cela, vous devez vérifier que l'agent peut effectuer un appel à la page de statistiques BeanSpy.

Causes

Un état non intègre indique que l'analyse approfondie n'a pas pu établir une connexion à BeanSpy. Les causes possibles de ce problème sont les suivantes :

Résolutions

Vérifiez que BeanSpy a été déployé et qu'il est démarré en utilisant la console d'administration du serveur d'applications. Ensuite, vérifiez qu'aucun pare-feu ne bloque le port et que les informations d'identification utilisateur appropriées ont été fournies pour le compte d'identification.

Pour vérifier manuellement la connexion à BeanSpy, ouvrez un navigateur et connectez-vous à la page des statistiques :

Element properties:

TargetMicrosoft.JEE.ApplicationServer.Monitored.Instance
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.JEE.Deep.AvailabilityHealth.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Connexion au serveur d'applications interrompue
Le service de contrôle d'intégrité a perdu la connexion à BeanSpy sur le port {2} de la machine {1} pour l'ID de serveur d'applications « {0} ».
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.JEE.Deep.AvailabilityHealth.UnitMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.JEE.ApplicationServer.Monitored.Instance" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.JEE.Deep.AvailabilityHealth.MonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.JEE.Deep.AvailabilityHealth.UnitMonitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<!-- The alert description should include key properties of: -->
<!-- * the deep monitored application server ID -->
<!-- * the deep monitored application server hostname -->
<!-- * the deep monitored application server port -->
<AlertParameter1>$Target/Property[Type="Microsoft.JEE.ApplicationServer.Monitored.Instance"]/Id$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="Microsoft.JEE.ApplicationServer.Monitored.Instance"]/HostName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="Microsoft.JEE.ApplicationServer.Monitored.Instance"]/Port$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Available" MonitorTypeStateID="Available" HealthState="Success"/>
<OperationalState ID="Unavailable" MonitorTypeStateID="Unavailable" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Property[Type="Microsoft.JEE.ApplicationServer.Monitored.Instance"]/HostName$</ComputerName>
<Protocol>$Target/Property[Type="Microsoft.JEE.ApplicationServer.Monitored.Instance"]/Protocol$</Protocol>
<Port>$Target/Property[Type="Microsoft.JEE.ApplicationServer.Monitored.Instance"]/Port$</Port>
<BaseURL/>
<URLSuffix/>
<IntervalSeconds>900</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>