Archived community.zenoss.org | full text search
Skip navigation
7986 Views 6 Replies Latest reply: Jul 11, 2013 11:27 AM by themactech RSS
jcurry ZenossMaster 1,021 posts since
Apr 15, 2008
Currently Being Moderated

Apr 15, 2009 2:10 PM

Process monitoring with / without SNMP

Zenoss 2.3.3 on SLES 10 (but I doubt that makes much difference!)

If I want to monitor for specific processes on a box, typically the box supports SNMP so if I put it in a class like /Device/Server/Linux it will automatically have MODELING data collector "plugins" applied, including zenoss.snmp.HRSWRunMap (use table drop-down menu for device and select More -> "Collector plugins"). If you turn up debug on zenmodeler you can see this information being collected using the SNMP Host Resources MIB (just run zenmodeler run -v 10 -d <your device name> ).

If you go to the device's OS page, you can see configured Processes and clicking on the Process Name entry takes you (hopefully) to graphs of cpu, memory and count for that process. From the graphs page, if you go to the template tab it show that the standard /Devices/OSProcess template is used to collect this data. However the Data Sources for OSProcess are rather strange - the type is SNMP but there is no MIB OID to supply the data! I expected this to be getting data from the Host Resources hrSWRunPerf table?? What actually populates these graphs ('cos there IS data there and it looks reasonable)?

Next step. Suppose you can't use SNMP to get process info from a box. You can assign it to /Devices/Server/Cmd and it gets a bunch of MODELING data collector "plugins", including zenoss.cmd.linux.process. Now if you run zenmodeler in debug you can see that simple operating system commands are run over ssh (provided your ssh authorization is all setup). You can see a line like:

 

 


DEBUG:zen.SshClient:command ps axho comm,args


followed by a whole bunch of lines which is obviously output from the above ps command (note that there are no Nagios plugins involved here - it's just the ps command run over ssh). However, if processes die, they never get reported in Zenoss - status always stays green (and I don't think it is the "display bug reported in ticket 3780 and I have restarted zenprocess....). I have turned up debugging in zenprocess and can see reports on other processes on other devices that are performing process checks with SNMP but there appears to be no reference whatsoever to the process being checked on my ssh device.

Next problem, if I drill into the process name to see graphs of cpu, memory and count for this process, the cpu and mem have no graph at all between the < and > bars. The count graph exists but has "nan" values - not available. Not surprising really as it is still using the single /Devices/OSProcess template described above which "suggests" it using SNMP.

So,
1) Is this process monitoring by ssh commands working as designed and, basically, it doesn't work (even though it does get the data)
2) Has anyone got this to work?
3) Even with standard SNMP process modelling using the HRSWRunMap data collector, what is actually populating the OSProcess performance data template?
4) Is there any chance of getting the performance data if you are using the zenoss.cmd.linux.process collector?

