Add monitoring-plugins, a fork of nagios-plugins.

For now, use a snapshot from github until they release 1.6.

Sponsored by:	Absolight
This commit is contained in:
Mathieu Arnold 2014-05-09 17:53:39 +00:00
parent 751d64025f
commit 88c5e8e9d2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=353482
13 changed files with 789 additions and 0 deletions

View File

@ -107,6 +107,7 @@
SUBDIR += macroscope
SUBDIR += mbrowse
SUBDIR += mk-livestatus
SUBDIR += monitoring-plugins
SUBDIR += mrtg
SUBDIR += mrtg-ping-probe
SUBDIR += mtrace

View File

@ -0,0 +1,171 @@
# Created by: Blaz Zupan <blaz@si.FreeBSD.org>
# $FreeBSD$
PORTNAME= monitoring-plugins
PORTVERSION= 1.5.99.20140427
CATEGORIES= net-mgmt
MASTER_SITES= GH GHC \
LOCAL/mat/${PORTNAME}
MAINTAINER= mat@FreeBSD.org
COMMENT= Monitoring Plugins for Nagios
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
USE_GITHUB= yes
GH_ACCOUNT= monitoring-plugins
GH_COMMIT= 1b38905
GH_TAGNAME= ${GH_COMMIT}
CONFLICTS_INSTALL= nagios-plugins-*
USES= charsetfix gmake perl5 libtool
CHARSETFIX_MAKEFILEIN=Makefile.am
USE_SUBMAKE= yes
USE_AUTOTOOLS= aclocal autoconf automake autoheader
ACLOCAL_ARGS= -I m4 -I gl/m4
AUTOMAKE_ARGS= --add-missing
OPTIONS_DEFINE= QSTAT FPING NETSNMP RADIUS MYSQL PGSQL LDAP IPV6 JAIL NLS DBI EXTRAOPTS
OPTIONS_SINGLE= DNS
OPTIONS_SINGLE_DNS= DNS_BASE DNS_BINDTOOLS DNS_BIND98 DNS_BIND99 DNS_BIND910
OPTIONS_DEFAULT=IPV6 EXTRAOPTS DNS_BASE
OPTIONS_SUB= yes
QSTAT_DESC= Game server query support (check_game)
FPING_DESC= Support for non-flooding fast ping (check_fping)
NETSNMP_DESC= SNMP support (check_snmp)
RADIUS_DESC= Radius support (check_radius)
MYSQL_DESC= MySQL support (check_mysql)
PGSQL_DESC= PostgreSQL support (check_pgsql)
LDAP_DESC= OpenLDAP support (check_ldap)
JAIL_DESC= Compilation within jail(8) (see help)
DBI_DESC= Check database using DBI
EXTRAOPTS_DESC= Parsing of plugins ini config files for extra options
DNS_DESC= Configuration of check_dig and check_dns (see help)
DNS_BASE_DESC= >= 10 means drill for check_dig and no check_dns
DNS_BINDTOOLS_DESC= Use dig and nslookup from dns/bind-tools
DNS_BIND98_DESC= Use dig and nslookup from dns/bind98
DNS_BIND99_DESC= Use dig and nslookup from dns/bind99
DNS_BIND910_DESC= Use dig and nslookup from dns/bind910
EXTRAOPTS_CONFIGURE_ENABLE= extra-opts
GNU_CONFIGURE= yes
NAGIOSUSER?= nagios
NAGIOSGROUP?= nagios
NAGIOSDIR?= /var/spool/nagios
NAGIOSWWWDIR?= www/nagios
NAGIOSHTMURL?= /nagios
NAGIOSCGIURL?= ${NAGIOSHTMURL}/cgi-bin
NAGIOSPOLLIP?= 127.0.0.1
NAGIOSPOLLIP6?= ::1
CONFIGURE_ARGS+=--with-nagios-user=${NAGIOSUSER} \
--with-nagios-group=${NAGIOSGROUP} \
--with-cgiurl=${NAGIOSCGIURL} \
--sbindir=${PREFIX}/${NAGIOSWWWDIR}/cgi-bin \
--libexecdir=${PREFIX}/libexec/nagios \
--datadir=${PREFIX}/share \
--sysconfdir=${PREFIX}/etc/nagios \
--localstatedir=${NAGIOSDIR} \
--prefix=${PREFIX}
# Also, force some commands with their expected paths so that they don't get
# disabled.
CONFIGURE_ARGS+=--with-qmail-qstat-command=/var/qmail/bin/qmail-qstat
CONFIGURE_ENV= PERL=${PERL}
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
CFLAGS+= -I${LOCALBASE}/include
QSTAT_BUILD_DEPENDS= qstat:${PORTSDIR}/games/qstat
QSTAT_RUN_DEPENDS= qstat:${PORTSDIR}/games/qstat
QSTAT_CONFIGURE_ENABLE= qstat
IPV6_CONFIGURE_WITH= ipv6
FPING_BUILD_DEPENDS= fping:${PORTSDIR}/net/fping
FPING_RUN_DEPENDS= fping:${PORTSDIR}/net/fping
FPING_CONFIGURE_ENABLE= fping
NETSNMP_BUILD_DEPENDS= snmpcheck:${PORTSDIR}/net-mgmt/net-snmp \
p5-Net-SNMP>=0:${PORTSDIR}/net-mgmt/p5-Net-SNMP
NETSNMP_RUN_DEPENDS= snmpcheck:${PORTSDIR}/net-mgmt/net-snmp \
p5-Net-SNMP>=0:${PORTSDIR}/net-mgmt/p5-Net-SNMP
NETSNMP_CONFIGURE_ENABLE= snmp
RADIUS_LIB_DEPENDS= libradiusclient-ng.so:${PORTSDIR}/net/radiusclient
RADIUS_CONFIGURE_WITH= radius
MYSQL_USE= mysql=yes
MYSQL_CONFIGURE_ON= --with-mysql=${LOCALBASE}
MYSQL_CONFIGURE_OFF= --without-mysql
PGSQL_USE= pgsql=yes
PGSQL_CONFIGURE_ON= --with-pgsql=${LOCALBASE}
PGSQL_CONFIGURE_OFF= --without-pgsql
LDAP_USE= openldap=yes
LDAP_CONFIGURE_WITH= ldap
NLS_USES= gettext
NLS_CONFIGURE_ENABLE= nls
DBI_LIB_DEPENDS= libdbi.so:${PORTSDIR}/databases/libdbi
DBI_CONFIGURE_WITH= dbi
DNS_BINDTOOLS_BUILD_DEPENDS= ${LOCALBASE}/bin/dig:${PORTSDIR}/dns/bind-tools
DNS_BINDTOOLS_CONFIGURE_ON= --with-dig-command=${LOCALBASE}/bin/dig \
--with-nslookup-command=${LOCALBASE}/bin/nslookup
DNS_BIND98_BUILD_DEPENDS= ${LOCALBASE}/bin/dig:${PORTSDIR}/dns/bind98
DNS_BIND98_CONFIGURE_ON= --with-dig-command=${LOCALBASE}/bin/dig \
--with-nslookup-command=${LOCALBASE}/bin/nslookup
DNS_BIND99_BUILD_DEPENDS= ${LOCALBASE}/bin/dig:${PORTSDIR}/dns/bind99
DNS_BIND99_CONFIGURE_ON= --with-dig-command=${LOCALBASE}/bin/dig \
--with-nslookup-command=${LOCALBASE}/bin/nslookup
DNS_BIND910_BUILD_DEPENDS= ${LOCALBASE}/bin/dig:${PORTSDIR}/dns/bind910
DNS_BIND910_CONFIGURE_ON= --with-dig-command=${LOCALBASE}/bin/dig \
--with-nslookup-command=${LOCALBASE}/bin/nslookup
.include <bsd.port.options.mk>
.if ${OSVERSION} > 1000055 && ${PORT_OPTIONS:MDNS_BASE}
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-dig-to-drill.diff
CONFIGURE_ARGS+=--with-dig-command=/usr/bin/drill
PLIST_SUB+= CHECK_DNS="@comment "
.else
. if ${PORT_OPTIONS:MDNS_BASE}
CONFIGURE_ARGS+= --with-dig-command=/usr/bin/dig \
--with-nslookup-command=/usr/bin/nslookup
. endif
PLIST_SUB+= CHECK_DNS=""
.endif
.if !exists(/usr/bin/ssh)
PLIST_SUB+= SSH="@comment "
.else
PLIST_SUB+= SSH=""
.endif
post-patch:
.for file in check_by_ssh.c check_disk.c check_http.c check_mrtgtraf.c \
check_nagios.c check_ntp.c check_ntp_peer.c check_ntp_time.c \
check_pgsql.c check_snmp.c check_ssh.c check_swap.c check_time.c \
check_users.c
@${REINPLACE_CMD} -e 's|setlocale (LC_ALL, "");|setlocale (LC_ALL, ""); setlocale(LC_NUMERIC, "C");|g' ${WRKSRC}/plugins/${file}
.endfor
@${REINPLACE_CMD} -e 's|chown root|${TRUE}|g' ${WRKSRC}/plugins-root/Makefile.am
.if ${PORT_OPTIONS:MJAIL}
@${REINPLACE_CMD} -e 's# 127.0.0.1 # ${NAGIOSPOLLIP} #g' ${WRKSRC}/configure.ac
@${REINPLACE_CMD} -e 's# ::1 # ${NAGIOSPOLLIP6} #g' ${WRKSRC}/configure.ac
.endif
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (monitoring-plugins-1.5.99.20140427.tar.gz) = 28b72733346df96ba7561328a5daf068c16149c3fd33d17b11934e70a8eac368
SIZE (monitoring-plugins-1.5.99.20140427.tar.gz) = 2046687

