DX Application Performance Management

Expand all | Collapse all

how to monitor the nproc limit

  • 1.  how to monitor the nproc limit

    Posted 08-15-2018 09:55 AM

    Hi Team,

     

    We are contemplating to monitor the nrpoc limit and generate an alert when the limit is greater than 75%.

    Is it possible to do that through Infrastructure Agent?

    Requesting to share your experience and feedback if you have already configured it.

     

    Cheers

    Jay

    Cell No:551-263-9681



  • 2.  Re: how to monitor the nproc limit

    Posted 08-15-2018 10:00 AM

    Dear Team:

        Can your share your experiences with Jay in doing this? Thanks in advance for helping a fellow Community member!



  • 3.  Re: how to monitor the nproc limit

    Posted 08-15-2018 06:32 PM

    Hi Jay,

    If there is no previous user experience of this specific requirement you should be able to use the EPAgent plugin feature of the APMIA to create a plugin script for capturing the nrproc value to then be used a metric for alerting:

    EPAgent Plug-ins - CA Application Performance Management - 10.7 - CA Technologies Documentation 

    Sample EPAgent Plug-in Extensions - CA Application Performance Management - 10.7 - CA Technologies Documentation 

     

    Hope that helps

     

    Regards,

     

    Lynn



  • 4.  Re: how to monitor the nproc limit

    Posted 08-15-2018 08:03 PM

    There are many examples for outputting the data you want from *nix systems. It is up to you to parse that data and return it to APM in a consumable format.

    The links provided by Lynn should be used a guides. The same holds true if you're using Infrastructure Agent.



  • 5.  Re: how to monitor the nproc limit

    Posted 08-16-2018 01:24 AM

    You can use EPAgent or Infrastructure Agent to monitor OS related metrics. In my env i am using below script to monitor

    Open process.

     

    cat openfile.pl
    #!/bin/perl
    ## Unix Field Pack for EPAgent
    ## Version 1.1 Apr 2018
    ## Ranganathan
    #

     

    use Sys::Hostname;
    # warnings and strict commented out
    # use warnings;
    # use strict;

     

    my $error_log = "./logs/df_a_errors.log";
    my $firsttime=1;
    my @IOmetrics = ("OFILE","NAME");
    my @IOtypes = ("IntCounter","StringEvent");

     


    eval {
            my $host = hostname;
            $error_log = "./logs/ps_a_errors.${host}.log";

     

            my $openfile_command="lsof -u \$USER |wc -l|";
            open(open_f,$openfile_command) || die "Error when executing \"$openfile_command\": $!";

     

            while (<open_f>) {
                    chomp;
                    my @list = split(" ");
                             for(my $i=0;$i<scalar(@list);$i++) {
                             print qq{<metric type="$IOtypes[$i]" name="OPENFILES|${host}:$IOmetrics[$i]" value="$list[$i]"/>\n};
                            }
                            }
                 close(open_f);
            print qq{<metric type="IntCounter" name="OPENFILES:Success" value="2"/>\n}

     

    };

     

    if ( $@ ) {
            # write the error message to an error log for troubleshooting
            open(ERROR_LOG,">>$error_log") || die "Error when opening file \"$error_log\": $!";
            print ERROR_LOG localtime() . " - " . $@;
            close(ERROR_LOG);

     

            # gives the end user the opportunity to monitor the open_f plugin
            print qq{<metric type="IntCounter" name="open_f:Success" value="1"/>\n};
    }