Linux Server: Process status Health Monitor

Jalasoft.Xian.SmartManagementPacks.LinuxServers.ProcessStatus.1.1 (AggregateMonitor)

This monitor catches Xian events that notifies when the Process status has changed its state.

Knowledge Base article:

Summary

Process status has changed the state.

Process status has changed from one of the following situations to another: runnable, waiting, "zombie", unavailable.

Causes

When runnable, the process is on run queue; when waiting, the process is awaiting for an event to be completed; when "zombie", the process has been terminated but the parent process has not claimed it; when unavailable, the process ended between discovery and the time the rule was executed.

Resolutions

Run the PS command to identify the process running. Processes may be slowed down according to requirement. "Zombies" may be cleaned out by killing the parent process or rebooting, which is recommended because they may consume system resources when numerous.

Additional

Monitors the status of a single process. It can be ''R'' for Runnable, ''D'' for waiting for a resource like I/O or Memory and ''Z'' for Zombie. ''U'' means unavailable, so the process ended between the discovery process and the time this rule is executed.

Element properties:

TargetJalasoft.Xian.Common.Elements.ThirdParty.Linux.JsXLinuxServerProcessElement
Parent MonitorSystem.Health.PerformanceState
AlgorithmWorstOf
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityLow
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic
Alert Message
Process status Alert
{0}

Source Code:

<AggregateMonitor ID="Jalasoft.Xian.SmartManagementPacks.LinuxServers.ProcessStatus.1.1" Accessibility="Public" Enabled="true" Target="ThirdParty_Linux!Jalasoft.Xian.Common.Elements.ThirdParty.Linux.JsXLinuxServerProcessElement" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="ProcessStatus_AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Low</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Params/Param[3]$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>