I want to use SystemEdge to monitor that all CA NFA processes on a Linux machine are running correctly.
Release : SystemEDGE 5.9
SystemEDGE cannot monitor a process if there are multiple processes of the same name running on the box unless it is able to differentiate the processes from one another.
As an example, in the case of many java processes running on the server the only way to make this work is to use a *unique* part of the process arguments to key in on. It has to be unique to each process or the will entry will not go active (this can be challenging at times if there are many of the same process).
Here is an example of a process monitor entry where the argument is "-Dactivemq". You don't even need to put in the actual process name, part of the matching argument is enough for the agent to monitor it.
watch process procAlive -Dactivemq 11 0x800 60 absolute >= 0 'Java Process' '' processEntry -Dactivemq processAlive none
sysedge.mon (the entry needs to be active or it is not initialized)
0 0 0 0
The other option here is a processgroup monitor entry.
If you know under normal circumstances there should be 3 instances of a given process you can setup a monitor to alarm when there are less than 3 running.
syedge.cf (2 entries)
monitor processGroupMonEntry java pgmonNumProcs 15 0x0 60 absolute < 3 '' '' processGroupMonEntry java pgmonNumProcs none
watch procgroup java 11 0x0 60 'Java Process Group Monitor' '' none
"Java Process Group Monitor"