View File

@ -0,0 +1,13 @@
--- ./plugins/check_dig.c.orig 2014-03-04 20:21:36.000000000 +0100
+++ ./plugins/check_dig.c 2014-04-15 11:42:41.000000000 +0200
@@ -94,8 +94,8 @@
timeout_interval_dig = ceil((double) timeout_interval / (double) number_tries);
/* get the command to run */
- xasprintf (&command_line, "%s @%s -p %d %s -t %s %s %s +tries=%d +time=%d",
- PATH_TO_DIG, dns_server, server_port, query_address, record_type, dig_args, query_transport, number_tries, timeout_interval_dig);
+ xasprintf (&command_line, "%s %s @%s -z -p %d %s %s %s",
+ PATH_TO_DIG, dig_args, dns_server, server_port, query_address, record_type, query_transport);
alarm (timeout_interval);
gettimeofday (&tv, NULL);

View File

@ -0,0 +1,405 @@
--- ./configure.ac.orig 2014-04-27 19:59:06.000000000 +0200
+++ ./configure.ac 2014-05-09 18:45:30.000000000 +0200
@@ -44,6 +44,7 @@
gl_EARLY
AC_PROG_GCC_TRADITIONAL
AC_PROG_LIBTOOL
+AC_PROG_RANLIB
AM_PROG_CC_C_O
@@ -212,8 +213,8 @@
AC_CHECK_LIB(crypt,main)
if test "$ac_cv_lib_crypt_main" = "yes" -a "x$PGSQL" != "xno"; then
if test -n "$PGSQL"; then
- LDFLAGS="$LDFLAGS -L$PGSQL/lib"
- CPPFLAGS="$CPPFLAGS -I$PGSQL/include"
+ LDFLAGS="${LDFLAGS} -L$PGSQL/lib"
+ CPPFLAGS="${CPPFLAGS} -I$PGSQL/include"
fi
AC_CHECK_LIB(pq,PQsetdbLogin,,,-lcrypt)
if test "$ac_cv_lib_pq_PQsetdbLogin" = "yes"; then
@@ -257,10 +258,10 @@
dnl Check for DBI libraries
AS_IF([test "x$with_dbi" != "xno"], [
_SAVEDLIBS="$LIBS"
- AC_CHECK_LIB(dbi,dbi_initialize)
+ AC_CHECK_LIB(dbi,dbi_initialize,,,-L${LOCALBASE}/lib)
if test "$ac_cv_lib_dbi_dbi_initialize" = "yes"; then
EXTRAS="$EXTRAS check_dbi\$(EXEEXT)"
- DBILIBS="-ldbi"
+ DBILIBS="-L${LOCALBASE}/lib -ldbi"
AC_SUBST(DBILIBS)
else
AC_MSG_WARN([Skipping dbi plugin])
@@ -274,22 +275,17 @@
dnl Check for radius libraries
AS_IF([test "x$with_radius" != "xno"], [
_SAVEDLIBS="$LIBS"
- AC_CHECK_LIB(radiusclient,rc_read_config)
- if test "$ac_cv_lib_radiusclient_rc_read_config" = "yes"; then
- EXTRAS="$EXTRAS check_radius\$(EXEEXT)"
- RADIUSLIBS="-lradiusclient"
- AC_SUBST(RADIUSLIBS)
- else
- AC_CHECK_LIB(radiusclient-ng,rc_read_config)
+ AC_CHECK_LIB(radiusclient-ng,rc_read_config,,,-L${LOCALBASE}/lib)
if test "$ac_cv_lib_radiusclient_ng_rc_read_config" = "yes"; then
EXTRAS="$EXTRAS check_radius\$(EXEEXT)"
- RADIUSLIBS="-lradiusclient-ng"
+ RADIUSLIBS="-L${LOCALBASE}/lib -lradiusclient-ng"
+ RADIUSINCLUDE="-I${LOCALBSE}/include"
+ AC_SUBST(RADIUSINCLUDE)
AC_SUBST(RADIUSLIBS)
else
AC_MSG_WARN([Skipping radius plugin])
AC_MSG_WARN([install radius libs to compile this plugin (see REQUIREMENTS).])
fi
- fi
LIBS="$_SAVEDLIBS"
])
@@ -298,12 +294,13 @@
dnl Check for LDAP libraries
AS_IF([test "x$with_ldap" != "xno"], [
_SAVEDLIBS="$LIBS"
- AC_CHECK_LIB(ldap,main,,,-llber)
- if test "$ac_cv_lib_ldap_main" = "yes"; then
- LDAPLIBS="-lldap -llber"\
- LDAPINCLUDE="-I/usr/include/ldap"
+ AC_CHECK_LIB(ldap,ldap_simple_bind,,,-L${LOCALBASE}/lib -llber)
+ if test "$ac_cv_lib_ldap_ldap_simple_bind" = "yes"; then
+ LDAPLIBS="-L${LOCALBSE}/lib -lldap -llber"
+ LDAPINCLUDE="-I${LOCALBASE}/include"
AC_SUBST(LDAPLIBS)
AC_SUBST(LDAPINCLUDE)
+ LIBS="-L${LOCALBASE}/lib $LIBS"
AC_CHECK_FUNCS(ldap_set_option)
EXTRAS="$EXTRAS check_ldap\$(EXEEXT)"
AC_CHECK_FUNCS(ldap_init ldap_set_option ldap_get_option ldap_start_tls_s)
@@ -735,22 +732,10 @@
dnl ac_cv_ps_cols=8
dnl AC_MSG_RESULT([$ac_cv_ps_command])
-dnl Some gnu/linux systems (debian for one) don't like -axwo and need axwo.
-dnl so test for this first...
-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_MSG_RESULT([$ac_cv_ps_command])
-
-dnl For OpenBSD 3.2 & 3.3. Must come before ps -weo
-dnl Should also work for FreeBSD 5.2.1 and 5.3
-dnl STAT UCOMM VSZ RSS USER PPID COMMAND
+dnl FreeBSD 5.x and above
+dnl STAT COMMAND VSZ RSS USER UID PID PPID COMMAND
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
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'"
@@ -758,9 +743,8 @@
ac_cv_ps_cols=9
AC_MSG_RESULT([$ac_cv_ps_command])
-dnl Some *BSDs have different format for ps. This is mainly to catch FreeBSD 4.
-dnl Limitation: Only first 16 chars returned for ucomm field
-dnl Must come before ps -weo
+dnl FreeBSD 4.x
+dnl STAT UID PID PPID VSZ RSS %CPU UCOMM COMMAND
elif ps -axwo 'stat uid pid ppid vsz rss pcpu ucomm command' 2>/dev/null | \
egrep -i ["^ *STAT +UID +PID +PPID +VSZ +RSS +%CPU +UCOMM +COMMAND"] > /dev/null
then
@@ -770,209 +754,6 @@
ac_cv_ps_cols=9
AC_MSG_RESULT([$ac_cv_ps_command])
-dnl STAT UCOMM VSZ RSS USER UID PPID COMMAND
-elif ps -weo 'stat comm vsz rss user uid pid ppid etime args' 2>/dev/null | \
- egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[ID]+ +P[PID]+ +[ELAPSD]+ +[RGSCOMDNA]+"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procetime,procprog,&pos]"
- ac_cv_ps_command="$PATH_TO_PS -weo 'stat uid pid ppid vsz rss pcpu etime comm args'"
- ac_cv_ps_format="%s %d %d %d %d %d %f %s %s %n"
- ac_cv_ps_cols=10
- AC_MSG_RESULT([$ac_cv_ps_command])
-
-dnl FreeBSD
-elif ps waxco 'state command vsz rss uid user pid ppid' 2>/dev/null | \
- egrep -i ["^STAT +COMMAND +VSZ +RSS +UID +USER +PID +PPID"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
- ac_cv_ps_command="$PATH_TO_PS waxco 'state uid pid ppid vsz rss pcpu command command'"
- ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
- ac_cv_ps_cols=9
- AC_MSG_RESULT([$ac_cv_ps_command])
-
-dnl BSD-like mode in RH 6.1
-elif ps waxno 'state comm vsz rss uid user pid ppid args' 2>/dev/null | \
- egrep -i ["^S +COMMAND +VSZ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
- ac_cv_ps_command="$PATH_TO_PS waxno 'state 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_MSG_RESULT([$ac_cv_ps_command])
-
-dnl SunOS 4.1.3:
-dnl F UID PID PPID CP PRI NI SZ RSS WCHAN STAT TT TIME COMMAND
-dnl Need the head -1 otherwise test will work because arguments are found
-elif ps -laxnwww 2>/dev/null | head -1 | \
- egrep -i ["^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND"] >/dev/null
-then
- ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]"
- ac_cv_ps_command="$PATH_TO_PS -laxnwww"
- ac_cv_ps_format="%*s %d %d %d %*s %*s %*s %d %d %*s %s %*s %*s %n%s"
- ac_cv_ps_cols=9
- AC_MSG_RESULT([$ac_cv_ps_command])
-
-dnl Debian Linux / procps v1.2.9:
-dnl FLAGS UID PID PPID PRI NI SIZE RSS WCHAN STA TTY TIME COMMAND
-dnl 100 0 1 0 0 0 776 76 c0131c8c S ffff 0:11 init [2]
-dnl
-elif ps laxnwww 2>/dev/null | \
- egrep -i ["^ *F(LAGS)? +UID +PID +PPID +PRI +NI +(VSZ)|(SIZE) +RSS +WCHAN +STAT? TTY +TIME +COMMAND"] >/dev/null
-then
- ac_cv_ps_varlist="[&procuid,&procpid,&procppid,procstat,&procvsz,&procrss,&pos,procprog]"
- ac_cv_ps_command="$PATH_TO_PS laxnwww"
- ac_cv_ps_format="%*s %d %d %d %*s %*s %d %d %*s %s %*s %*s %n%s"
- ac_cv_ps_cols=9
- AC_MSG_RESULT([$ac_cv_ps_command])
-
-dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs)
-elif ps -axo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \
- egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
- ac_cv_ps_command="$PATH_TO_PS -axo '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_MSG_RESULT([$ac_cv_ps_command])
-
-dnl Tru64 - needs %*[ +<>] in PS_FORMAT.
-dnl Has /usr/bin/ps and /sbin/ps - force sbin version
-dnl Can't use vsize and rssize because comes back with text (eg, 1.5M instead
-dnl of 1500). Will need big changes to check_procs to support
-elif /sbin/ps -eo 'stat uid pid ppid pcpu etime comm args' 2>/dev/null | \
- egrep -i ["^ *S +[UID]+ +[PID]+ +[PID]+ +[%CPU]+ +[ELAPSD]+ +[COMMAND]+ +[COMMAND]+"] > /dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procpcpu,procetime,procprog,&pos]"
- ac_cv_ps_command="/sbin/ps -eo 'stat uid pid ppid pcpu etime comm args'"
- ac_cv_ps_format=["%s%*[ +<>] %d %d %d %f %s %s %n"]
- ac_cv_ps_cols=8
- AC_MSG_RESULT([$ac_cv_ps_command])
-
-elif ps -eo 's comm vsz rss user uid pid ppid args' 2>/dev/null | \
- egrep -i ["^S[TAUES]* +C[OMDNA]+ +[VSIZE]+ +U[SER]+ +U[ID]+ +P[PID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
- ac_cv_ps_command="$PATH_TO_PS -eo 's 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_MSG_RESULT([$ac_cv_ps_command])
-
-dnl AIX 4.3.3 and 5.1 do not have an rss field
-elif ps -eo 'stat uid pid ppid vsz pcpu comm args' 2>/dev/null | \
- egrep -i ["^ *S[TAUES]* +UID +PID +PPID +VSZ +%CPU +COMMAND +COMMAND"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procpcpu,procprog,&pos]"
- ac_cv_ps_command="$PATH_TO_PS -eo 'stat uid pid ppid vsz pcpu comm args'"
- ac_cv_ps_format="%s %d %d %d %d %f %s %n"
- ac_cv_ps_cols=8
- AC_MSG_RESULT([$ac_cv_ps_command - with no RSS])
-
-dnl Solaris 2.6
-elif ps -Ao 's comm vsz rss uid user pid ppid args' 2>/dev/null | \
- egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
- ac_cv_ps_command="$PATH_TO_PS -Ao 's uid pid ppid vsz rss pcpu comm args'"
- # There must be no space between the %s and %n due to a wierd problem in sscanf where
- # it will return %n as longer than the line length
- ac_cv_ps_format="%s %d %d %d %d %d %f %s%n"
- ac_cv_ps_cols=9
- AC_MSG_RESULT([$ac_cv_ps_command])
-
-elif ps -Ao 'status comm vsz rss uid user pid ppid args' 2>/dev/null | \
- egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
- ac_cv_ps_command="$PATH_TO_PS -Ao 'status 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_MSG_RESULT([$ac_cv_ps_command])
-
-elif ps -Ao 'state comm vsz rss uid user pid ppid args' 2>/dev/null | \
- egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
- ac_cv_ps_command="$PATH_TO_PS -Ao 'state 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_MSG_RESULT([$ac_cv_ps_command])
-
-dnl wonder who takes state instead of stat
-elif ps -ao 'state command vsz rss user pid ppid args' 2>/dev/null | \
- egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
- ac_cv_ps_command="$PATH_TO_PS -ao 'state uid pid ppid vsz rss pcpu command args'"
- ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
- ac_cv_ps_cols=8
- AC_MSG_RESULT([$ac_cv_ps_command])
-
-dnl IRIX 53
-elif ps -el 2>/dev/null | \
- egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&pos,procprog]"
- ac_cv_ps_command="$PATH_TO_PS -el (IRIX 53)"
- ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %d %d %*s %*s %*s %n%s"
- ac_cv_ps_cols=8
- AC_MSG_RESULT([$ac_cv_ps_command])
-
-dnl IRIX 63
-elif ps -el 2>/dev/null | \
- egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +ADDR +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&pos,procprog]"
- ac_cv_ps_command="$PATH_TO_PS -el (IRIX 63)"
- ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
- ac_cv_ps_cols=6
- AC_MSG_RESULT([$ac_cv_ps_command])
-
-dnl AIX 4.1:
-dnl F S UID PID PPID C PRI NI ADDR SZ RSS WCHAN TTY TIME CMD
-dnl 303 A 0 0 0 120 16 -- 1c07 20 24 - 0:45 swapper
-elif ps -el 2>/dev/null | \
- egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&pos,procprog]"
- ac_cv_ps_command="$PATH_TO_PS -el (AIX 4.1 and HP-UX)"
- ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
- ac_cv_ps_cols=6
- AC_MSG_RESULT([$ac_cv_ps_command])
-
-dnl AIX?
-elif ps glaxen 2>/dev/null | \
- egrep -i ["^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND"] >/dev/null
-then
- ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]"
- ac_cv_ps_command="$PATH_TO_PS glaxen"
- ac_cv_ps_format="%*s %d %d %d %*s %*s %d %d %*s %s %*s %*s %n%s"
- ac_cv_ps_cols=8
- AC_MSG_RESULT([$ac_cv_ps_command])
-
-dnl MacOSX / Darwin
-dnl TODO: MacOSX has commands with spaces which will cause problems to PS_FORMAT
-dnl Some truncation will happen in UCOMM column
-dnl STAT VSZ RSS UID PPID %CPU UCOMM COMMAND
-dnl Ss 52756 22496 501 1 6.9 Window Manager /System/Library/CoreServices/WindowServer -daemon
-elif ps wwaxo 'state vsz rss uid pid ppid pcpu ucomm command' 2>/dev/null | \
- egrep -i ["^STAT +VSZ +RSS +UID +PPID +%CPU +UCOMM +COMMAND"] >/dev/null
-then
- ac_cv_ps_command="$PATH_TO_PS wwaxo 'state vsz rss uid pid ppid pcpu ucomm command'"
- ac_cv_ps_varlist="[procstat,&procvsz,&procrss,&procuid,&procpid,&procppid,&procpcpu,procprog,&pos]"
- ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
- ac_cv_ps_cols=8
- AC_MSG_RESULT([$ac_cv_ps_command])
-
-dnl UnixWare
-elif ps -Al 2>/dev/null | \
- egrep -i ["^ *F +S +UID +PID +PPID +CLS +PRI +NI +C +ADDR +SZ +WCHAN +TTY +TIME +COMD"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&pos,procprog]"
- ac_cv_ps_command="$PATH_TO_PS -Al"
- ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
- ac_cv_ps_cols=8
- AC_MSG_RESULT([$ac_cv_ps_command])
-
else
AC_MSG_WARN([unable to find usable ps syntax - check_procs and check_nagios will not be compiled])
fi
@@ -1371,6 +1152,8 @@
AC_MSG_WARN([Get smbclient from Samba.org to monitor SMB shares])
fi
+AC_ARG_ENABLE(snmp,--enable-snmp compile check_hpjd and check_snmp)
+if test x$enable_snmp = xyes; then
AC_PATH_PROG(PATH_TO_SNMPGET,snmpget)
AC_ARG_WITH(snmpget_command,
ACX_HELP_STRING([--with-snmpget-command=PATH],
@@ -1401,7 +1184,10 @@
else
AC_MSG_WARN([Tried $PERL - install Net::SNMP perl module if you want to use the perl snmp plugins])
fi
+fi
+AC_ARG_ENABLE(qstat,--enable-qstat compile check_game)
+if test x$enable_qstat = xyes; then
AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
AC_PATH_PROG(PATH_TO_QSTAT,qstat)
AC_ARG_WITH(qstat_command,
@@ -1426,7 +1212,10 @@
AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$ac_cv_path_to_qstat",
[path to qstat/quakestat])
fi
+fi
+AC_ARG_ENABLE(fping,--enable-fping compile check_fping)
+if test x$enable_fping = xyes; then
AC_PATH_PROG(PATH_TO_FPING,fping)
AC_PATH_PROG(PATH_TO_FPING6,fping6)
@@ -1447,6 +1236,7 @@
else
AC_MSG_WARN([Get fping from http://www.fping.com in order to make check_fping plugin])
fi
+fi
AC_PATH_PROG(PATH_TO_SSH,ssh)
AC_ARG_WITH(ssh_command,
@@ -1514,32 +1304,12 @@
dnl end if for PATH_TO_SWAP
fi
-AC_PATH_PROG(PATH_TO_SWAPINFO,swapinfo)
-if (test -n "$PATH_TO_SWAPINFO")
-then
-AC_MSG_CHECKING([for $PATH_TO_SWAPINFO format])
-if [$PATH_TO_SWAPINFO -k 2>&1 | egrep -i "^Device" >/dev/null]
-then
- ac_cv_have_swap=yes
- ac_cv_swap_command="$PATH_TO_SWAPINFO -k"
-
- if [$PATH_TO_SWAPINFO -k 2>/dev/null | egrep -i "^Device +1K-blocks +Used +Avail" >/dev/null]
- then
- ac_cv_swap_format=["%*s %f %*d %f"]
- ac_cv_swap_conv=1024
- AC_MSG_RESULT([using FreeBSD format swapinfo])
- fi
-
-elif [$PATH_TO_SWAPINFO -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >/dev/null]
-then
- ac_cv_have_swap=yes
- ac_cv_swap_command="$PATH_TO_SWAPINFO -dfM"
- ac_cv_swap_format=["%*s %f %*d %f"]
- ac_cv_swap_conv=1024
- AC_MSG_RESULT([using HP-UX format swapinfo])
-fi
-dnl end if for PATH_TO_SWAPINFO
-fi
+PATH_TO_SWAPINFO="/usr/sbin/swapinfo"
+ac_cv_have_swap=yes
+ac_cv_swap_command="$PATH_TO_SWAPINFO -k"
+ac_cv_swap_format=["%*s %f %*d %f"]
+ac_cv_swap_conv=1024
+AC_MSG_RESULT([using FreeBSD format swapinfo])
AC_PATH_PROG(PATH_TO_LSPS,lsps)
if (test -n "$PATH_TO_LSPS")

View File

@ -0,0 +1,18 @@
--- ./gl/m4/extensions.m4.orig 2014-03-04 20:21:36.000000000 +0100
+++ ./gl/m4/extensions.m4 2014-04-14 10:22:50.000000000 +0200
@@ -16,6 +16,7 @@
# warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
# or warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
# the fix is
+m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],[
# 1) to ensure that AC_USE_SYSTEM_EXTENSIONS is never directly invoked
# but always AC_REQUIREd,
# 2) to ensure that for each occurrence of
@@ -49,6 +50,7 @@
except with this defined.])
AC_DEFINE([_MINIX], [1],
[Define to 1 if on MINIX.])
+])
AC_DEFINE([_NETBSD_SOURCE], [1],
[Define to 1 to make NetBSD features available. MINIX 3 needs this.])
fi

View File

@ -0,0 +1,19 @@
--- ./plugins-scripts/check_ircd.pl.orig 2014-04-27 19:59:06.000000000 +0200
+++ ./plugins-scripts/check_ircd.pl 2014-05-09 18:45:31.000000000 +0200
@@ -65,6 +65,7 @@
$ENV{'PATH'}='@TRUSTED_PATH@';
$ENV{'BASH_ENV'}='';
$ENV{'ENV'}='';
+$ENV{CDPATH} = "";
# -----------------------------------------------------------------[ Global ]--
@@ -152,7 +153,7 @@
print "IRCD UNKNOWN: Could not start socket ($!)\n";
exit $ERRORS{"UNKNOWN"};
}
- $sockaddr = 'S n a4 x8';
+ $sockaddr = 'x C n a4 x8';
$that = pack($sockaddr, AF_INET, $in_remoteport, $thataddr);
if (!connect(ClientSocket, $that)) {
print "IRCD UNKNOWN: Could not connect socket ($!)\n";

View File

@ -0,0 +1,19 @@
--- ./plugins-scripts/check_ntp.pl.orig 2014-03-04 20:21:36.000000000 +0100
+++ ./plugins-scripts/check_ntp.pl 2014-04-14 10:22:50.000000000 +0200
@@ -313,7 +313,6 @@
}
} else {
print "No match!\n" if $verbose;
- $jitter = '(not parsed)';
}
}
@@ -427,7 +426,7 @@
foreach my $key (keys %ERRORS) {
if ($state==$ERRORS{$key}) {
# print ("NTP $key: $answer");
- print ("NTP $key: $answer|offset=$offset, jitter=" . $jitter/1000 . ",peer_stratum=$stratum\n");
+ print ("NTP $key: $answer|offset=$offset, jitter=" . ($jitter || 0)/1000 . ",peer_stratum=$stratum\n");
last;
}
}