Cheers,
Jane
  • jmp242 ZenossMaster 4,060 posts since
    Mar 7, 2007
    Currently Being Moderated
    1. Apr 15, 2009 2:57 PM (in response to jcurry)
    Process monitoring with / without SNMP
    As to the SSH modeling, it is far more limited I believe in 2.3.3 than
    SNMP, but is supposed to be much improved in 2.4, one of the main areas
    updated for 2.4.
    --
    James Pulver
    Information Technology Area Supervisor
    LEPP Computer Group
    Cornell University



    jcurry wrote, On 4/15/2009 2:10 PM:

     

     

    Zenoss 2.3.3 on SLES 10 (but I doubt that makes much difference!)

    If I want to monitor for specific processes on a box, typically the box supports SNMP so if I put it in a class like /Device/Server/Linux it will automatically have MODELING data collector "plugins" applied, including zenoss.snmp.HRSWRunMap (use table drop-down menu for device and select More -> "Collector plugins"). If you turn up debug on zenmodeler you can see this information being collected using the SNMP Host Resources MIB (just run zenmodeler run -v 10 -d <your device name> ).

    If you go to the device's OS page, you can see configured Processes and clicking on the Process Name entry takes you (hopefully) to graphs of cpu, memory and count for that process. From the graphs page, if you go to the template tab it show that the standard /Devices/OSProcess template is used to collect this data. However the Data Sources for OSProcess are rather strange - the type is SNMP but there is no MIB OID to supply the data! I expected this to be getting data from the Host Resources hrSWRunPerf table?? What actually populates these graphs ('cos there IS data there and it looks reasonable)?

    Next step. Suppose you can't use SNMP to get process info from a box. You can assign it to /Devices/Server/Cmd and it gets a bunch of MODELING data collector "plugins", including zenoss.cmd.linux.process. Now if you run zenmodeler in debug you can see that simple operating system commands are run over ssh (provided your ssh authorization is all setup). You can see a line like:


     

     

    DEBUG:zen.SshClient:command ps axho comm,args


    followed by a whole bunch of lines which is obviously output from the above ps command (note that there are no Nagios plugins involved here - it's just the ps command run over ssh). However, if processes die, they never get reported in Zenoss - status always stays green (and I don't think it is the "display bug reported in ticket 3780 and I have restarted zenprocess....). I have turned up debugging in zenprocess and can see reports on other processes on other devices that are performing process checks with SNMP but there appears to be no reference whatsoever to the process being checked on my ssh device.

    Next problem, if I drill into the process name to see graphs of cpu, memory and count for this process, the cpu and mem have no graph at all between the < and > bars. The count graph exists but has "nan" values - not available. Not surprising really as it is still using the single /Devices/OSProcess template described above which "suggests" it using SNMP.

    So,
    1) Is this process monitoring by ssh commands working as designed and, basically, it doesn't work (even though it does get the data)
    2) Has anyone got this to work?
    3) Even with standard SNMP process modelling using the HRSWRunMap data collector, what is actually populating the OSProcess performance data template?
    4) Is there any chance of getting the performance data if you are using the zenoss.cmd.linux.process collector?

    Cheers,
    Jane







    _______________________________________________
    zenoss-users mailing list
    zenoss-users@zenoss.org
    http://lists.zenoss.org/mailman/listinfo/zenoss-users


    _______________________________________________
    zenoss-users mailing list
    zenoss-users@zenoss.org
    http://lists.zenoss.org/mailman/listinfo/zenoss-users
  • jmp242 ZenossMaster 4,060 posts since
    Mar 7, 2007
    Currently Being Moderated
    3. Apr 16, 2009 8:42 AM (in response to jcurry)
    Process monitoring with / without SNMP
    Well, in the discussions, there were supposed to be some places where
    users could add their own SSH based modeling plugins, but Linux was (I
    though) supposed to be covered at release... Maybe the plugin isn't out
    yet for the beta though?
    --
    James Pulver
    Information Technology Area Supervisor
    LEPP Computer Group
    Cornell University



    jcurry wrote, On 4/16/2009 5:52 AM:

     

     

    I have the same test running on my Zenoss 2.4 beta system (strictly it is 2.3.285 upgraded from a 2.2 system). I also have the new Linux zenpack, although this only seems to provide cpu, not process collectors. I have enabled the standard cmd.linux.process collectors for my 2 non-SNMP systems and I see exactly the same thing as in the 2.3 system. Zenmodeler accurately picks up the processes that are running but it looks like zenprocess doesn't even attempt to do anything about command-monitored processes so I never see any status changes and I never get any process cpu / memory / count data for my graphs.

    Any more thoughts, anyone?
    Cheers,
    Jane







    _______________________________________________
    zenoss-users mailing list
    zenoss-users@zenoss.org
    http://lists.zenoss.org/mailman/listinfo/zenoss-users

    _______________________________________________
    zenoss-users mailing list
    zenoss-users@zenoss.org
    http://lists.zenoss.org/mailman/listinfo/zenoss-users
  • Matt Ray Rank: Zen Master 2,484 posts since
    Apr 5, 2008
    Currently Being Moderated
    4. Apr 17, 2009 12:39 AM (in response to jmp242)
    Process monitoring with / without SNMP
    The beta 3 that went out (and the ZenPack refresh) have some fixes for
    broken graphs and other issues, but please open tickets against
    anything that doesn't seem to work right as you run into it.

    Thanks,
    Matt Ray
    Zenoss Community Manager
    community.zenoss.com
    mray@zenoss.com




    On Apr 16, 2009, at 7:41 AM, James Pulver wrote:

     

     

    Well, in the discussions, there were supposed to be some places where
    users could add their own SSH based modeling plugins, but Linux was (I
    though) supposed to be covered at release... Maybe the plugin isn't
    out
    yet for the beta though?
    --
    James Pulver
    Information Technology Area Supervisor
    LEPP Computer Group
    Cornell University



    jcurry wrote, On 4/16/2009 5:52 AM:

     

     

    I have the same test running on my Zenoss 2.4 beta system (strictly
    it is 2.3.285 upgraded from a 2.2 system). I also have the new
    Linux zenpack, although this only seems to provide cpu, not process
    collectors. I have enabled the standard cmd.linux.process
    collectors for my 2 non-SNMP systems and I see exactly the same
    thing as in the 2.3 system. Zenmodeler accurately picks up the
    processes that are running but it looks like zenprocess doesn't
    even attempt to do anything about command-monitored processes so I
    never see any status changes and I never get any process cpu /
    memory / count data for my graphs.

    Any more thoughts, anyone?
    Cheers,
    Jane







    _______________________________________________
    zenoss-users mailing list
    zenoss-users@zenoss.org
    http://lists.zenoss.org/mailman/listinfo/zenoss-users

    _______________________________________________
    zenoss-users mailing list
    zenoss-users@zenoss.org
    http://lists.zenoss.org/mailman/listinfo/zenoss-users



    _______________________________________________
    zenoss-users mailing list
    zenoss-users@zenoss.org
    http://lists.zenoss.org/mailman/listinfo/zenoss-users
  • gstanchev Rank: White Belt 8 posts since
    Jan 20, 2011
    Currently Being Moderated
    5. Jul 9, 2013 9:10 AM (in response to Matt Ray)
    Re: Process monitoring with / without SNMP

    I have exact same problem with 4.2.3, is that was solved? or I am making something wrong?

  • themactech Rank: Brown Belt 537 posts since
    Apr 13, 2009
    Currently Being Moderated
    6. Jul 11, 2013 11:27 AM (in response to gstanchev)
    Re: Process monitoring with / without SNMP

    Do you need the data on all the processes or just some that you need to keep an eye on?

     

    Process monitoring can be configure in Net-SNMP.  That would return the process data in a OID branch.

     

    It's on my to-do list to play with that and make a modeler to get that branch, but I don't know when I'll get to tackle that.

     

    Taken from a website:

     

    Process Monitoring

    The hrSWRun group of the Host Resources MIB provides information about individual processes running on the local system. The prTable of the UCD-SNMP-MIB complements this by reporting on selected services (which may involve multiple processes). This requires that the agent was built with support for the ucd-snmp/proc module (which is included as part of the default build configuration).

    proc NAME [MAX [MIN]]
    monitors the number of processes called NAME (as reported by "/bin/ps -e") running on the local system.
    If the number of NAMEd processes is less than MIN or greater than MAX, then the corresponding prErrorFlag instance will be set to 1, and a suitable description message reported via the prErrMessage instance.
    Note:
    This situation will not automatically trigger a trap to report the problem - see the DisMan Event MIB section later.
    If neither MAX nor MIN are specified (or are both 0), they will default to infinity and 1 respectively ("at least one"). If only MAX is specified, MIN will default to 0 ("no more than MAX").
    procfix NAME PROG ARGS
    registers a command that can be run to fix errors with the given process NAME. This will be invoked when the corresponding prErrFix instance is set to 1.
    Note:
    This command will not be invoked automatically.
    The procfix directive must be specified after the matching proc directive, and cannot be used on its own.

    If no proc directives are defined, then walking the prTable will fail (noSuchObject).

     

    Manuel

More Like This

  • Retrieving data ...