FreeBSD Bugzilla – Attachment 152369 Details for
Bug 197193
[PATCH] net-mgmt/nagios-plugins: add a -j (--jid) flag to check_procs which specifies jail id
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
[PATCH] net-mgmt/nagios-plugins: add a -j (--jid) flag to check_procs which specifies jail id
nagios-plugins.diff (text/plain), 7.31 KB, created by
mitsururike
on 2015-01-30 09:05:26 UTC
(
hide
)
Description:
[PATCH] net-mgmt/nagios-plugins: add a -j (--jid) flag to check_procs which specifies jail id
Filename:
MIME Type:
Creator:
mitsururike
Created:
2015-01-30 09:05:26 UTC
Size:
7.31 KB
patch
obsolete
>diff --git a/net-mgmt/nagios-plugins/files/patch-configure b/net-mgmt/nagios-plugins/files/patch-configure >index b995fb7..c6595a9 100644 >--- a/net-mgmt/nagios-plugins/files/patch-configure >+++ b/net-mgmt/nagios-plugins/files/patch-configure >@@ -1,11 +1,32 @@ >---- configure.orig 2014-06-26 16:17:37 UTC >-+++ configure >-@@ -21787,7 +21787,7 @@ then >- $as_echo "$ac_cv_ps_command" >&6; } >+--- configure.orig 2014-06-27 01:17:37.000000000 +0900 >++++ configure 2015-01-30 13:45:02.000000000 +0900 >+@@ -21776,23 +21776,13 @@ >+ fi >+ > >- elif ps -axwo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \ >+-elif ps axwo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \ > - egrep -i "^ *STAT +[UCOMAND]+ +VSZ +RSS +USER +UID +PID +PPID +COMMAND" > /dev/null >-+ egrep -i "^ *STAT +COMMAND +VSZ +RSS +USER +UID +PID +PPID +COMMAND" > /dev/null >++elif ps -axwo 'stat comm vsz rss user uid pid ppid jid args' 2>/dev/null | \ >++ egrep -i "^ *STAT +COMMAND +VSZ +RSS +USER +UID +PID +PPID +JID +COMMAND" > /dev/null > then >- ac_cv_ps_varlist="procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos" >- ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid pid ppid vsz rss pcpu comm args'" >+- ac_cv_ps_varlist="procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos" >+- ac_cv_ps_command="$PATH_TO_PS axwo 'stat uid pid ppid vsz rss pcpu comm args'" >+- ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" >+- ac_cv_ps_cols=9 >+- { $as_echo "$as_me:$LINENO: result: $ac_cv_ps_command" >&5 >+-$as_echo "$ac_cv_ps_command" >&6; } >+- >+-elif ps -axwo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \ >+- egrep -i "^ *STAT +[UCOMAND]+ +VSZ +RSS +USER +UID +PID +PPID +COMMAND" > /dev/null >+-then >+- ac_cv_ps_varlist="procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos" >+- ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid pid ppid vsz rss pcpu comm args'" >+- ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" >+- ac_cv_ps_cols=9 >++ ac_cv_ps_varlist="procstat,&procuid,&procpid,&procppid,&procjid,&procvsz,&procrss,&procpcpu,procprog,&pos" >++ ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid pid ppid jid vsz rss pcpu comm args'" >++ ac_cv_ps_format="%s %d %d %d %d %d %d %f %s %n" >++ ac_cv_ps_cols=10 >+ { $as_echo "$as_me:$LINENO: result: $ac_cv_ps_command" >&5 >+ $as_echo "$ac_cv_ps_command" >&6; } >+ >diff --git a/net-mgmt/nagios-plugins/files/patch-plugins_check__nagios.c b/net-mgmt/nagios-plugins/files/patch-plugins_check__nagios.c >new file mode 100644 >index 0000000..acb3d4f >--- /dev/null >+++ b/net-mgmt/nagios-plugins/files/patch-plugins_check__nagios.c >@@ -0,0 +1,10 @@ >+--- plugins/check_nagios.c.orig 2015-01-29 09:21:28 UTC >++++ plugins/check_nagios.c >+@@ -64,6 +64,7 @@ main (int argc, char **argv) >+ int procuid = 0; >+ int procpid = 0; >+ int procppid = 0; >++ int procjid = 0; >+ int procvsz = 0; >+ int procrss = 0; >+ float procpcpu = 0; >diff --git a/net-mgmt/nagios-plugins/files/patch-plugins_check__procs.c b/net-mgmt/nagios-plugins/files/patch-plugins_check__procs.c >new file mode 100644 >index 0000000..8196794 >--- /dev/null >+++ b/net-mgmt/nagios-plugins/files/patch-plugins_check__procs.c >@@ -0,0 +1,107 @@ >+--- plugins/check_procs.c.orig 2014-03-04 21:41:57 UTC >++++ plugins/check_procs.c >+@@ -70,6 +70,7 @@ int options = 0; /* bitmask of filter cr >+ #define PCPU 256 >+ #define ELAPSED 512 >+ #define EREG_ARGS 1024 >++#define JID 2048 >+ >+ #define KTHREAD_PARENT "kthreadd" /* the parent process of kernel threads: >+ ppid of procs are compared to pid of this proc*/ >+@@ -101,6 +102,7 @@ char *fails; >+ char tmp[MAX_INPUT_BUFFER]; >+ int kthread_filter = 0; >+ int usepid = 0; /* whether to test for pid or /proc/pid/exe */ >++int jid; >+ >+ FILE *ps_input = NULL; >+ >+@@ -130,6 +132,7 @@ main (int argc, char **argv) >+ int procuid = 0; >+ pid_t procpid = 0; >+ pid_t procppid = 0; >++ int procjid = 0; >+ pid_t kthread_ppid = 0; >+ int procvsz = 0; >+ int procrss = 0; >+@@ -230,9 +233,9 @@ main (int argc, char **argv) >+ procseconds = convert_to_seconds(procetime); >+ >+ if (verbose >= 3) >+- printf ("proc#=%d uid=%d vsz=%d rss=%d pid=%d ppid=%d pcpu=%.2f stat=%s etime=%s prog=%s args=%s\n", >++ printf ("proc#=%d uid=%d vsz=%d rss=%d pid=%d ppid=%d jid=%d pcpu=%.2f stat=%s etime=%s prog=%s args=%s\n", >+ procs, procuid, procvsz, procrss, >+- procpid, procppid, procpcpu, procstat, >++ procpid, procppid, procjid, procpcpu, procstat, >+ procetime, procprog, procargs); >+ >+ /* Ignore self */ >+@@ -275,6 +278,8 @@ main (int argc, char **argv) >+ resultsum |= PROG; >+ if ((options & PPID) && (procppid == ppid)) >+ resultsum |= PPID; >++ if ((options & JID) && (procjid == jid)) >++ resultsum |= JID; >+ if ((options & USER) && (procuid == uid)) >+ resultsum |= USER; >+ if ((options & VSZ) && (procvsz >= vsz)) >+@@ -292,9 +297,9 @@ main (int argc, char **argv) >+ >+ procs++; >+ if (verbose >= 2) { >+- printf ("Matched: uid=%d vsz=%d rss=%d pid=%d ppid=%d pcpu=%.2f stat=%s etime=%s prog=%s args=%s\n", >++ printf ("Matched: uid=%d vsz=%d rss=%d pid=%d ppid=%d jid=%d pcpu=%.2f stat=%s etime=%s prog=%s args=%s\n", >+ procuid, procvsz, procrss, >+- procpid, procppid, procpcpu, procstat, >++ procpid, procppid, procjid, procpcpu, procstat, >+ procetime, procprog, procargs); >+ } >+ >+@@ -395,6 +400,7 @@ process_arguments (int argc, char **argv >+ {"timeout", required_argument, 0, 't'}, >+ {"status", required_argument, 0, 's'}, >+ {"ppid", required_argument, 0, 'p'}, >++ {"jid", required_argument, 0, 'j'}, >+ {"user", required_argument, 0, 'u'}, >+ {"command", required_argument, 0, 'C'}, >+ {"vsz", required_argument, 0, 'z'}, >+@@ -417,7 +423,7 @@ process_arguments (int argc, char **argv >+ strcpy (argv[c], "-t"); >+ >+ while (1) { >+- c = getopt_long (argc, argv, "Vvhkt:c:w:p:s:u:C:a:z:r:m:P:T", >++ c = getopt_long (argc, argv, "Vvhkt:c:w:p:s:u:C:a:z:r:m:P:Tj:", >+ longopts, &option); >+ >+ if (c == -1 || c == EOF) >+@@ -451,6 +457,12 @@ process_arguments (int argc, char **argv >+ break; >+ } >+ usage4 (_("Parent Process ID must be an integer!")); >++ case 'j': /* jail id */ >++ if (sscanf (optarg, "%d%[^0-9]", &jid, tmp) == 1) { >++ asprintf (&fmt, "%s%sJID = %d", (fmt ? fmt : "") , (options ? ", " : ""), jid); >++ options |= JID; >++ break; >++ } >+ case 's': /* status */ >+ if (statopts) >+ break; >+@@ -731,6 +743,8 @@ print_help (void) >+ printf (" %s\n", _("RSZDT, plus others based on the output of your 'ps' command).")); >+ printf (" %s\n", "-p, --ppid=PPID"); >+ printf (" %s\n", _("Only scan for children of the parent process ID indicated.")); >++ printf (" %s\n", "-j, --jid=JID"); >++ printf (" %s\n", _("Only scan for process running in jail which ID is JID.")); >+ printf (" %s\n", "-z, --vsz=VSZ"); >+ printf (" %s\n", _("Only scan for processes with VSZ higher than indicated.")); >+ printf (" %s\n", "-r, --rss=RSS"); >+@@ -779,7 +793,7 @@ void >+ print_usage (void) >+ { >+ printf ("%s\n", _("Usage:")); >+- printf ("%s -w <range> -c <range> [-m metric] [-s state] [-p ppid]\n", progname); >++ printf ("%s -w <range> -c <range> [-m metric] [-s state] [-p ppid] [-j jid]\n", progname); >+ printf (" [-u user] [-r rss] [-z vsz] [-P %%cpu] [-a argument-array]\n"); >+ printf (" [-C command] [-k] [-t timeout] [-v]\n"); >+ }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 197193
: 152369