View File

@ -0,0 +1,11 @@
--- ./plugins/Makefile.am.orig 2014-04-27 19:59:06.000000000 +0200
+++ ./plugins/Makefile.am 2014-05-09 18:45:30.000000000 +0200
@@ -14,7 +14,7 @@
VPATH = $(top_srcdir) $(top_srcdir)/lib $(top_srcdir)/plugins $(top_srcdir)/plugins/t
AM_CPPFLAGS = -I.. -I$(top_srcdir)/lib -I$(top_srcdir)/gl -I$(top_srcdir)/intl \
- @LDAPINCLUDE@ @PGINCLUDE@ @SSLINCLUDE@
+ @LDAPINCLUDE@ @PGINCLUDE@ @SSLINCLUDE@ @RADIUSINCLUDE@
localedir = $(datadir)/locale
# gettext docs say to use AM_CPPFLAGS, but per module_CPPFLAGS override this

View File

@ -0,0 +1,18 @@
--- ./plugins/check_ssh.c.orig 2014-04-27 19:59:06.000000000 +0200
+++ ./plugins/check_ssh.c 2014-05-09 18:45:31.000000000 +0200
@@ -250,6 +250,7 @@
printf
(_("SSH WARNING - %s (protocol %s) version mismatch, expected '%s'\n"),
ssh_server, ssh_proto, remote_version);
+ recv (sd, output, BUFF_SZ, 0);
close(sd);
exit (STATE_WARNING);
}
@@ -260,6 +261,7 @@
(_("SSH OK - %s (protocol %s) | %s\n"),
ssh_server, ssh_proto, fperfdata("time", elapsed_time, "s",
FALSE, 0, FALSE, 0, TRUE, 0, TRUE, (int)socket_timeout));
+ recv (sd, output, BUFF_SZ, 0);
close(sd);
exit (STATE_OK);
}

View File

@ -0,0 +1,15 @@
This is a plugin package for Nagios. Quoting from the
main Nagios package:
Nagios is a host and service monitor designed to inform you of network
problems before your clients, end-users or managers do. It has been
designed to run under the Linux operating system, but works fine under
most *NIX variants as well. The monitoring daemon runs intermittent
checks on hosts and services you specify using external "plugins"
which return status information to Nagios. When problems are
encountered, the daemon can send notifications out to administrative
contacts in a variety of different ways (email, instant message, SMS,
etc.). Current status information, historical logs, and reports can
all be accessed via a web browser.
WWW: https://www.nagios-plugins.org/

View File

@ -0,0 +1,25 @@
** JAIL **
If you are building nagios-plugins from within a jail that
doesn't have 127.0.0.1 and ::1, and you want check_ping to
be built, you have to set NAGIOSPOLLIP and NAGIOSPOLLIP6 to
an IPV4 and an IPV6 address that can be pinged from the jail.
** DNS **
Starting from FreeBSD 10.0, BIND has been replaced in base
by unbound. This means that there are no dig and nslookup
utilities for check_dig and check_dns to use. If you choose
DNS_BASE, check_dig will be built using drill instead of
dig, if you use -A the dig options will generally not work,
check drill(1) for the correct ones, also, timeout and retry
will be ignored, and check_dns won't be installed. If you
check any other option, the installed dig and nslookup will
be used.
If you run FreeBSD < 10, you can still use the DNS_BIND*
options to have check_dig and check_dns use the newer dig
and nslookup utilities.
If you use REPLACE_BASE with BIND, choose the DNS_BASE option.

View File

@ -0,0 +1,72 @@
libexec/nagios/check_apt
libexec/nagios/check_breeze
%%SSH%%libexec/nagios/check_by_ssh
libexec/nagios/check_clamd
libexec/nagios/check_cluster
%%DBI%%libexec/nagios/check_dbi
libexec/nagios/check_dhcp
libexec/nagios/check_dig
libexec/nagios/check_disk
libexec/nagios/check_disk_smb
%%CHECK_DNS%%libexec/nagios/check_dns
libexec/nagios/check_dummy
libexec/nagios/check_file_age
libexec/nagios/check_flexlm
%%FPING%%libexec/nagios/check_fping
libexec/nagios/check_ftp
%%QSTAT%%libexec/nagios/check_game
%%NETSNMP%%libexec/nagios/check_hpjd
libexec/nagios/check_http
libexec/nagios/check_icmp
libexec/nagios/check_ifoperstatus
libexec/nagios/check_ifstatus
libexec/nagios/check_imap
libexec/nagios/check_ircd
libexec/nagios/check_jabber
%%LDAP%%libexec/nagios/check_ldap
%%LDAP%%libexec/nagios/check_ldaps
libexec/nagios/check_load
libexec/nagios/check_log
libexec/nagios/check_mailq
libexec/nagios/check_mrtg
libexec/nagios/check_mrtgtraf
%%MYSQL%%libexec/nagios/check_mysql
%%MYSQL%%libexec/nagios/check_mysql_query
libexec/nagios/check_nagios
libexec/nagios/check_nntp
libexec/nagios/check_nntps
libexec/nagios/check_nt
libexec/nagios/check_ntp
libexec/nagios/check_ntp_peer
libexec/nagios/check_ntp_time
libexec/nagios/check_nwstat
libexec/nagios/check_oracle
libexec/nagios/check_overcr
%%PGSQL%%libexec/nagios/check_pgsql
libexec/nagios/check_ping
libexec/nagios/check_pop
libexec/nagios/check_procs
%%RADIUS%%libexec/nagios/check_radius
libexec/nagios/check_real
libexec/nagios/check_rpc
libexec/nagios/check_sensors
libexec/nagios/check_simap
libexec/nagios/check_smtp
%%NETSNMP%%libexec/nagios/check_snmp
libexec/nagios/check_spop
libexec/nagios/check_ssh
libexec/nagios/check_ssmtp
libexec/nagios/check_swap
libexec/nagios/check_tcp
libexec/nagios/check_time
libexec/nagios/check_udp
libexec/nagios/check_ups
libexec/nagios/check_users
libexec/nagios/check_wave
libexec/nagios/negate
libexec/nagios/urlize
libexec/nagios/utils.pm
libexec/nagios/utils.sh
%%NLS%%share/locale/de/LC_MESSAGES/monitoring-plugins.mo
%%NLS%%share/locale/fr/LC_MESSAGES/monitoring-plugins.mo
@dirrmtry libexec/nagios