From noreply at sourceforge.net Mon Mar 1 08:47:08 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Mon Mar 1 08:47:08 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Bugs-903461 ] check_nwstat generates ipv6 calls (error) Message-ID: Bugs item #903461, was opened at 2004-02-24 14:14 Message generated for change (Comment added) made by faucon You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=903461&group_id=29880 Category: None Group: Release (specify) Status: Open Resolution: None Priority: 5 Submitted By: Alex (faucon) Assigned to: Karl DeBisschop (kdebisschop) Summary: check_nwstat generates ipv6 calls (error) Initial Comment: Short story : check_nwstat is doing 2 X AAAA request and 1 X A request to my DNS server since version 1.3.99 (1.13). Details and tests : Linux server RedHat9. DNS server Netware With check_nwstat v1.3.99 or more recent, my DNS server is showing that my Nagios server is doing 2 X AAAA request (ip6) and 1 X A request (ip4). I tested with version 1.3.1 of the plugins, and there is no problem there. (but features in latest release are needed). I tested with other plugins and with ping, and everything is fine. Here is a peace of the logs. ---------------------- ***** QH_Proc: query received from 10.1.0.137 QH_ns_req: Query for (srv-ndps1.cslaval.qc.ca) of type aaaa Domain Name "srv-ndps1.cslaval.qc.ca" found in authoritative cache zone "cslaval.qc.ca" Send a UDP Reply to 10.1.0.137 ***** QH_Proc: query received from 10.1.0.137 QH_ns_req: Query for (srv-educ1.cslaval.qc.ca) of type aaaa Domain Name "srv-educ1.cslaval.qc.ca" found in authoritative cache zone "cslaval.qc.ca" Send a UDP Reply to 10.1.0.137 ***** QH_Proc: query received from 10.1.0.137 QH_ns_req: Query for (srv-sec1.cslaval.qc.ca) of type aaaa Domain Name "srv-sec1.cslaval.qc.ca" found in authoritative cache zone "cslaval.qc.ca" Send a UDP Reply to 10.1.0.137 ***** QH_Proc: query received from 10.1.0.137 QH_ns_req: Query for (srv-ndps1.cslaval.qc.ca) of type aaaa Domain Name "srv-ndps1.cslaval.qc.ca" found in authoritative cache zone "cslaval.qc.ca" Send a UDP Reply to 10.1.0.137 ***** QH_Proc: query received from 10.1.0.137 QH_ns_req: Query for (srv-educ1.cslaval.qc.ca) of type a Domain Name "srv-educ1.cslaval.qc.ca" found in authoritative cache zone "cslaval.qc.ca" Send a UDP Reply to 10.1.0.137 ***** QH_Proc: query received from 10.1.0.137 QH_ns_req: Query for (srv-sec1.cslaval.qc.ca) of type aaaa Domain Name "srv-sec1.cslaval.qc.ca" found in authoritative cache zone "cslaval.qc.ca" Send a UDP Reply to 10.1.0.137 ***** QH_Proc: query received from 10.1.0.137 QH_ns_req: Query for (srv-ndps1.cslaval.qc.ca) of type a Domain Name "srv-ndps1.cslaval.qc.ca" found in authoritative cache zone "cslaval.qc.ca" Send a UDP Reply to 10.1.0.137 ***** QH_Proc: query received from 10.1.0.137 QH_ns_req: Query for (srv-sec1.cslaval.qc.ca) of type a Domain Name "srv-sec1.cslaval.qc.ca" found in authoritative cache zone "cslaval.qc.ca" Send a UDP Reply to 10.1.0.137 --------------------------------- ---------------------------------------------------------------------- >Comment By: Alex (faucon) Date: 2004-03-01 16:42 Message: Logged In: YES user_id=706397 Hi kdebisschop, I have tryed your check_nwstat of 2004-02-29. I can compile it, I can run it, but there is no output. And, on my dns, there is no dns request been made. And here is the command call that I use. Any other variable could be used. The output is working with 1.3.1 or 1.4.1alpha. ./check_nwstat -H srv-ndps1.cslaval.qc.ca -v ABENDS The answer to this command is usually: "0 abended threads" srv-ndps1 is an internal server. So you can't access it. But I can make any tests you require. Thanks. ---------------------------------------------------------------------- Comment By: Karl DeBisschop (kdebisschop) Date: 2004-02-29 04:18 Message: Logged In: YES user_id=1671 I may have found the cause - we were opening a new connection for each attribute requested. I have rewritten the code to open one connection and send repeatedly on tha one connection. But I do not have any way to test it and I do not know if the NW protocols allow it. Please test and provide feedback. ---------------------------------------------------------------------- Comment By: Karl DeBisschop (kdebisschop) Date: 2004-02-29 03:37 Message: Logged In: YES user_id=1671 Can you provide the service and command definitions that create these multiple requests? I don't have access to a test environment, but I'll be glad to look at the code and see if I can find anything. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=903461&group_id=29880 From Bernd.Stroessenreuther at spb.de Mon Mar 1 09:57:00 2004 From: Bernd.Stroessenreuther at spb.de (Bernd.Stroessenreuther at spb.de) Date: Mon Mar 1 09:57:00 2004 Subject: [Nagiosplug-devel] status data in database and check_nagios Message-ID: Hi everybody out there, has someone of you a nagios running with status data in database? Today I have moved my nagios from writing everything in flat files to writing everything into a mysql database. Now I do not have a status.log any longer. Because of this check_nagios returns critical an nagios prints out an ugly message in red in the upper left corner of the webinterface: Warning: Monitoring process may not be running! Has someone written a check_nagios with mysql support? Freundliche Gr??e i. A. Bernd Str??enreuther ------------------------------------------------------------- Sparda-Datenverarbeitung eG Server-Prozessmanagement / eBIS Freiligrathstra?e 32, 90482 N?rnberg Tel: 0911 / 54 86-802 Fax: 0911 / 54 86-177 mailto:bernd.stroessenreuther at spb.de From flo at bier.homeip.net Mon Mar 1 20:10:26 2004 From: flo at bier.homeip.net (Flo Gleixner) Date: Mon Mar 1 20:10:26 2004 Subject: [Nagiosplug-devel] Re: Rewrite of check_log In-Reply-To: <20040226144333.J39663@IPAustralia.Gov.AU> Message-ID: On Thu, 26 Feb 2004, Stanley Hopcroft wrote: > Dear Gentlemen, > > I am writing to thank you for your letter and say, > > On Thu, Feb 26, 2004 at 02:39:56AM +0000, Paul L. Allen wrote: > > Flo Gleixner writes: > > > > > I did a half-rewrite of the check_log script. > > > > Good. Both check_log and check_log2 are seriously flawed (in my > > opinion). They do NOT scale well for large logs. > > If you are 'serious about logging' or events then > > 1 Log centrally > How do you do that? With syslog? Not that bad, but not reliable and not secure. With nsca i can do some basic encryption if i want. And my syslog does not have to log spoofed messages :-) I know, nagios is not a central logger ... > 2 Monitor with an event correlator like Sec or RuleCore (Logsurfer or > Swatch maybe) > Yeah, sure the better solution. Can you provide me with the homepage of Sec? > 3 Inform Nag with passive service check results when the event > correlator detects that such and such an event corresponding to a Nag > service has fired > > (think events as rates or time ordered sequences of messages eg 'Feb 7 > 15:36:47 pc09011 su: BAD SU anwsmh to root on /dev/ttyp1' occuring above > and below a given rate threshold: you simply can't do this with plain > pattern matching) > > Can't be beaten for scalability and flexibility. Sec handles serious > message rates (100s of messages per sec IIRC; lots of event rules) with > multi line matching and event correlation. > > > > > > - No more diff. It calculates the difference with the difference of the > > > filesizes and only greps the added lines. This implies: > > > - greatly increased performance for large log files. > > > > Good. So what happens when logrotate kicks in? > > Sec doesn't care; it handles it as a normal event and keeps reading from > the end of the file (run in tail mode). > So, does it read from the inode or from the file with that name? If it reads from the inode, you have to kick it after logrotate, if it reads from the filename (like my check_log does), it has to get sure that it did read all lines of the old file that have been added between the last check and the logrotate. My script is NOT aware of that. And it sometimes simply does not work. Some Linuxes do a "logrotate and then compress". And some move the old file somewhere. How do i know? Simple way could be to record the inode and if the inode changed, try to find the old inode and read the last few entries. But it's not reliable. > .. snip ... > > If you actually see logs as containing events, or rather as the log as > nothing more than the record of an event stream, all the problems you > mention go away. > > Events by definition hold state. > > On the other hand, I can imagine that for ad-hoc checks of distributed > logs then the check_log.* plugins do an admirable job. > > There are at least two conditions where these plugins provide the only > solution > > 1 distributed logs > > 2 event source heartbeat - eg application is still alive > > 3 low rate but critical import logged messages > > All of these things can be done with event correlation but you may not > have the means or the willingness to do so (eg no loging policy, > different responsibilities and views [eg NT admins in some cases see no > need for central logging]). > > > > > -- > > Paul Allen > > Softflare Support > > > > Yours sincerely. > > -- > ------------------------------------------------------------------------ > Stanley Hopcroft > ------------------------------------------------------------------------ Florian Gleixner From flo at bier.homeip.net Mon Mar 1 20:25:46 2004 From: flo at bier.homeip.net (Flo Gleixner) Date: Mon Mar 1 20:25:46 2004 Subject: [Nagiosplug-devel] Re: Rewrite of check_log In-Reply-To: <20040226173611.25870.qmail@minnow.softflare.net> Message-ID: Hmm. seem that i did miss that. the check_log2 is neither in the 1.4 alpha nor in CVS as far as i see. Would be interesting to see that ... On Thu, 26 Feb 2004, Paul L. Allen wrote: > You're right. I had a brief look at check_log2 many, many months ago and Flo From flo at bier.homeip.net Mon Mar 1 20:25:48 2004 From: flo at bier.homeip.net (Flo Gleixner) Date: Mon Mar 1 20:25:48 2004 Subject: [Nagiosplug-devel] Bug in check_swap In-Reply-To: Message-ID: Maybe a parsing bug, but it doesn't check for division by zero also: swapoff -a /usr/local/nagios/libexec/check_swap -w 80% -c 90% CRITICAL - Swap used: -2147483648% (0 out of 0) lines 94ff if (allswaps) { percent = 100 * (((double) dskused) / ((double) dsktotal)); result = max_state (result, check_swap (percent, dskfree)); should probably: if (allswaps) { if(dsktotal==0) { percent=100.0; } else { percent = 100 * (((double) dskused) / ((double) dsktotal)); } or something like that Flo On Fri, 27 Feb 2004, Voon, Ton wrote: > Hampus, > > I think you're right. Code looks like it only expects the 2.4 version of > output, ie, the first line of information. Looks like the change is to parse > for SwapCached, SwapTotal and SwapFree instead. > > Thanks for the bug report - I've raised it on SF: > http://sourceforge.net/tracker/index.php?func=detail&aid=905971&group_id=298 > 80&atid=397597 so I don't lose sight of this. > > I'll have a go, but probably not until next week. If you can provide a > patch, I'll be happy to accept. > > Ton > > -----Original Message----- > From: Hampus Linden [mailto:hampus at activemediatech.com] > Sent: Friday, February 27, 2004 4:10 PM > To: nagiosplug-devel at lists.sourceforge.net > Subject: Re: [Nagiosplug-devel] Bug in check_swap > > > My own assumption is the bug is caused by the restructuring of /proc/meminfo > in kernel 2.6 > > 2.4 outputs all swap info on one line as well as on separate lines. > > 2.4: cat /proc/meminfo |grep -i swap > Swap: 4145455104 1544192 4143910912 > SwapCached: 316 kB > SwapTotal: 4048296 kB > SwapFree: 4046788 kB > > 2.6: cat /proc/meminfo |grep -i swap > SwapCached: 0 kB > SwapTotal: 2097144 kB > SwapFree: 2097144 kB > > -----Original Message----- > From: nagiosplug-devel-admin at lists.sourceforge.net > [mailto:nagiosplug-devel-admin at lists.sourceforge.net] On Behalf Of > Voon, Ton > Sent: 27 February 2004 15:00 > To: 'Hampus Linden'; nagiosplug-devel at lists.sourceforge.net > Subject: RE: [Nagiosplug-devel] Bug in check_swap > > Hampus, > > Which version of check_swap are you using? Which OS? > > Can you send the output from a check_swap -v -v -v -w 90% -c 95%? > > Ton > > -----Original Message----- > From: Hampus Linden [mailto:hampus at activemediatech.com] > Sent: Friday, February 27, 2004 1:18 PM > To: nagiosplug-devel at lists.sourceforge.net > Subject: [Nagiosplug-devel] Bug in check_swap > > > Hi, > > I have some strange behavior with check_swap and large swap slices. > > [root at devapp01 /]# /usr/libexec/nrpe/check_swap -w 90% -c 95% > CRITICAL - Swap used: -2147483648% (0 out of 0) > > Other usefull output: > [root at devapp01 /]# swapon -s > Filename Type Size Used > Priority > /dev/mapper/Volume00-LogVol03 partition 3248120 5876 -1 > > [root at devapp01 /]# free > total used free shared buffers cached > Mem: 2072100 2045116 26984 0 271048 1557352 > -/+ buffers/cache: 216716 1855384 > Swap: 3248120 5876 3242244 > > Thanks. > > Hampus Linden > System Administrator | Active Media > www.activemediatech.com > > > This private and confidential e-mail has been sent to you by Egg. > The Egg group of companies includes Egg Banking plc > (registered no. 2999842), Egg Financial Products Ltd (registered > no. 3319027) and Egg Investments Ltd (registered no. 3403963) which > is authorised and regulated by the Financial Services Authority. Egg > Investments Ltd. is entered in the FSA register under number 190518. > > Registered in England and Wales. Registered offices: 1 Waterhouse > Square, 138-142 Holborn, London EC1N 2NA. > > If you are not the intended recipient of this e-mail and have received > it in error, please notify the sender by replying with 'received in > error' as the subject and then delete it from your mailbox. > > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > Nagiosplug-devel mailing list > Nagiosplug-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel > ::: Please include plugins version (-v) and OS when reporting any issue. > ::: Messages without supporting info will risk being sent to /dev/null > From karl at debisschop.net Mon Mar 1 20:59:00 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Mon Mar 1 20:59:00 2004 Subject: [Nagiosplug-devel] Re: Rewrite of check_log In-Reply-To: References: <20040226173611.25870.qmail@minnow.softflare.net> Message-ID: <20040301235257.3ae4b46f.karl@debisschop.net> On Thu, 26 Feb 2004 22:52:19 +0100 (CET) Flo Gleixner wrote: > Hmm. seem that i did miss that. the check_log2 is neither in the 1.4 > alpha nor in CVS as far as i see. contrib/check_log2.pl -- Karl From Ton.Voon at egg.com Tue Mar 2 00:33:05 2004 From: Ton.Voon at egg.com (Voon, Ton) Date: Tue Mar 2 00:33:05 2004 Subject: [Nagiosplug-devel] check_dns Message-ID: Awais, I had a go at this yesterday, but have to admit abject failure. I couldn't get your patch to r1.3.1 to compile correctly on my MacOSX system, but I think it is running bind 9 and there are some compatibility #defines I think I need to set. Got further on SF's FreeBSD system with these changes: - compile with -lresolv - put an if (target) around the _res.nscount to only set the nameserver if specified with -s But I am absolutely baffled how to expand out the DNS reply - too complicated for me! I specifically want to catch multiple IP addresses (ibm.com is a good example) which is in the current functionality. Could you provide a patch to HEAD? Ton -----Original Message----- From: Awais Ahmad [mailto:awais at eurobell.net] Sent: Monday, February 23, 2004 12:37 PM To: Karl DeBisschop Cc: NagiosPlug Devel Subject: Re: [Nagiosplug-devel] check_dns I have done this with the stable version of check_dns.c but never had the time to carry the changes across to HEAD. The patch is attached. Although the main resolver lib functions are available, via GLIBC/LIBC,the response parsing routines (ns_parserr and friends) are only visible to the resolver lib functions themselves. I've had to roll my own. I've tested on Debian GNU/Linux, Redhat GNU/Linux, FreeBSD current/4.X and Solaris 7. Awais Ahmad On Fri, 2004-02-20 at 03:52, Karl DeBisschop wrote: > On Thu, 2004-02-19 at 22:34, Ton Voon wrote: > > > I'll have a go at this change, but only after I can get check_dns to > > use the resolver routines instead of nslookup first. Most of > > check_dns.c looks like it is parsing for error messages in nslookup! > > Makes sense to me. That was the direction we wanted to go anyway, to use > the resolver instead of parsing scripts. > > IIRC, the resolver is covered by POSIX, so we should have much less > platform-specific cruft once we do that. > > -- > Karl > > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > Nagiosplug-devel mailing list > Nagiosplug-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel > ::: Please include plugins version (-v) and OS when reporting any issue. > ::: Messages without supporting info will risk being sent to /dev/null > This private and confidential e-mail has been sent to you by Egg. The Egg group of companies includes Egg Banking plc (registered no. 2999842), Egg Financial Products Ltd (registered no. 3319027) and Egg Investments Ltd (registered no. 3403963) which is authorised and regulated by the Financial Services Authority. Egg Investments Ltd. is entered in the FSA register under number 190518. Registered in England and Wales. Registered offices: 1 Waterhouse Square, 138-142 Holborn, London EC1N 2NA. If you are not the intended recipient of this e-mail and have received it in error, please notify the sender by replying with 'received in error' as the subject and then delete it from your mailbox. From awais at eurobell.net Tue Mar 2 02:28:07 2004 From: awais at eurobell.net (Awais Ahmad) Date: Tue Mar 2 02:28:07 2004 Subject: [Nagiosplug-devel] check_dns In-Reply-To: References: Message-ID: <1078222789.3667.6.camel@smithers> Sure, I'll do this, this weekend. BTW, are the resolver libs not available via libc on FreeBSD? Cheers Awais On Tue, 2004-03-02 at 08:26, Voon, Ton wrote: > Awais, > > I had a go at this yesterday, but have to admit abject failure. I couldn't > get your patch to r1.3.1 to compile correctly on my MacOSX system, but I > think it is running bind 9 and there are some compatibility #defines I think > I need to set. > > Got further on SF's FreeBSD system with these changes: > > - compile with -lresolv > - put an if (target) around the _res.nscount to only set the nameserver if > specified with -s > > But I am absolutely baffled how to expand out the DNS reply - too > complicated for me! I specifically want to catch multiple IP addresses > (ibm.com is a good example) which is in the current functionality. > > Could you provide a patch to HEAD? > > Ton > > -----Original Message----- > From: Awais Ahmad [mailto:awais at eurobell.net] > Sent: Monday, February 23, 2004 12:37 PM > To: Karl DeBisschop > Cc: NagiosPlug Devel > Subject: Re: [Nagiosplug-devel] check_dns > > > I have done this with the stable version of check_dns.c but never had > the time to carry the changes across to HEAD. The patch is attached. > > Although the main resolver lib functions are available, via > GLIBC/LIBC,the response parsing routines (ns_parserr and friends) are > only visible to the resolver lib functions themselves. > I've had to roll my own. > > I've tested on Debian GNU/Linux, Redhat GNU/Linux, FreeBSD current/4.X > and Solaris 7. > > > Awais Ahmad > > > > > > > On Fri, 2004-02-20 at 03:52, Karl DeBisschop wrote: > > On Thu, 2004-02-19 at 22:34, Ton Voon wrote: > > > > > I'll have a go at this change, but only after I can get check_dns to > > > use the resolver routines instead of nslookup first. Most of > > > check_dns.c looks like it is parsing for error messages in nslookup! > > > > Makes sense to me. That was the direction we wanted to go anyway, to use > > the resolver instead of parsing scripts. > > > > IIRC, the resolver is covered by POSIX, so we should have much less > > platform-specific cruft once we do that. > > > > -- > > Karl > > > > > > > > ------------------------------------------------------- > > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > > Build and deploy apps & Web services for Linux with > > a free DVD software kit from IBM. Click Now! > > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > > _______________________________________________ > > Nagiosplug-devel mailing list > > Nagiosplug-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel > > ::: Please include plugins version (-v) and OS when reporting any issue. > > ::: Messages without supporting info will risk being sent to /dev/null > > > > > This private and confidential e-mail has been sent to you by Egg. > The Egg group of companies includes Egg Banking plc > (registered no. 2999842), Egg Financial Products Ltd (registered > no. 3319027) and Egg Investments Ltd (registered no. 3403963) which > is authorised and regulated by the Financial Services Authority. Egg > Investments Ltd. is entered in the FSA register under number 190518. > > Registered in England and Wales. Registered offices: 1 Waterhouse > Square, 138-142 Holborn, London EC1N 2NA. > > If you are not the intended recipient of this e-mail and have received > it in error, please notify the sender by replying with 'received in > error' as the subject and then delete it from your mailbox. > > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > Nagiosplug-devel mailing list > Nagiosplug-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel > ::: Please include plugins version (-v) and OS when reporting any issue. > ::: Messages without supporting info will risk being sent to /dev/null > From noreply at sourceforge.net Tue Mar 2 02:40:03 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Tue Mar 2 02:40:03 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-908214 ] contrib/check_nagios_db.pl does not work with postgresql Message-ID: Patches item #908214, was opened at 2004-03-02 10:34 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=908214&group_id=29880 Category: Bugfix Group: None Status: Open Resolution: None Priority: 5 Submitted By: Olafur Osvaldsson (osvaldsson) Assigned to: Nobody/Anonymous (nobody) Summary: contrib/check_nagios_db.pl does not work with postgresql Initial Comment: I made a few changes to contrib/check_nagios_db.pl sot it would support PostgreSQL databases and got rid of an anoying error. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=908214&group_id=29880 From jhmartin at toger.us Tue Mar 2 11:49:01 2004 From: jhmartin at toger.us (Jason Martin) Date: Tue Mar 2 11:49:01 2004 Subject: [Nagiosplug-devel] Re: Rewrite of check_log In-Reply-To: References: Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > Hmm. seem that i did miss that. the check_log2 is neither in the 1.4 alpha > nor in CVS as far as i see. Would be interesting to see that ... It is in the contrib directory. - -Jason Martin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.3.5 (GNU/Linux) Comment: pgpenvelope 2.10.2 - http://pgpenvelope.sourceforge.net/ iD8DBQFAROPDl2ODWuqVSBMRAsP1AJ0a9zxdL3+bBZX/lhabhZDn6BgyegCeOAsW KxVId+McP0BU8Wks7ANt+gM= =JKi4 -----END PGP SIGNATURE----- From noreply at sourceforge.net Tue Mar 2 20:11:48 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Tue Mar 2 20:11:48 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-900215 ] check_disk send incorrect free_space to check_disk function Message-ID: Patches item #900215, was opened at 2004-02-19 06:49 Message generated for change (Comment added) made by kdebisschop You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=900215&group_id=29880 Category: None Group: None >Status: Closed >Resolution: Accepted Priority: 5 Submitted By: Michael Musikhin (mmusikhin) >Assigned to: Karl DeBisschop (kdebisschop) Summary: check_disk send incorrect free_space to check_disk function Initial Comment: to check_disk function send number of blocks insead size of free space in kilobytes --- check_disk.c.orig Thu Aug 28 09:22:01 2003 +++ check_disk.c Thu Feb 19 16:32:23 2004 @@ -186,7 +195,7 @@ if (fsp.fsu_blocks && strcmp ("none", me->me_mountdir)) { usp = (double)(fsp.fsu_blocks - fsp.fsu_bavail) * 100 / fsp.fsu_blocks; - disk_result = check_disk (usp, fsp.fsu_bavail); + disk_result = check_disk (usp, fsp.fsu_bavail*fsp.fsu_blocksize); result = max_state (disk_result, result); psize = fsp.fsu_blocks*fsp.fsu_blocksize/mult; asprintf (&perf, "%s %s", perf, ---------------------------------------------------------------------- >Comment By: Karl DeBisschop (kdebisschop) Date: 2004-03-02 22:56 Message: Logged In: YES user_id=1671 patch applied to CVS. Thanks. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=900215&group_id=29880 From noreply at sourceforge.net Tue Mar 2 20:38:01 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Tue Mar 2 20:38:01 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-895677 ] check_pop3.pl was not working for us. Message-ID: Patches item #895677, was opened at 2004-02-12 07:39 Message generated for change (Comment added) made by kdebisschop You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=895677&group_id=29880 Category: Bugfix Group: None >Status: Closed >Resolution: Accepted Priority: 5 Submitted By: Jason Burnett (trig_monkeypr0n) Assigned to: Nobody/Anonymous (nobody) Summary: check_pop3.pl was not working for us. Initial Comment: 1)Proper CRLF in communication w/server 2)Fixed infinite loop 3)Error checking on welcome banner, USER, PASS commands 4)Better error condition handling This could probably be much much smaller using Net:: POP3 but I haven't looked into its error conditions yet, and I don't think you can specify remote port. ---------------------------------------------------------------------- >Comment By: Karl DeBisschop (kdebisschop) Date: 2004-03-02 23:31 Message: Logged In: YES user_id=1671 patch applied with a few small changes ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=895677&group_id=29880 From penalva at cines.fr Wed Mar 3 05:17:00 2004 From: penalva at cines.fr (Boulon) Date: Wed Mar 3 05:17:00 2004 Subject: [Nagiosplug-devel] pb with output of =?utf-8?b?Y2hlY2tfbG9hZA==?= Message-ID: Hello, there's a difference between the output of check_load and check_users. In the First case (check_load) on the line we can find the keyword (OK|WARNING...) than a dash, than the rest of the output of the command (load average: 241.80, 237.95, 240.23 for example) On the other case, like for check_load, on the line there's : USERS WARNING - 100 users currently logged in Why in the first case, the format of the output begin with the rc of the command (OK, WARNING, CRITICAL...) and why in the second case there's a name like USERS (for others commands we can find PROCS ...) ?? From noreply at sourceforge.net Wed Mar 3 11:32:00 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Wed Mar 3 11:32:00 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-909281 ] tiny typo in check_disk Message-ID: Patches item #909281, was opened at 2004-03-03 11:25 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=909281&group_id=29880 Category: Bugfix Group: None Status: Open Resolution: None Priority: 5 Submitted By: Matthew Kent (mattkent) Assigned to: Nobody/Anonymous (nobody) Summary: tiny typo in check_disk Initial Comment: -m option gives kB unit instead of MB ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=909281&group_id=29880 From noreply at sourceforge.net Wed Mar 3 13:09:01 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Wed Mar 3 13:09:01 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Bugs-886325 ] check_procs 1.40alpha1 Message-ID: Bugs item #886325, was opened at 2004-01-28 10:24 Message generated for change (Comment added) made by norgetek You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=886325&group_id=29880 Category: None Group: None >Status: Open Resolution: Fixed Priority: 5 Submitted By: Ralph Rye (norgetek) Assigned to: Karl DeBisschop (kdebisschop) Summary: check_procs 1.40alpha1 Initial Comment: On AIX 5L the maximum command agruments display with a ps command appears to be 2045 chars. When using the check_procs on a WebSphere application server, the check_procs segementation faults. I mod'd the MAX_INPUT_BUFFER variable to 2048 and recompiled the check_procs binary and every thing works fine. ---------------------------------------------------------------------- >Comment By: Ralph Rye (norgetek) Date: 2004-03-03 14:44 Message: Logged In: YES user_id=962361 I have tested this on AIX 5.1 & AIX 5.2 and the fix works. Thanks, Ralph ---------------------------------------------------------------------- Comment By: Karl DeBisschop (kdebisschop) Date: 2004-02-28 01:05 Message: Logged In: YES user_id=1671 I have marked this bug a pending - it will automatically close in 15 days if there is no response. I think the problem is resolved, but I do not have access to AIX for testing. ---------------------------------------------------------------------- Comment By: Karl DeBisschop (kdebisschop) Date: 2004-02-19 23:13 Message: Logged In: YES user_id=1671 Thanks for the bug report. Although I don't quite see where the segfault would be created, you clearly have put your finger on a problem. I diid not, however, want to replace an arbitrary 1024 with an equally arbitrary 2048. Instead I malloc more memory if needed. However, I do not have access to AIX. can you try a build from CVS or the snapshot? You're can be sure you have my proposed fix if you run check_procs --version and get: check_procs (nagios-plugins 1.4.0alpha1) 1.26 Thanks ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=886325&group_id=29880 From mha at cm4all.com Thu Mar 4 05:11:10 2004 From: mha at cm4all.com (Haider, Matthias) Date: Thu Mar 4 05:11:10 2004 Subject: [Nagiosplug-devel] check_tcp Message-ID: Hi, i am trying to send a hex string by using the check_tcp plugin, but the sent data doesnt arrive the corrvect way... asprintf (&SEND, "\x12\x34\x00\x01\x0A"); asprintf (&EXPECT, "AB\x00\x01\x09"); i always get a invalid response thanks, matthias haider From bt at diamos.de Thu Mar 4 05:34:03 2004 From: bt at diamos.de (=?ISO-8859-1?Q?Bj=F6rn_Teipel?=) Date: Thu Mar 4 05:34:03 2004 Subject: [Nagiosplug-devel] new Plugin CheckRaid Message-ID: <40472E89.4050206@diamos.de> Hi all, I`ve written a tiny Perl script which checks the status of software Raids under Linux using /proc/mdstat It has been tested with RAID1 devices and worked fine, does someone has RAID0,5 or other Raids and can test this script ? By the way, how does a plugin gets into official plugin distribution ? Thanks, -- Bj?rn Teipel Systemadministration DIAMOS AG * Sulzbach/Taunus Mail : bt at diamos.de www : http://www.diamos.de ca : http://www.diamos.de/CA Phone: +49(0)6196/6506-151 -------------- next part -------------- A non-text attachment was scrubbed... Name: check_Raid.pl Type: text/x-perl Size: 3821 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 3480 bytes Desc: S/MIME Cryptographic Signature URL: From agrajag at dragaera.net Thu Mar 4 06:54:11 2004 From: agrajag at dragaera.net (Jag) Date: Thu Mar 4 06:54:11 2004 Subject: [Nagiosplug-devel] new Plugin CheckRaid In-Reply-To: <40472E89.4050206@diamos.de> References: <40472E89.4050206@diamos.de> Message-ID: <1078411651.4354.69.camel@pel> On Thu, 2004-03-04 at 08:26, Bj??rn Teipel wrote: > Hi all, > > I`ve written a tiny Perl script which checks the status of software > Raids under Linux using /proc/mdstat > It has been tested with RAID1 devices and worked fine, does someone has > RAID0,5 or other Raids and > can test this script ? Thanks for writing this. It looks promising. However, the status line is a bit spammy. Here's what it looks like on my system with three RAID1's and one RAID5: [sean at cstore1 sean]$ ./check_Raid.pl Loaded RAID drivers [raid1 raid5]
md0 [active,raid1,sda1(UP),sdb1(UP)]
md1 [active,raid1,sda3(UP),sdb3(UP)]
md3 [active,raid1,sda4(UP),sdb4(UP)]
md2 [active,raid5,sdc1(UP),sdd1(UP),sde1(UP),sdf1(UP),sdg1(UP),sdh1(UP),sdi1(UP),sdj1(UP)][sean at cstore1 sean]$ (Everything after the command was on one line, although my mail client is wanting to break it up.) If you look in the contrib part of the nagios-plugins download, you'll see that there's another plugin to do something similar. However, its designed to only check on RAID device at a time, and it is somewhat broken. It doesn't have a break in its loop of reading through /proc/mdstat, so it ends up giving you info on the last device listed, even if that's not what you wanted. I think a combination of the two scripts would be nice. One thing I do like about the other one is it uses the "[UUUUUUUU]" straight out of /proc/mdstat. This gives a very good idea of that status of the raid in very little space. From bt at diamos.de Fri Mar 5 01:01:15 2004 From: bt at diamos.de (Bjoern Teipel) Date: Fri Mar 5 01:01:15 2004 Subject: [Nagiosplug-devel] new Plugin CheckRaid In-Reply-To: <1078411651.4354.69.camel@pel> References: <40472E89.4050206@diamos.de> <1078411651.4354.69.camel@pel> Message-ID: <40483FBC.6030607@diamos.de> Hi Jag, this looks fine to me, if your email client doesn`t break this line :-) Did you run it with the nrpe and included into your nagios ? What is the name of the counterpart plugin ? I was looking into nagios-plugins-1.3.1 and i didn`t find it. Bj?rn Jag wrote: >On Thu, 2004-03-04 at 08:26, Bj??rn Teipel wrote: > > >>Hi all, >> >>I`ve written a tiny Perl script which checks the status of software >>Raids under Linux using /proc/mdstat >>It has been tested with RAID1 devices and worked fine, does someone has >>RAID0,5 or other Raids and >>can test this script ? >> >> > >Thanks for writing this. It looks promising. However, the status line >is a bit spammy. Here's what it looks like on my system with three >RAID1's and one RAID5: > >[sean at cstore1 sean]$ ./check_Raid.pl >Loaded RAID drivers [raid1 raid5]
md0 >[active,raid1,sda1(UP),sdb1(UP)]
md1 >[active,raid1,sda3(UP),sdb3(UP)]
md3 >[active,raid1,sda4(UP),sdb4(UP)]
md2 >[active,raid5,sdc1(UP),sdd1(UP),sde1(UP),sdf1(UP),sdg1(UP),sdh1(UP),sdi1(UP),sdj1(UP)][sean at cstore1 sean]$ > >(Everything after the command was on one line, although my mail client >is wanting to break it up.) > >If you look in the contrib part of the nagios-plugins download, you'll >see that there's another plugin to do something similar. However, its >designed to only check on RAID device at a time, and it is somewhat >broken. It doesn't have a break in its loop of reading through >/proc/mdstat, so it ends up giving you info on the last device listed, >even if that's not what you wanted. > >I think a combination of the two scripts would be nice. One thing I do >like about the other one is it uses the "[UUUUUUUU]" straight out of >/proc/mdstat. This gives a very good idea of that status of the raid in >very little space. > > > > >------------------------------------------------------- >This SF.Net email is sponsored by: IBM Linux Tutorials >Free Linux tutorial presented by Daniel Robbins, President and CEO of >GenToo technologies. Learn everything from fundamentals to system >administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click >_______________________________________________ >Nagiosplug-devel mailing list >Nagiosplug-devel at lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel >::: Please include plugins version (-v) and OS when reporting any issue. >::: Messages without supporting info will risk being sent to /dev/null > > -- Bj?rn Teipel Systemadministration DIAMOS AG * Sulzbach/Taunus Mail : bt at diamos.de www : http://www.diamos.de ca : http://www.diamos.de/CA Phone: +49(0)6196/6506-151 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 3480 bytes Desc: S/MIME Cryptographic Signature URL: From agrajag at dragaera.net Fri Mar 5 06:54:00 2004 From: agrajag at dragaera.net (Jag) Date: Fri Mar 5 06:54:00 2004 Subject: [Nagiosplug-devel] new Plugin CheckRaid In-Reply-To: <40483FBC.6030607@diamos.de> References: <40472E89.4050206@diamos.de> <1078411651.4354.69.camel@pel> <40483FBC.6030607@diamos.de> Message-ID: <1078497971.4355.3.camel@pel> On Fri, 2004-03-05 at 03:52, Bjoern Teipel wrote: > Hi Jag, > > this looks fine to me, if your email client doesn`t break this line > :-) Well, the status line is a couple hundred characters long. If you check the plug-in development guidelines (http://nagiosplug.sourceforge.net/developer-guidelines.html), you'll see they request output lengths be kept as short as possible so they'll show up nicely on pagers. It would also be nice if there's a carriage return at the end, although I don't know if that matters to nagios. > Did you run it with the nrpe and included into your nagios ? No. I leave on vacation tomorrow, and am currently in "Don't change anything!" mode. > > What is the name of the counterpart plugin ? > I was looking into nagios-plugins-1.3.1 and i didn`t find it. nagios-plugins-1.3.1/contrib/check_linux_raid.pl From GWCOOK at mactec.com Fri Mar 5 07:47:10 2004 From: GWCOOK at mactec.com (Cook, Garry) Date: Fri Mar 5 07:47:10 2004 Subject: [Nagiosplug-devel] New Plugin: check_rrd_bw.sh Message-ID: <41FD7929498A174DAB86C45F28E0EC0D3EA31C@golden-m.mactec.com> I recently had a need for a plugin that would check rrd files for large spikes in bandwidth on switch uplinks being monitored by MRTG. This need stemmed from attacks against/from shared hosting servers within a datacenter, although it could also be used for simply monitoring when links are becoming over utilized without having to check through MRTG data every day. I looked at the check_rrd_file.pl script in the contrib directory and found that the need to use perl expressions in the warning and critical arguments would probably be too confusing to my users, so I rolled my own shell script plugin, check_rrd_bw.sh. Check_rrd_bw.sh currently does not support ranges for -w and -c args, although I do plan to implement this in future versions. It does allow checking and reporting based on 4 different BW styles; bps, Kbps, Mbps, and Gbps in case we ever need to use it on 10Gbps links. Currently, I am using this plugin in production to monitor the inbound and outbound BW in Mbps on GB uplinks, as well as BW in Kbps on ATM IMA group rrds. It needs work, although I've attempted to make it fit the plugin standards so far. I'd like to have it added to the contrib directory of the 1.4.0 distro, and move towards making this a standard plugin as well. With that in mind, please let me know if there are any suggestions, comments, or critique that could assist in this process. If I am attempting to reinvent the wheel, please point me in the direction of a plugin that already handles these tasks well and tell me to get lost. Thanks. Garry W. Cook, CCNA Network Infrastructure Manager MACTEC, Inc. - http://www.mactec.com/ 303.308.6228 (Office) - 720.220.1862 (Mobile) -------------- next part -------------- A non-text attachment was scrubbed... Name: check_rrd_bw.sh Type: application/octet-stream Size: 3701 bytes Desc: check_rrd_bw.sh URL: From awais at eurobell.net Fri Mar 5 13:11:04 2004 From: awais at eurobell.net (Awais Ahmad) Date: Fri Mar 5 13:11:04 2004 Subject: [Nagiosplug-devel] check_dns In-Reply-To: <1078222789.3667.6.camel@smithers> References: <1078222789.3667.6.camel@smithers> Message-ID: <1078520398.3377.2.camel@localhost.localdomain> I submitted check_httpperf.pl about 6 months ago. Submitted check_xml-rpc.pl last week. No one has looked at either of them yet. Awais. On Tue, 2004-03-02 at 10:19, Awais Ahmad wrote: > Sure, I'll do this, this weekend. BTW, are the resolver libs not > available via libc on FreeBSD? > > > Cheers > > Awais > > > On Tue, 2004-03-02 at 08:26, Voon, Ton wrote: > > Awais, > > > > I had a go at this yesterday, but have to admit abject failure. I couldn't > > get your patch to r1.3.1 to compile correctly on my MacOSX system, but I > > think it is running bind 9 and there are some compatibility #defines I think > > I need to set. > > > > Got further on SF's FreeBSD system with these changes: > > > > - compile with -lresolv > > - put an if (target) around the _res.nscount to only set the nameserver if > > specified with -s > > > > But I am absolutely baffled how to expand out the DNS reply - too > > complicated for me! I specifically want to catch multiple IP addresses > > (ibm.com is a good example) which is in the current functionality. > > > > Could you provide a patch to HEAD? > > > > Ton > > > > -----Original Message----- > > From: Awais Ahmad [mailto:awais at eurobell.net] > > Sent: Monday, February 23, 2004 12:37 PM > > To: Karl DeBisschop > > Cc: NagiosPlug Devel > > Subject: Re: [Nagiosplug-devel] check_dns > > > > > > I have done this with the stable version of check_dns.c but never had > > the time to carry the changes across to HEAD. The patch is attached. > > > > Although the main resolver lib functions are available, via > > GLIBC/LIBC,the response parsing routines (ns_parserr and friends) are > > only visible to the resolver lib functions themselves. > > I've had to roll my own. > > > > I've tested on Debian GNU/Linux, Redhat GNU/Linux, FreeBSD current/4.X > > and Solaris 7. > > > > > > Awais Ahmad > > > > > > > > > > > > > > On Fri, 2004-02-20 at 03:52, Karl DeBisschop wrote: > > > On Thu, 2004-02-19 at 22:34, Ton Voon wrote: > > > > > > > I'll have a go at this change, but only after I can get check_dns to > > > > use the resolver routines instead of nslookup first. Most of > > > > check_dns.c looks like it is parsing for error messages in nslookup! > > > > > > Makes sense to me. That was the direction we wanted to go anyway, to use > > > the resolver instead of parsing scripts. > > > > > > IIRC, the resolver is covered by POSIX, so we should have much less > > > platform-specific cruft once we do that. > > > > > > -- > > > Karl > > > > > > > > > > > > ------------------------------------------------------- > > > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > > > Build and deploy apps & Web services for Linux with > > > a free DVD software kit from IBM. Click Now! > > > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > > > _______________________________________________ > > > Nagiosplug-devel mailing list > > > Nagiosplug-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel > > > ::: Please include plugins version (-v) and OS when reporting any issue. > > > ::: Messages without supporting info will risk being sent to /dev/null > > > > > > > > > This private and confidential e-mail has been sent to you by Egg. > > The Egg group of companies includes Egg Banking plc > > (registered no. 2999842), Egg Financial Products Ltd (registered > > no. 3319027) and Egg Investments Ltd (registered no. 3403963) which > > is authorised and regulated by the Financial Services Authority. Egg > > Investments Ltd. is entered in the FSA register under number 190518. > > > > Registered in England and Wales. Registered offices: 1 Waterhouse > > Square, 138-142 Holborn, London EC1N 2NA. > > > > If you are not the intended recipient of this e-mail and have received > > it in error, please notify the sender by replying with 'received in > > error' as the subject and then delete it from your mailbox. > > > > > > > > ------------------------------------------------------- > > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > > Build and deploy apps & Web services for Linux with > > a free DVD software kit from IBM. Click Now! > > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > > _______________________________________________ > > Nagiosplug-devel mailing list > > Nagiosplug-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel > > ::: Please include plugins version (-v) and OS when reporting any issue. > > ::: Messages without supporting info will risk being sent to /dev/null > > > > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > Nagiosplug-devel mailing list > Nagiosplug-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel > ::: Please include plugins version (-v) and OS when reporting any issue. > ::: Messages without supporting info will risk being sent to /dev/null > From karl at debisschop.net Fri Mar 5 19:05:02 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Fri Mar 5 19:05:02 2004 Subject: [Nagiosplug-devel] check_dns In-Reply-To: <1078520398.3377.2.camel@localhost.localdomain> References: <1078222789.3667.6.camel@smithers> <1078520398.3377.2.camel@localhost.localdomain> Message-ID: <20040305215559.5c7d36fd.karl@debisschop.net> On 05 Mar 2004 20:59:58 +0000 Awais Ahmad wrote: > I submitted check_httpperf.pl about 6 months ago. Submitted > check_xml-rpc.pl last week. No one has looked at either of them yet. Since the development team is swamped, we have had to prioritize. Top prioroty is releasing 1.4.0 - and a resolver-based check_dns was one of the goals for 1.4.0. So we created the sourceforge drop zone for new plugins so they could be posted and tracked withour our involvement. Primary goal after 1.4.0 is released is to move plugins from contrib and the drop zone into core. So best way to help is to submit patches against CVS HEAD for either 1) bug fixes 2) performance data logging Patches against anything else than CVS HEAD can easliy consume more time than they save. (And people with a interest, a steady stream of accepted patches, and prticipation on this list will be definite candidates for delevoper status and CVS access.) -- Karl From Stanley.Hopcroft at IPAustralia.Gov.AU Fri Mar 5 23:00:30 2004 From: Stanley.Hopcroft at IPAustralia.Gov.AU (Stanley Hopcroft) Date: Fri Mar 5 23:00:30 2004 Subject: [Nagiosplug-devel] Perl plugins that fail gracefully by reporting missing modules. Message-ID: <20040306175219.C277@IPAustralia.Gov.AU> Dear Ladies and Gentlemen, I am writing to suggest that Perl plugins can be made to fail gracefully when the pre requisite modules are not found on the host. This may help to prevent 1 the FAQ about especially /contrib plugins that fail when Perl cannot find utils.pm in the standard Perl search paths. 2 distress when a plugin is put into production after testing in a directory containing the prereqs and thereupon no longer has access to those modules. Here is an example from an unpublished plugin check_traceroute (someone started this but it vanished; this is a prototype that is waiting for some feedback from the Net::Traceroute author). stan> perl check_traceroute This plugin requires the 'Net::Traceroute' module from a CPAN near you. stan> echo $? 3 stan> Lets give it Net::Traceroute shall we stan> perl check_traceroute This plugin requires the 'Net::Traceroute' module from a CPAN near you. stan> echo $? 3 stan> cat > Net/Traceroute.pm 1 ^D stan> perl check_traceroute This plugin requires the 'utils.pm' module from the Nag plugin distro. Please install it in the Perl @INC path or add a 'use lib q(path_to_utils.pm)'. stan> #!/usr/bin/perl -w use strict; eval { require utils_1_4_0alpha1 } ; if ($@) { print "This plugin requires the 'utils.pm' module from the Nag plugin distro. Please install it in the Perl \@INC path or add a 'use lib q(path_to_utils.pm)'.\n" ; exit 0 ; }; use vars qw(%ERRORS $TIMEOUT) ; import utils qw(%ERRORS $TIMEOUT &print_revision &support &usage) ; eval { require Net::Traceroute } ; if ($@) { print "This plugin requires the 'Net::Traceroute' module from a CPAN near you.\n" ; exit $ERRORS{UNKNOWN} ; } ; The eval { } _is_ a performance hit, but it may be worth it. If the performance hit is thought too severe, the checks could be enabled by an option .... Yours sincerely. -- ------------------------------------------------------------------------ Stanley Hopcroft ------------------------------------------------------------------------ '...No man is an island, entire of itself; every man is a piece of the continent, a part of the main. If a clod be washed away by the sea, Europe is the less, as well as if a promontory were, as well as if a manor of thy friend's or of thine own were. Any man's death diminishes me, because I am involved in mankind; and therefore never send to know for whom the bell tolls; it tolls for thee...' from Meditation 17, J Donne. From pla at softflare.com Sun Mar 7 14:35:00 2004 From: pla at softflare.com (Paul L. Allen) Date: Sun Mar 7 14:35:00 2004 Subject: [Nagiosplug-devel] Re: Perl plugins that fail gracefully by reporting missing modules. In-Reply-To: <20040306175219.C277@IPAustralia.Gov.AU> References: <20040306175219.C277@IPAustralia.Gov.AU> Message-ID: <20040307222533.15846.qmail@minnow.softflare.net> Stanley Hopcroft writes: > I am writing to suggest that Perl plugins can be made to fail gracefully > when the pre requisite modules are not found on the host. But there are so MANY ways things can fail if clueless people are involved. It is impossible to make things idiot-proof because idiots are so resourceful. > 1 the FAQ about especially /contrib plugins that > fail when Perl cannot find utils.pm in the standard Perl search paths. It's a nice touch, if it doesn't compromise performance too much. Other perl plugins do check for the existence of utilities they (and they alone) depend on. But utils.pm is used by EVERY well-written perl plugin, so having them all check that it is loadable puts an unnecessary performance hit on all of them. Once you first run the first perl plugin on a box you know if utils.pm is there or not and every subsequent run of that and every other perl plugin conducts an unnecessary check that utils.pm is there. > 2 distress when a plugin is put into production after testing in a > directory containing the prereqs and thereupon no longer has access to > those modules. If you follow the installation instructions to the letter you do not end up in that situation. If you do not follow the installation instructions to the letter then you do so because you think you know how to deal with the consequences and are prepared to deal with them. Yes, there is a third possibility: that you are so completely clueless that you do not know how clueless you are and therefore think you can ignore the instructions AND demand help when it all goes wrong. I have little sympathy for those who wilfully follow the path of stupidity. [...] > The eval { } _is_ a performance hit, but it may be worth it. If the > performance hit is thought too severe, the checks could be enabled by an > option .... Since the installation process munges certain things in the perl plugins, I'd prefer an install-time check. If everything looks good, install the plugin; if there are detectable problems then install a dummy that says "this plugin was not created at installation time because of blah." That would be especially good for the C plugins, which just don't get built at all if dependencies are missing. This way you'd get to see that check_blah exists but if you try to run it then it explains that there were dependency problems. As it is, you just get missing plugins and nothing to tell you that if only you had the right dependencies you'd have had the pluging you wanted. Since a common way of seeing what plugins are available is to look in libexec, plugins that don't get built because of missing dependencies often create a misleading impression. It would be better to have a check_snmp that returns "This plugin is unavailable because of missing dependencies" than no check_snmp at all. The down-side with install-time checks for perl plugins is they won't catch run-time problems. But if you follow the installation instructions to the letter, and don't try to do clever things you don't know enough about to do successfully, then an install-time check will catch the problems. I am all for idiot-proofing, but not when it causes performance issues and the people with a need to use it are theoretically not idiots. Nagios is not for the average computer user. It's for people with a need to monitor network services and requires root privileges on a *nix box to install and run. I do not believe it unreasonable for the software to assume that the people installing it do actually understand network services and know enough about *nix that they deserve the root password. These days it may be unrealistic to assume that, but I still think it is not unreasonable. Now if you were to propose a test at build time that checks the person doing the installation understands the underlying concepts of *nix shell, Apache web server, etc., and refuses to build unless the score is high enough, I'd whole-heartedly agree. But others, including Ethan, would disagree so I won't suggest that. I'll just think it... And dream of LARTs... -- Paul Allen Softflare Support From guenther.mair at energis.it Sun Mar 7 16:21:04 2004 From: guenther.mair at energis.it (guenther.mair at energis.it) Date: Sun Mar 7 16:21:04 2004 Subject: [Nagiosplug-devel] Urlaub Message-ID: Ich werde ab 06.03.2004 nicht im B?ro sein. Ich kehre zur?ck am 10.03.2004. Ich werde Ihre Nachricht nach meiner R?ckkehr beantworten. Risponder? alla sua richiesta dopo il mio rientro. I will answer any request when back from holiday. From awais at eurobell.net Sun Mar 7 18:03:00 2004 From: awais at eurobell.net (Awais Ahmad) Date: Sun Mar 7 18:03:00 2004 Subject: [Nagiosplug-devel] Re: Perl plugins that fail gracefully by reporting missing modules. In-Reply-To: <20040307222533.15846.qmail@minnow.softflare.net> References: <20040306175219.C277@IPAustralia.Gov.AU> <20040307222533.15846.qmail@minnow.softflare.net> Message-ID: <1078710642.2809.39.camel@localhost.localdomain> I thought they already failed gracefully :). I find the contents of @INC being printed to STDERR pretty useful, so I wouldn't use eval {} in the context being discussed myself. BTW what performance hit? eval {} does not cause repeated recompilations as eval STRING does. All eval {BLOCK} does is trap runtime exceptions. Anyway since we usually don't need a plugin to execute hundreds of times a second or/and crank out hundreds of millions of web pages a day, I would consider the use of either forms of eval quite reasonable, at least in the plugin context. Awais Ahmad On Sun, 2004-03-07 at 22:25, Paul L. Allen wrote: > Stanley Hopcroft writes: > > > I am writing to suggest that Perl plugins can be made to fail gracefully > > when the pre requisite modules are not found on the host. > > But there are so MANY ways things can fail if clueless people are > involved. It is impossible to make things idiot-proof because idiots > are so resourceful. > > > 1 the FAQ about especially /contrib plugins that > > fail when Perl cannot find utils.pm in the standard Perl search paths. > > It's a nice touch, if it doesn't compromise performance too much. Other > perl plugins do check for the existence of utilities they (and they alone) > depend on. But utils.pm is used by EVERY well-written perl plugin, so > having them all check that it is loadable puts an unnecessary performance > hit on all of them. Once you first run the first perl plugin on a box > you know if utils.pm is there or not and every subsequent run of that and > every other perl plugin conducts an unnecessary check that utils.pm is > there. > > > 2 distress when a plugin is put into production after testing in a > > directory containing the prereqs and thereupon no longer has access to > > those modules. > > If you follow the installation instructions to the letter you do not end > up in that situation. If you do not follow the installation instructions > to the letter then you do so because you think you know how to deal with > the consequences and are prepared to deal with them. Yes, there is a > third possibility: that you are so completely clueless that you do not > know how clueless you are and therefore think you can ignore the > instructions AND demand help when it all goes wrong. I have little > sympathy for those who wilfully follow the path of stupidity. > > [...] > > The eval { } _is_ a performance hit, but it may be worth it. If the > > performance hit is thought too severe, the checks could be enabled by an > > option .... > > Since the installation process munges certain things in the perl plugins, > I'd prefer an install-time check. If everything looks good, install > the plugin; if there are detectable problems then install a dummy that > says "this plugin was not created at installation time because of blah." > > That would be especially good for the C plugins, which just don't get > built at all if dependencies are missing. This way you'd get to see > that check_blah exists but if you try to run it then it explains that > there were dependency problems. As it is, you just get missing plugins > and nothing to tell you that if only you had the right dependencies you'd > have had the pluging you wanted. Since a common way of seeing what > plugins are available is to look in libexec, plugins that don't get > built because of missing dependencies often create a misleading impression. > It would be better to have a check_snmp that returns "This plugin is > unavailable because of missing dependencies" than no check_snmp at all. > > The down-side with install-time checks for perl plugins is they won't catch > run-time problems. But if you follow the installation instructions to the > letter, and don't try to do clever things you don't know enough about to > do successfully, then an install-time check will catch the problems. > > I am all for idiot-proofing, but not when it causes performance issues > and the people with a need to use it are theoretically not idiots. Nagios > is not for the average computer user. It's for people with a need to > monitor network services and requires root privileges on a *nix box to > install and run. I do not believe it unreasonable for the software > to assume that the people installing it do actually understand network > services and know enough about *nix that they deserve the root password. > These days it may be unrealistic to assume that, but I still think it is > not unreasonable. > > Now if you were to propose a test at build time that checks the person > doing the installation understands the underlying concepts of *nix > shell, Apache web server, etc., and refuses to build unless the score is > high enough, I'd whole-heartedly agree. But others, including Ethan, > would disagree so I won't suggest that. I'll just think it... And dream > of LARTs... From Stanley.Hopcroft at IPAustralia.Gov.AU Sun Mar 7 19:44:01 2004 From: Stanley.Hopcroft at IPAustralia.Gov.AU (Stanley Hopcroft) Date: Sun Mar 7 19:44:01 2004 Subject: [Nagiosplug-devel] Re: Perl plugins that fail gracefully by reporting missing modules. In-Reply-To: <1078710642.2809.39.camel@localhost.localdomain>; from awais@eurobell.net on Mon, Mar 08, 2004 at 01:51:02AM +0000 References: <20040306175219.C277@IPAustralia.Gov.AU> <20040307222533.15846.qmail@minnow.softflare.net> <1078710642.2809.39.camel@localhost.localdomain> Message-ID: <20040308143439.C73882@IPAustralia.Gov.AU> Dear Gentlemen, I am writing to thank you for your leters and say, On Mon, Mar 08, 2004 at 01:51:02AM +0000, Awais Ahmad wrote: > I thought they already failed gracefully :). I find the contents of @INC > being printed to STDERR pretty useful, so I wouldn't use eval {} in the > context being discussed myself. Yep. I agree. However, if you subscribe to Nag users, many if not all, of the questions about Perl plugins express dismay on seeing @INC. > > BTW what performance hit? eval {} does not cause repeated recompilations > as eval STRING does. All eval {BLOCK} does is trap runtime exceptions. > With regard to the performance impact, tsitc> diff -c check_traceroute check_traceroute_sans_runtime_checks *** check_traceroute Fri Feb 6 16:11:37 2004 --- check_traceroute_sans_runtime_checks Mon Mar 8 11:04:45 2004 *************** *** 3,22 **** use strict; use Getopt::Long; ! eval { require utils_1_4_0alpha1 } ; ! if ($@) { ! print "This plugin requires the 'utils.pm' module from the Nag plugin distro. Please install it in the Perl \@INC path or add a 'use lib q(path_to_utils.pm)'.\n" ; ! exit 0 ; ! }; ! use vars qw(%ERRORS $TIMEOUT) ; - import utils qw(%ERRORS $TIMEOUT &print_revision &support &usage) ; ! eval { require Net::Traceroute } ; ! if ($@) { ! print "This plugin requires the 'Net::Traceroute' module from a CPAN near you.\n" ; ! exit $ERRORS{UNKNOWN} ; ! } ; sub print_help (); sub print_usage (); --- 3,12 ---- use strict; use Getopt::Long; ! use utils_1_4_0alpha1 qw(%ERRORS $TIMEOUT &print_revision &support &usage) ; use vars qw(%ERRORS $TIMEOUT) ; ! use Net::Traceroute ; sub print_help (); sub print_usage (); tsitc> 100 timed runs on the check_traceroute (with run time module checks) take 357 msec (.357 sec)/run; 100 runs of check_traceroute_sansruntime_checks take 320 msec. I agree that this not a helpful argument and that I should devise a portable benchmark for this to be convincing. However, in this case, the run time checks adds about 10% to the run-time (possibly because the compile phase has to to be re-invoked by the run time 'require'; case eval { require foo } _is_ compiled but then traps any run time exception loading and compiling foo). > Anyway since we usually don't need a plugin to execute hundreds of times > a second or/and crank out hundreds of millions of web pages a day, I > would consider the use of either forms of eval quite reasonable, at > least in the plugin context. > I agree. > > > Awais Ahmad Yours sincerely. -- ------------------------------------------------------------------------ Stanley Hopcroft ------------------------------------------------------------------------ '...No man is an island, entire of itself; every man is a piece of the continent, a part of the main. If a clod be washed away by the sea, Europe is the less, as well as if a promontory were, as well as if a manor of thy friend's or of thine own were. Any man's death diminishes me, because I am involved in mankind; and therefore never send to know for whom the bell tolls; it tolls for thee...' from Meditation 17, J Donne. From GWCOOK at mactec.com Mon Mar 8 07:09:08 2004 From: GWCOOK at mactec.com (Cook, Garry) Date: Mon Mar 8 07:09:08 2004 Subject: [Nagiosplug-devel] Re: Perl plugins that fail gracefully by reporting missing modules. Message-ID: <41FD7929498A174DAB86C45F28E0EC0D3EA32D@golden-m.mactec.com> Stanley Hopcroft wrote: > Dear Gentlemen, > > I am writing to thank you for your leters and say, > > On Mon, Mar 08, 2004 at 01:51:02AM +0000, Awais Ahmad wrote: >> I thought they already failed gracefully :). I find the contents of >> @INC being printed to STDERR pretty useful, so I wouldn't use eval >> {} in the context being discussed myself. > > Yep. I agree. However, if you subscribe to Nag users, many if > not all, > of the questions about Perl plugins express dismay on seeing @INC. Back in the day when I was a clueless *nix user with root privledges, seeing the @INC errors used to drive me nuts. I could 'find' or 'locate' the missing modules, but had a really hard time figuring out how to add them to @INC. It appears as though CPANPLUS may make this much easier for the average user, although I have not yet tested this feature. Garry W. Cook, CCNA Network Infrastructure Manager MACTEC, Inc. - http://www.mactec.com/ 303.308.6228 (Office) - 720.220.1862 (Mobile) From noreply at sourceforge.net Mon Mar 8 08:11:33 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Mon Mar 8 08:11:33 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Bugs-912033 ] check_procs on FreeBSD Message-ID: Bugs item #912033, was opened at 2004-03-08 15:21 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=912033&group_id=29880 Category: Argument proccessing Group: Release (specify) Status: Open Resolution: None Priority: 5 Submitted By: Branson Matheson (bransonmatheson) Assigned to: Nobody/Anonymous (nobody) Summary: check_procs on FreeBSD Initial Comment: Version: Plugins-1.3.1 the check_procs command calls ps -weo 'stat uid ppid comm args'. FreeBSD needs -aweo to see all processes on the system. With out it .. it only sees processes in it's own group with controlling terminals. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=912033&group_id=29880 From pla at softflare.com Mon Mar 8 10:03:14 2004 From: pla at softflare.com (Paul L. Allen) Date: Mon Mar 8 10:03:14 2004 Subject: [Nagiosplug-devel] Re: check_* -w and -c switches In-Reply-To: <20040305215825.7bccbf41.karl@debisschop.net> References: <56221198-6E1E-11D8-930C-000A95989E4A@lixfeld.ca> <20040304231810.25496.qmail@minnow.softflare.net> <20040304220311.287412ea.karl@debisschop.net> <20040305111928.21358.qmail@minnow.softflare.net> <20040305072927.2aa7ae46.karl@debisschop.net> <20040305130557.30964.qmail@minnow.softflare.net> <20040305215825.7bccbf41.karl@debisschop.net> Message-ID: <20040308175406.19674.qmail@minnow.softflare.net> Elsewhere, Karl DeBisschop writes: > On Fri, 05 Mar 2004 13:05:56 +0000 > "Paul L. Allen" wrote: >> I have a perl subroutine that does the same thing which you can have >> if you want it (let me know where to send it if you do). > > Post to the list or drop into patches against utils.pm on sourceforge > (preferred) I couldn't see any obvious place to drop into the patches which didn't require me to get a sourceforge login, so it's attached below. Also attached is the same subroutine plus a test harness that calls it to check it copes with all the syntax permutations correctly (80 tests). Note that I arbitrarily decided that it would treat ~:~ as an invalid range specifier even though theoretically it is valid (but not useful) in order not to complicate the code any further. I didn't see any point in special-casing an instance that is of no practical use to anyone. -- Paul Allen Softflare Support -------------- next part -------------- sub check_range ($$@) { # Takes three parameters. The first is a metric. The second is # a range using Nagios plugin range syntax. The third is an optional # name for the range (such as 'warning' or 'critical') which is used # if a usage error is generated because of an invalid range. No # explicit checking is done that the metric or the range consists # of non-numeric values - they will be treated as zero. # Accepts ranges of the following form: # # min:max (between min and max inclusive) # min: (equivalent to min:infinity) # :max (equivalent to 0:max) # max (equivalent :max which is equivalent to 0:max) # 0 (equivalent to 0:infinity) # # The symbol ~ may be specified as the minimum portion of a range # to represent -infinity. The range may be prefixed by @ to negate # the result (so the metric is critical if within the range). # Note that ~:~ is treated as an invalid range my($metric) = shift(@_); my($range) = shift(@_); # Take third and any subsequent parameters and concatenate with spaces # to form the name of the range for use in error messages. my($range_name) = join(' ', @_); $range_name = " for $range_name." if ($range_name); # Use strict doesn't let us do string/numeric conversions, so turn # off warnings to get around that problem and the problem of undefined # variables from the regex below. local($^W) = 0; my($range_ok) = 0; # Split the range into the optional 'invert range' prefix (@), minimum # bound and upper bound, allowing all the variations. my($invert_range, $lower, $upper) = $range =~ /^(\@)?(?:([^:])*:)?(.*)?$/; # The above regex has problems with 0 (which means 0:infinity), so # we have to correct for that (but not for :0, which means 0:0 and is # handled correctly by the regex). ($lower, $upper) = ($upper, $lower) if (($upper eq '0' and not $lower) and $range !~ /:/); # Check that upper >= lower, including the case when lower or upper is # ~ (negative infinity). Set $! and die rather than just exit so we # can trap this in a test harness. if ($upper eq '~' or ($lower ne '~' and $upper ne '' and $lower > $upper )) { print "Error: range is $lower:$upper$range_name\n"; print_usage(); $! = $ERRORS{UNKNOWN}; die "\n"; } # If the lower bound is not ~ (negative infinity) then check that the # metric is greater than or equal to the lower bound. If the lower bound # is ~ then the metric has to be OK because any metric has to be higher # than negative infinity. if ($lower ne '~') { $range_ok++ if ($metric >= $lower + 0); } else { $range_ok++; } $range_ok = 0 if ($upper ne '' and $metric > $upper + 0); $range_ok ^= 1 if ($invert_range); return($range_ok); } -------------- next part -------------- #! /usr/bin/perl -wT use strict; use lib "/usr/local/nagios/libexec" ; use utils qw($TIMEOUT %ERRORS &print_revision &support); use vars qw(@tests $test $result $num_tests $num_successes); @tests = ( # Format: [metric, range, name, expected result] # # 'Expected result' is the result expected from check_range: 0 if # check_range should return 0 (metric is outside of range), 1 if # check_range should return 1 (metric is inside range). The expected # result can also be -1, indicating that check_range should exit with # plugin error code of 'UNKNOWN' after a usage error (caused by an # invalid range). # Check min:max ranges [-1, '2:4', 'Test 1', 0], [0, '2:4', 'Test 2', 0], [1, '2:4', 'Test 3', 0], [2, '2:4', 'Test 4', 1], [3, '2:4', 'Test 5', 1], [4, '2:4', 'Test 6', 1], [5, '2:4', 'Test 7', 0], # Check max ranges [-1, 2, 'Test 8', 0], [0, 2, 'Test 9', 1], [1, 2, 'Test 10', 1], [2, 2, 'Test 11', 1], [3, 2, 'Test 12', 0], # Check :max ranges [-1, ':2', 'Test 13', 0], [0, ':2', 'Test 14', 1], [1, ':2', 'Test 15', 1], [2, ':2', 'Test 16', 1], [3, ':2', 'Test 17', 0], [-1, '1:', 'Test 18', 0], # Check min: ranges [0, '1:', 'Test 19', 0], [1, '1:', 'Test 20', 1], [2, '1:', 'Test 21', 1], # Check 0 [-1, 0, 'Test 22', 0], [0, 0, 'Test 23', 1], [1, 0, 'Test 24', 1], # Check ~:max ranges [-1, '~:1', 'Test 25', 1], [0, '~:1', 'Test 26', 1], [1, '~:1', 'Test 27', 1], [2, '~:1', 'Test 28', 0], # Check min:max ranges where min and max are the same, including :0 # which should be equivalent to 0:0. [-1, '1:1', 'Test 29', 0], [0, '1:1', 'Test 30', 0], [1, '1:1', 'Test 31', 1], [2, '1:1', 'Test 32', 0], [-1, '0:0', 'Test 33', 0], [0, '0:0', 'Test 34', 1], [1, '0:0', 'Test 35', 0], [-1, ':0', 'Test 36', 0], [0, ':0', 'Test 37', 1], [1, ':0', 'Test 38', 0], # Check min:max ranges which are invalid [1, '4:2', 'Test 39', -1], [1, '~:~', 'Test 40', -1], # Check @min:max ranges [-1, '@2:4', 'Test 1', 1], [0, '@2:4', 'Test 2', 1], [1, '@2:4', 'Test 3', 1], [2, '@2:4', 'Test 4', 0], [3, '@2:4', 'Test 5', 0], [4, '@2:4', 'Test 6', 0], [5, '@2:4', 'Test 7', 1], # Check @max ranges [-1, '@2', 'Test 8', 1], [0, '@2', 'Test 9', 0], [1, '@2', 'Test 10', 0], [2, '@2', 'Test 11', 0], [3, '@2', 'Test 12', 1], # Check @:max ranges [-1, '@:2', 'Test 13', 1], [0, '@:2', 'Test 14', 0], [1, '@:2', 'Test 15', 0], [2, '@:2', 'Test 16', 0], [3, '@:2', 'Test 17', 1], [-1, '@1:', 'Test 18', 1], # Check @min: ranges [0, '@1:', 'Test 19', 1], [1, '@1:', 'Test 20', 0], [2, '@1:', 'Test 21', 0], # Check @0 [-1, '@0', 'Test 22', 1], [0, '@0', 'Test 23', 0], [1, '@0', 'Test 24', 0], # Check @~:max ranges [-1, '@~:1', 'Test 25', 0], [0, '@~:1', 'Test 26', 0], [1, '@~:1', 'Test 27', 0], [2, '@~:1', 'Test 28', 1], # Check @min:max ranges where min and max are the same, including @:0 # which should be equivalent to @0:0. [-1, '@1:1', 'Test 29', 1], [0, '@1:1', 'Test 30', 1], [1, '@1:1', 'Test 31', 0], [2, '@1:1', 'Test 32', 1], [-1, '@0:0', 'Test 33', 1], [0, '@0:0', 'Test 34', 0], [1, '@0:0', 'Test 35', 1], [-1, '@:0', 'Test 36', 1], [0, '@:0', 'Test 37', 0], [1, '@:0', 'Test 38', 1], # Check @min:max ranges which are invalid [1, '@4:2', 'Test 39', -1], [1, '@~:~', 'Test 40', -1], ); foreach $test (@tests) { $num_tests++; eval { $result = &check_range($test->[0], $test->[1], $test->[2]); }; $result = -1 if ($@); print "$test->[2]: metric is $test->[0], range is $test->[1], "; if ($result == 1) { print "result is 'pass', "; } elsif ($result == -1) { print "result is 'unknown', "; } else { print "result is 'fail', "; } if ($result == $test->[3]) { $num_successes++; print "OK\n"; } else { print "Fail\n"; } } print "$num_successes/$num_tests tests successful\n"; exit; sub check_range ($$@) { # Takes three parameters. The first is a metric. The second is # a range using Nagios plugin range syntax. The third is an optional # name for the range (such as 'warning' or 'critical') which is used # if a usage error is generated because of an invalid range. No # explicit checking is done that the metric or the range consists # of non-numeric values - they will be treated as zero. # Accepts ranges of the following form: # # min:max (between min and max inclusive) # min: (equivalent to min:infinity) # :max (equivalent to 0:max) # max (equivalent :max which is equivalent to 0:max) # 0 (equivalent to 0:infinity) # # The symbol ~ may be specified as the minimum portion of a range # to represent -infinity. The range may be prefixed by @ to negate # the result (so the metric is critical if within the range). # Note that ~:~ is treated as an invalid range my($metric) = shift(@_); my($range) = shift(@_); # Take third and any subsequent parameters and concatenate with spaces # to form the name of the range for use in error messages. my($range_name) = join(' ', @_); $range_name = " for $range_name." if ($range_name); # Use strict doesn't let us do string/numeric conversions, so turn # off warnings to get around that problem and the problem of undefined # variables from the regex below. local($^W) = 0; my($range_ok) = 0; # Split the range into the optional 'invert range' prefix (@), minimum # bound and upper bound, allowing all the variations. my($invert_range, $lower, $upper) = $range =~ /^(\@)?(?:([^:])*:)?(.*)?$/; # The above regex has problems with 0 (which means 0:infinity), so # we have to correct for that (but not for :0, which means 0:0 and is # handled correctly by the regex). ($lower, $upper) = ($upper, $lower) if (($upper eq '0' and not $lower) and $range !~ /:/); # Check that upper >= lower, including the case when lower or upper is # ~ (negative infinity). Set $! and die rather than just exit so we # can trap this in a test harness. if ($upper eq '~' or ($lower ne '~' and $upper ne '' and $lower > $upper )) { print "Error: range is $lower:$upper$range_name\n"; print_usage(); $! = $ERRORS{UNKNOWN}; die "\n"; } # If the lower bound is not ~ (negative infinity) then check that the # metric is greater than or equal to the lower bound. If the lower bound # is ~ then the metric has to be OK because any metric has to be higher # than negative infinity. if ($lower ne '~') { $range_ok++ if ($metric >= $lower + 0); } else { $range_ok++; } $range_ok = 0 if ($upper ne '' and $metric > $upper + 0); $range_ok ^= 1 if ($invert_range); return($range_ok); } sub print_usage { # Dummy print_usage subroutine to so the test harness doesn't complain # when we specify a range with an lower bound greater than the upper bound. } From noreply at sourceforge.net Mon Mar 8 10:38:08 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Mon Mar 8 10:38:08 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Bugs-912033 ] check_procs on FreeBSD Message-ID: Bugs item #912033, was opened at 2004-03-08 15:21 Message generated for change (Comment added) made by bransonmatheson You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=912033&group_id=29880 Category: Argument proccessing Group: Release (specify) Status: Open Resolution: None Priority: 5 Submitted By: Branson Matheson (bransonmatheson) Assigned to: Nobody/Anonymous (nobody) Summary: check_procs on FreeBSD Initial Comment: Version: Plugins-1.3.1 the check_procs command calls ps -weo 'stat uid ppid comm args'. FreeBSD needs -aweo to see all processes on the system. With out it .. it only sees processes in it's own group with controlling terminals. ---------------------------------------------------------------------- >Comment By: Branson Matheson (bransonmatheson) Date: 2004-03-08 18:28 Message: Logged In: YES user_id=543327 Also need a .. so the total command line should be: ps -axweo 'stat...' ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=912033&group_id=29880 From noreply at sourceforge.net Mon Mar 8 11:59:07 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Mon Mar 8 11:59:07 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Bugs-912033 ] check_procs on FreeBSD Message-ID: Bugs item #912033, was opened at 2004-03-08 15:21 Message generated for change (Comment added) made by tonvoon You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=912033&group_id=29880 Category: Argument proccessing Group: Release (specify) Status: Open Resolution: None Priority: 5 Submitted By: Branson Matheson (bransonmatheson) >Assigned to: Ton Voon (tonvoon) Summary: check_procs on FreeBSD Initial Comment: Version: Plugins-1.3.1 the check_procs command calls ps -weo 'stat uid ppid comm args'. FreeBSD needs -aweo to see all processes on the system. With out it .. it only sees processes in it's own group with controlling terminals. ---------------------------------------------------------------------- >Comment By: Ton Voon (tonvoon) Date: 2004-03-08 19:49 Message: Logged In: YES user_id=664364 Branson, Thanks for the report. Can you try the CVS snapshot version at http:// nagiosplug.sf.net/snapshot. Also, which version of FreeBSD do you have? Ton ---------------------------------------------------------------------- Comment By: Branson Matheson (bransonmatheson) Date: 2004-03-08 18:28 Message: Logged In: YES user_id=543327 Also need a .. so the total command line should be: ps -axweo 'stat...' ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=912033&group_id=29880 From noreply at sourceforge.net Mon Mar 8 14:56:01 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Mon Mar 8 14:56:01 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Bugs-912340 ] ver 1.3.1 and invalid host name/address Message-ID: Bugs item #912340, was opened at 2004-03-09 09:46 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=912340&group_id=29880 Category: Argument proccessing Group: Release (specify) Status: Open Resolution: None Priority: 5 Submitted By: George Vieira (djtremors) Assigned to: Nobody/Anonymous (nobody) Summary: ver 1.3.1 and invalid host name/address Initial Comment: Hi, I didn't see anyone with this problem so I thought I'd post it here. I have 1.3.1 of the plugins and noticed if I host hostnames to check that they are alive, some fail. What I've noticed is that the failing ones have valid characters but it's the way they are checked that's causing them to fail.. here is an example of a failing hostname. 3ftp.3com.com this hostname fails the ping with "Invalid host name/address: 3ftp.3com.com". I noticed with a little testing it's the domain containing the 3 in 3com that's causing it... I can't figure out the source well enough to patch it so hope you guys can figure it out.. thanks. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=912340&group_id=29880 From noreply at sourceforge.net Tue Mar 9 11:57:13 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Tue Mar 9 11:57:13 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Bugs-912974 ] check_mysql compile does not use MYSQLINCLUDE Message-ID: Bugs item #912974, was opened at 2004-03-09 19:43 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=912974&group_id=29880 Category: Argument proccessing Group: Release (specify) Status: Open Resolution: None Priority: 5 Submitted By: Arnold Cavazos, Jr. (abcjr) Assigned to: Nobody/Anonymous (nobody) Summary: check_mysql compile does not use MYSQLINCLUDE Initial Comment: In both 1.3.1 and 1.4.0alpha1 specifying --with-mysql= sets MYSQLINCLUDE = properly, but MSQLINCLUDE does not get added to the final include path. This causes the check_mysql plugin to fail compiling. This can be fixed by modifying line 254 of nagios-plugins,1.4.0alpha1/configure.in to: -CPPFLAGS="$_SAVEDCPPFLAGS" +CPPFLAGS="$_SAVEDCPPFLAGS $MYSQLINCLUDE" This can be fixed by modifying line 220 of nagios-plugins-1.3.1/configure.in to: -CPPFLAGS="$_SAVEDCPPFLAGS" +CPPFLAGS="$_SAVEDCPPFLAGS $MYSQLINCLUDE" ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=912974&group_id=29880 From noreply at sourceforge.net Tue Mar 9 12:21:01 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Tue Mar 9 12:21:01 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-912996 ] check_ping fails to return CRITICAL under RHES 3.0 Message-ID: Patches item #912996, was opened at 2004-03-09 14:10 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=912996&group_id=29880 Category: Bugfix Group: None Status: Open Resolution: None Priority: 5 Submitted By: Todd A. Green (slarti71) Assigned to: Nobody/Anonymous (nobody) Summary: check_ping fails to return CRITICAL under RHES 3.0 Initial Comment: While the check_ping command returns proper results when pinging an up host, if the host is down the plugin returns Error: Could not interpret output from ping command This patch fixes that behavior. cd plugins patch < check_ping.c.diff ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=912996&group_id=29880 From sghosh at sghosh.org Tue Mar 9 14:39:01 2004 From: sghosh at sghosh.org (Subhendu Ghosh) Date: Tue Mar 9 14:39:01 2004 Subject: [Nagiosplug-devel] new Plugin CheckRaid In-Reply-To: <40472E89.4050206@diamos.de> Message-ID: On Thu, 4 Mar 2004, Bj?rn Teipel wrote: > > By the way, how does a plugin gets into official plugin distribution ? > Post to the SourceForge New Plugins tracker. From there to contrib or standard dist. -- -sg -------------- next part -------------- A non-text attachment was scrubbed... Name: check_Raid.pl Type: text/x-perl Size: 6047 bytes Desc: URL: From aj.mckee at nmtbmedia.com Tue Mar 9 20:33:53 2004 From: aj.mckee at nmtbmedia.com (AJ McKee) Date: Tue Mar 9 20:33:53 2004 Subject: [Nagiosplug-devel] [OT] Nagios Plugins Used by Up.time Message-ID: <002301c40656$eb56b9a0$cbe8fea9@core> Hi All, Sorry about the OT post, but I thought it should be brought to your attention if it already has not. I downloaded a demo monitoring app the other day called up.time from Uptime Software (www.uptimesoftware.com), to give it a try and see how it compares with Nagios. Well the admin interface is beautiful. A lot of effort there. However when I dug into the file system I found some strange results. To cut to the chase there is a directory called libexec in /opt/SPYNuptm/ and its contents are similar if not identical to that of nagios. But all the plugins have been modified not to show the gpl licence info that is there normally. So I was wondering if this was known to nagios plugin developers, and if so sorry for going through something which is already known. If not, bummer is this another example of a company ripping off from the OSS community? I am in possession of a document they publish (PDF if anyone wants it off list) which compares their product to Nagios (Which I love BTW :), which to me seems inaccurate to a great extent. So basically I was wondering what was everyone's thoughts etc on this? I have included a dir listing and the output from their check_mysql command for reference. Cheers in advance, Yours AJ Have you see this elsewhere before :) /opt/SPYNuptm/libexec total 9340 -rwx--x--x 1 uptime 87399 Feb 26 02:45 check_by_ssh -rwx--x--x 1 uptime 569 Feb 26 02:45 check_chk4 -rwx--x--x 1 uptime 1272 Feb 26 02:45 check_dhcp -rwx--x--x 1 uptime 89113 Feb 26 02:45 check_dns -rwxr-xr-x 1 uptime 2637 Feb 26 02:45 check_fscap -rwx--x--x 1 uptime 90633 Feb 26 02:45 check_ftp -rwx--x--x 1 uptime 159582 Feb 26 02:45 check_http -rwx--x--x 1 uptime 90477 Feb 26 02:45 check_imap -rwx--x--x 1 uptime 95427 Feb 26 02:45 check_ldap -rwx--x--x 1 uptime 238700 Feb 26 02:45 check_mysql -rwxr-xr-x 1 uptime 1033 Feb 26 02:45 check_nfs -rwx--x--x 1 uptime 92464 Feb 26 02:45 check_nntp -rwx--x--x 1 uptime 831 Feb 26 02:45 check_ntsvc -rwx--x--x 1 uptime 459 Feb 26 02:45 check_oracle -rwxr-xr-x 1 uptime 27423 Feb 26 02:45 check_ora_performance -rwx--x--x 1 uptime 1715 Feb 26 02:45 check_ora_tablespace -rwxr-xr-x 1 uptime 1094127 Feb 26 02:45 check_perf -rwx--x--x 1 uptime 91168 Feb 26 02:45 check_ping -rwx--x--x 1 uptime 90752 Feb 26 02:45 check_pop -rwxr-xr-x 1 uptime 1852 Feb 26 02:45 check_processcount -rwx--x--x 1 uptime 3082 Feb 26 02:45 check_smb -rwx--x--x 1 uptime 91043 Feb 26 02:45 check_smtp -rwx--x--x 1 uptime 102912 Feb 26 02:45 check_snmp -rwx--x--x 1 uptime 89644 Feb 26 02:45 check_ssh -rwx--x--x 1 uptime 96106 Feb 26 02:45 check_tcp -rwx--x--x 1 uptime 90609 Feb 26 02:45 check_udp -rwxr-xr-x 1 uptime 267 Feb 26 02:45 check_uptime -rwx--x--x 1 uptime 1746 Feb 26 02:45 check_yp -rws--x--x 1 uptime 1216515 Feb 26 02:45 dhclient -rwx--x--x 1 uptime 4774504 Feb 26 02:45 dhclient_solaris -rwx--x--x 1 uptime 576671 Feb 26 02:45 smbclient -rwx--x--x 1 uptime 1292 Feb 26 02:45 solaris -rwx--x--x 1 uptime 79910 Feb 26 02:45 urlize Or better ./check_mysql --help check_mysql (servmon-plugins 3.0.1) 1.4 Usage: check_mysql [-d database] [-H host] [-P port] [-u user] [-p password] check_mysql --help check_mysql --version There are no required arguments. By default, the local database with a server listening on MySQL standard port 3306 will be checked Options: -d, --database=STRING Check database with indicated name -H, --hostname=STRING or IPADDRESS Check server on the indicated host -P, --port=INTEGER Make connection on the indicated port -u, --username=STRING Connect using the indicated username -p, --password=STRING Use the indicated password to authenticate the connection ==> IMPORTANT: THIS FORM OF AUTHENTICATION IS NOT SECURE!!! <== Your clear-text password will be visible as a process table entry -h, --help Print detailed help screen -V, --version Print version information email support at uptimesoftware.com From aj.mckee at nmtbmedia.com Tue Mar 9 20:37:55 2004 From: aj.mckee at nmtbmedia.com (AJ McKee) Date: Tue Mar 9 20:37:55 2004 Subject: [Nagiosplug-devel] [OT] Nagios plugins in use with UP.Time possibly? Message-ID: <002701c40657$a3f01c40$cbe8fea9@core> N.B. My original post may or may not have gone thru. If not here it is again. Sorry for the inconvience. Hi All, Sorry about the OT post, but I thought it should be brought to your attention if it already has not. I downloaded a demo monitoring app the other day called up.time from Uptime Software (www.uptimesoftware.com), to give it a try and see how it compares with Nagios. Well the admin interface is beautiful. A lot of effort there. However when I dug into the file system I found some strange results. To cut to the chase there is a directory called libexec in /opt/SPYNuptm/ and its contents are similar if not identical to that of nagios. But all the plugins have been modified not to show the gpl licence info that is there normally. So I was wondering if this was known to nagios plugin developers, and if so sorry for going through something which is already known. If not, bummer is this another example of a company ripping off from the OSS community? I am in possession of a document they publish (PDF if anyone wants it off list) which compares their product to Nagios (Which I love BTW :), which to me seems inaccurate to a great extent. So basically I was wondering what was everyone's thoughts etc on this? I have included a dir listing and the output from their check_mysql command for reference. Cheers in advance, Yours AJ Have you see this elsewhere before :) /opt/SPYNuptm/libexec total 9340 -rwx--x--x 1 uptime 87399 Feb 26 02:45 check_by_ssh -rwx--x--x 1 uptime 569 Feb 26 02:45 check_chk4 -rwx--x--x 1 uptime 1272 Feb 26 02:45 check_dhcp -rwx--x--x 1 uptime 89113 Feb 26 02:45 check_dns -rwxr-xr-x 1 uptime 2637 Feb 26 02:45 check_fscap -rwx--x--x 1 uptime 90633 Feb 26 02:45 check_ftp -rwx--x--x 1 uptime 159582 Feb 26 02:45 check_http -rwx--x--x 1 uptime 90477 Feb 26 02:45 check_imap -rwx--x--x 1 uptime 95427 Feb 26 02:45 check_ldap -rwx--x--x 1 uptime 238700 Feb 26 02:45 check_mysql -rwxr-xr-x 1 uptime 1033 Feb 26 02:45 check_nfs -rwx--x--x 1 uptime 92464 Feb 26 02:45 check_nntp -rwx--x--x 1 uptime 831 Feb 26 02:45 check_ntsvc -rwx--x--x 1 uptime 459 Feb 26 02:45 check_oracle -rwxr-xr-x 1 uptime 27423 Feb 26 02:45 check_ora_performance -rwx--x--x 1 uptime 1715 Feb 26 02:45 check_ora_tablespace -rwxr-xr-x 1 uptime 1094127 Feb 26 02:45 check_perf -rwx--x--x 1 uptime 91168 Feb 26 02:45 check_ping -rwx--x--x 1 uptime 90752 Feb 26 02:45 check_pop -rwxr-xr-x 1 uptime 1852 Feb 26 02:45 check_processcount -rwx--x--x 1 uptime 3082 Feb 26 02:45 check_smb -rwx--x--x 1 uptime 91043 Feb 26 02:45 check_smtp -rwx--x--x 1 uptime 102912 Feb 26 02:45 check_snmp -rwx--x--x 1 uptime 89644 Feb 26 02:45 check_ssh -rwx--x--x 1 uptime 96106 Feb 26 02:45 check_tcp -rwx--x--x 1 uptime 90609 Feb 26 02:45 check_udp -rwxr-xr-x 1 uptime 267 Feb 26 02:45 check_uptime -rwx--x--x 1 uptime 1746 Feb 26 02:45 check_yp -rws--x--x 1 uptime 1216515 Feb 26 02:45 dhclient -rwx--x--x 1 uptime 4774504 Feb 26 02:45 dhclient_solaris -rwx--x--x 1 uptime 576671 Feb 26 02:45 smbclient -rwx--x--x 1 uptime 1292 Feb 26 02:45 solaris -rwx--x--x 1 uptime 79910 Feb 26 02:45 urlize Or better ./check_mysql --help check_mysql (servmon-plugins 3.0.1) 1.4 Usage: check_mysql [-d database] [-H host] [-P port] [-u user] [-p password] check_mysql --help check_mysql --version There are no required arguments. By default, the local database with a server listening on MySQL standard port 3306 will be checked Options: -d, --database=STRING Check database with indicated name -H, --hostname=STRING or IPADDRESS Check server on the indicated host -P, --port=INTEGER Make connection on the indicated port -u, --username=STRING Connect using the indicated username -p, --password=STRING Use the indicated password to authenticate the connection ==> IMPORTANT: THIS FORM OF AUTHENTICATION IS NOT SECURE!!! <== Your clear-text password will be visible as a process table entry -h, --help Print detailed help screen -V, --version Print version information email support at uptimesoftware.com From Ton.Voon at egg.com Wed Mar 10 03:25:09 2004 From: Ton.Voon at egg.com (Voon, Ton) Date: Wed Mar 10 03:25:09 2004 Subject: [Nagiosplug-devel] [OT] Nagios Plugins Used by Up.time Message-ID: AJ, Thanks for your post. I've been reading a lot up on the GPL recently, mainly due to the SCO case, and this looks like a violation of the GPL. As you are in possession of their code, can you take a look at http://www.gnu.org/licenses/gpl-violation.html and I will chase up. My understanding is that they would be allowed to redistribute the code if they retained the GPL and the copyright of the original source. Ton -----Original Message----- From: AJ McKee [mailto:aj.mckee at nmtbmedia.com] Sent: Wednesday, March 10, 2004 4:20 AM To: nagiosplug-devel at lists.sourceforge.net Subject: [Nagiosplug-devel] [OT] Nagios Plugins Used by Up.time Hi All, Sorry about the OT post, but I thought it should be brought to your attention if it already has not. I downloaded a demo monitoring app the other day called up.time from Uptime Software (www.uptimesoftware.com), to give it a try and see how it compares with Nagios. Well the admin interface is beautiful. A lot of effort there. However when I dug into the file system I found some strange results. To cut to the chase there is a directory called libexec in /opt/SPYNuptm/ and its contents are similar if not identical to that of nagios. But all the plugins have been modified not to show the gpl licence info that is there normally. So I was wondering if this was known to nagios plugin developers, and if so sorry for going through something which is already known. If not, bummer is this another example of a company ripping off from the OSS community? I am in possession of a document they publish (PDF if anyone wants it off list) which compares their product to Nagios (Which I love BTW :), which to me seems inaccurate to a great extent. So basically I was wondering what was everyone's thoughts etc on this? I have included a dir listing and the output from their check_mysql command for reference. Cheers in advance, Yours AJ Have you see this elsewhere before :) /opt/SPYNuptm/libexec total 9340 -rwx--x--x 1 uptime 87399 Feb 26 02:45 check_by_ssh -rwx--x--x 1 uptime 569 Feb 26 02:45 check_chk4 -rwx--x--x 1 uptime 1272 Feb 26 02:45 check_dhcp -rwx--x--x 1 uptime 89113 Feb 26 02:45 check_dns -rwxr-xr-x 1 uptime 2637 Feb 26 02:45 check_fscap -rwx--x--x 1 uptime 90633 Feb 26 02:45 check_ftp -rwx--x--x 1 uptime 159582 Feb 26 02:45 check_http -rwx--x--x 1 uptime 90477 Feb 26 02:45 check_imap -rwx--x--x 1 uptime 95427 Feb 26 02:45 check_ldap -rwx--x--x 1 uptime 238700 Feb 26 02:45 check_mysql -rwxr-xr-x 1 uptime 1033 Feb 26 02:45 check_nfs -rwx--x--x 1 uptime 92464 Feb 26 02:45 check_nntp -rwx--x--x 1 uptime 831 Feb 26 02:45 check_ntsvc -rwx--x--x 1 uptime 459 Feb 26 02:45 check_oracle -rwxr-xr-x 1 uptime 27423 Feb 26 02:45 check_ora_performance -rwx--x--x 1 uptime 1715 Feb 26 02:45 check_ora_tablespace -rwxr-xr-x 1 uptime 1094127 Feb 26 02:45 check_perf -rwx--x--x 1 uptime 91168 Feb 26 02:45 check_ping -rwx--x--x 1 uptime 90752 Feb 26 02:45 check_pop -rwxr-xr-x 1 uptime 1852 Feb 26 02:45 check_processcount -rwx--x--x 1 uptime 3082 Feb 26 02:45 check_smb -rwx--x--x 1 uptime 91043 Feb 26 02:45 check_smtp -rwx--x--x 1 uptime 102912 Feb 26 02:45 check_snmp -rwx--x--x 1 uptime 89644 Feb 26 02:45 check_ssh -rwx--x--x 1 uptime 96106 Feb 26 02:45 check_tcp -rwx--x--x 1 uptime 90609 Feb 26 02:45 check_udp -rwxr-xr-x 1 uptime 267 Feb 26 02:45 check_uptime -rwx--x--x 1 uptime 1746 Feb 26 02:45 check_yp -rws--x--x 1 uptime 1216515 Feb 26 02:45 dhclient -rwx--x--x 1 uptime 4774504 Feb 26 02:45 dhclient_solaris -rwx--x--x 1 uptime 576671 Feb 26 02:45 smbclient -rwx--x--x 1 uptime 1292 Feb 26 02:45 solaris -rwx--x--x 1 uptime 79910 Feb 26 02:45 urlize Or better ./check_mysql --help check_mysql (servmon-plugins 3.0.1) 1.4 Usage: check_mysql [-d database] [-H host] [-P port] [-u user] [-p password] check_mysql --help check_mysql --version There are no required arguments. By default, the local database with a server listening on MySQL standard port 3306 will be checked Options: -d, --database=STRING Check database with indicated name -H, --hostname=STRING or IPADDRESS Check server on the indicated host -P, --port=INTEGER Make connection on the indicated port -u, --username=STRING Connect using the indicated username -p, --password=STRING Use the indicated password to authenticate the connection ==> IMPORTANT: THIS FORM OF AUTHENTICATION IS NOT SECURE!!! <== Your clear-text password will be visible as a process table entry -h, --help Print detailed help screen -V, --version Print version information email support at uptimesoftware.com This private and confidential e-mail has been sent to you by Egg. The Egg group of companies includes Egg Banking plc (registered no. 2999842), Egg Financial Products Ltd (registered no. 3319027) and Egg Investments Ltd (registered no. 3403963) which is authorised and regulated by the Financial Services Authority. Egg Investments Ltd. is entered in the FSA register under number 190518. Registered in England and Wales. Registered offices: 1 Waterhouse Square, 138-142 Holborn, London EC1N 2NA. If you are not the intended recipient of this e-mail and have received it in error, please notify the sender by replying with 'received in error' as the subject and then delete it from your mailbox. From pla at softflare.com Wed Mar 10 03:59:00 2004 From: pla at softflare.com (Paul L. Allen) Date: Wed Mar 10 03:59:00 2004 Subject: [Nagiosplug-devel] Re: Nagios Plugins Used by Up.time In-Reply-To: References: Message-ID: <20040310114829.13062.qmail@minnow.softflare.net> Voon, Ton writes: > My understanding is that they would be allowed to redistribute the code if > they retained the GPL and the copyright of the original source. IANAL but I believe you are correct. They are allowed to incorporate Nagios and plugins bundled with proprietary configuration and display tools (which is what it looks like they're offering) but they have to clearly indicate which parts are GPL, provide a copy of the licence itself, etc. Filing off the copyright message output by conformant plugins is a violation of copyright law. Since Canada is a signatory to the Berne convention, you don't even need a copyright statement for that to be true. In countries that are signatories to the Berne Convention, copyright automatically exists in new works. Because there is an explicit copyright statement referring to the GPL, the terms of the GPL apply. BTW, the (c) construct has no legal meaning in most countries, you must use either the word "copyright" or the ? symbol (using both is superfluous). To gain maximum protection in some countries, add the sentence "All rights reserved." Apart from the obvious copyright violation regarding the plugins, it is entirely possible that their proprietary browser interface is based upon Nagios CGI code. The GPL is quite clear that you're not allowed to modify GPL code and redistribute the modified version to third parties unless you offer your changes back to the original developers. -- Paul Allen Softflare Support From karl at debisschop.net Wed Mar 10 04:28:40 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Wed Mar 10 04:28:40 2004 Subject: [Nagiosplug-devel] [OT] Nagios plugins in use with UP.Time possibly? In-Reply-To: <002701c40657$a3f01c40$cbe8fea9@core> References: <002701c40657$a3f01c40$cbe8fea9@core> Message-ID: <20040310071615.5890afcf.karl@debisschop.net> On Wed, 10 Mar 2004 04:24:55 -0000 "AJ McKee" wrote: > To cut to the chase there is a directory called libexec in > /opt/SPYNuptm/ and its contents are similar if not identical to that > of nagios. > > So basically I was wondering what was everyone's thoughts etc on this? We're not happy about it, and will take it up with them > I have included a dir listing and the output from their check_mysql > command for reference. Thanks for bringing this to our attention. -- Karl From aj.mckee at nmtbmedia.com Wed Mar 10 04:54:11 2004 From: aj.mckee at nmtbmedia.com (AJ McKee) Date: Wed Mar 10 04:54:11 2004 Subject: [Nagiosplug-devel] [OT] Nagios plugins in use with UP.Time possibly? In-Reply-To: <20040310071615.5890afcf.karl@debisschop.net> Message-ID: <004501c4069c$ef985820$cbe8fea9@core> >We're not happy about it, and will take it up with them Cool, sorry if it causes hassel or anything, but the product took a fair swipe at nagios from the pdfs on their site. I also noted that they are using mysql, apache and php, all of which I know are GPL or similar licences. Perhaps I should contact those groups as well. Just to be transparent here I use OSS for products that I sell, but I don't sell the OSS part of it, I may support/manage it or the network it uses, in which case I may or may not charge a fee (usually none hence I do be broke :) and I always provide sources and GPL notices and credit teams where applicable, which I think is correct, however please if I am worng point this out to me. I do use nagios and love it (altho.... ;) sure some things could be nicer and all that but mostly its cosmetic, so I must design something myself and contributed that design, be it thru web interface or something back to nagios. But anyhow, sorry, going on a rant. Their licence on their web site when you go to download the demo states everything is their copyright. So I know that's not one with them using apache. >Thanks for bringing this to our attention. No problem, I'll try and be a bit more involved with the nagios projects. AJ From noreply at sourceforge.net Wed Mar 10 13:28:26 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Wed Mar 10 13:28:26 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Bugs-913633 ] check_http does not send port in Host field of GET request Message-ID: Bugs item #913633, was opened at 2004-03-10 11:28 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=913633&group_id=29880 Category: None Group: v1.3.0 beta3 Status: Open Resolution: None Priority: 5 Submitted By: Ben Johnson (darkstar101) Assigned to: Nobody/Anonymous (nobody) Summary: check_http does not send port in Host field of GET request Initial Comment: I need the port reflected in the Host: field of the GET request. Siteminder uses this info in applying security authorizations. here's my check_http version: check_http (nagios-plugins 1.3.1) 1.24.2.4 Here's ngrep sniffs showing the request to the web server from check_http and links. $ check_http -H msp21754 -p 61616 -u / T 10.163.68.117:49879 -> 10.163.180.47:61616 [AP] GET / HTTP/1.0..Host: msp21754..User-Agent: check_http/1.24.2.4 (nagios-plugins ). $ links --source http://msp21754:61616/ T 10.163.68.117:49866 -> 10.163.180.47:61616 [AP] GET / HTTP/1.1..Host: msp21754:61616..User-Agent: ELinks (0.4.2; Linux; )..Referer: http://msp21754:61616/..Accept: */*..Accept-Encoding: bzip2, gzip..Accept-Charset: us-ascii, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8895-5, ISO-8859-6, ISO-8859-7, ISO-88 59-8, ISO-8895-9, ISO-8859-10, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16, windows-1250, window s-1251, windows-1252, windows-1256, windows-1257, cp437, cp737, cp850, cp852, cp866, x-cp866-u, x-mac, x-mac-ce, x-kam-cs, koi8-r, koi8-u, koi8-ru, TCVN-5712, VISCII, utf-8..Accept-Language: en..Connection: Keep-Alive.... I can work around the problem by specifying the IP to connect to with -I and putting host:IP in the -H parameter: $check_http -I 10.163.180.47 -H msp21754:61616 -p 61616 -u / T 10.163.68.117:49894 -> 10.163.180.47:61616 [AP] GET / HTTP/1.0..Host: msp21754:61616..User-Agent: check_http/1.24.2.4 (nagios-plugins ).... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=913633&group_id=29880 From pla at softflare.com Wed Mar 10 14:05:01 2004 From: pla at softflare.com (Paul L. Allen) Date: Wed Mar 10 14:05:01 2004 Subject: [Nagiosplug-devel] Re: check_http does not send port in Host field of GET request In-Reply-To: References: Message-ID: <20040310215408.27809.qmail@minnow.softflare.net> SourceForge.net writes: > I need the port reflected in the Host: field of the GET > request. Siteminder uses this info in applying security > authorizations. A better justification would be that the RFCs on HTTP version 1.1 *require* that the port be present in the Host field unless you are using the default port, in which case it may be omitted. A user agent (which check_http is) is not conformant with the RFCs if it does not follow this requirement. The fact that some web servers do not require the port to be specified in the Host header is neither here nor there, the user agent should include it when you're connecting to anything other than the default port. The fact that the web server doesn't actually need that info (since it knows what port you connected to anyway) is also irrelevent. The RFCs say it has to be there unless you're using the default port. So instead of saying "I have this weird Siteminder thing that nobody has ever heard of and that needs the port in the Host header" you can say "check_http has to behave this way in order to comply with the RFCs." That's a much stronger argument because there may well be other web servers out there which require the port. Then you can bolster the case by saying it's not just a theoretical possibility, Siteminder does actually need it. I have to admit I hadn't realized the port had to be in the Host header if you're not using the default port until I just checked the RFCs. It's there in the RFCs that specify HTTP/1.1. The Host header is not in RFC 1945 for HTTP/1.0 but I remember it coming along as a de facto extension to 1.0. I don't know if the de facto extensions required the port in the Host header or not. But since check_http doesn't allow you to specify a protocol version, the question doesn't arise. -- Paul Allen Softflare Support From tonvoon at mac.com Wed Mar 10 15:45:03 2004 From: tonvoon at mac.com (Ton Voon) Date: Wed Mar 10 15:45:03 2004 Subject: [Nagiosplug-devel] [OT] Nagios plugins in use with UP.Time possibly? In-Reply-To: <20040310071615.5890afcf.karl@debisschop.net> References: <002701c40657$a3f01c40$cbe8fea9@core> <20040310071615.5890afcf.karl@debisschop.net> Message-ID: <614A5850-72EB-11D8-991B-000A27E41300@mac.com> On 10 Mar, 2004, at 12:16, Karl DeBisschop wrote: > On Wed, 10 Mar 2004 04:24:55 -0000 > "AJ McKee" wrote: > >> To cut to the chase there is a directory called libexec in >> /opt/SPYNuptm/ and its contents are similar if not identical to that >> of nagios. >> >> So basically I was wondering what was everyone's thoughts etc on this? > > We're not happy about it, and will take it up with them > Sorry, I need to get this off my chest. I'm really pissed off about this. I've downloaded an evaluation copy of the up.time software from Uptime Software and taken a look at it. It includes Apache, PHP and Mysql. The first two have their own licences which basically say you can redistribute source or binary but you must include their licence, which Uptime have failed to do. Mysql is distributed under the GPL which Uptime are also violating. But the real story is with the Nagios parts. They have taken the Nagios product, compiled it and distributed the nagios executable under the name of servmon. I know that it is really Nagios because the executable contains various lines that are very Nagios specific such as ENABLE_PASSIVE_SVC_CHECKS. The plugins have had all the copyrights removed. The agent software has been renamed to uptmagnt, but contains many lines with the string "netsaint" in it. It even says to "Send email to netsaint-users at lists.sourceforge.net if you have questions"! This is a shame. They have some very interesting reporting graphs and performance information (I wonder how they do that?), but the lack of acknowledgement to the work of everyone involved with Nagios (as well as the other open source software) is very demeaning. At least they didn't rename Apache and Mysql! I have written an email to FSF for advice on next steps. The copyright holders (the Nagios plugins team and Ethan Galstad) are the only ones empowered to act against violations, but I, for one, intend to get Uptime Software to comply to the GPL. Ton From aj.mckee at nmtbmedia.com Wed Mar 10 16:21:06 2004 From: aj.mckee at nmtbmedia.com (AJ McKee) Date: Wed Mar 10 16:21:06 2004 Subject: [Nagiosplug-devel] [OT] Nagios plugins in use with UP.Time possibly? In-Reply-To: <614A5850-72EB-11D8-991B-000A27E41300@mac.com> Message-ID: <001d01c406fd$463b23f0$cbe8fea9@core> >Sorry, I need to get this off my chest. That's Okay. >The first two have their own licences >which basically say you can redistribute source or binary but you must >include their licence, which Uptime have failed to do. Mysql is >distributed under the GPL which Uptime are also violating. I have informed MySQL AB already to seek clarification on it. >I know that it is really Nagios because the >executable contains various lines that are very Nagios specific such as Yes I saw that too hence my original mail. >This is a shame. They have some very interesting reporting graphs and >performance information (I wonder how they do that?) I suspect they have modified the source to accept its configurations from a MySQL database and maybe the plugins as well. But most likley the plugins pass their data back to a handler that then enters their data into the database. Nice, I know there has been discussion on this before and it is a nice feature. They are within their rights to protect the PHP code they have written, which AFAICS is the largest part of their own work. If I could figure out how they actually pass the data back to the SQL server, then I would write my own frontend and GPL it out with all the nice pretty graphs and all :) >holders (the Nagios plugins team and Ethan Galstad) are the only ones >empowered to act against violations, Any support I can give then should the team decide to persue it, I will offer. Thanks Again AJ From nagios at nagios.org Wed Mar 10 18:17:04 2004 From: nagios at nagios.org (Ethan Galstad) Date: Wed Mar 10 18:17:04 2004 Subject: [Nagiosplug-devel] (Fwd) Plugins 2 SQL Message-ID: <404F74E1.6126.BD5D55@localhost> ------- Forwarded message follows ------- From: "AJ McKee" To: Subject: Plugins 2 SQL Date sent: Thu, 11 Mar 2004 01:04:37 -0000 Organization: http://www.nmtbmedia.com/ [ Double-click this line for list subscription options ] Howdy all again, Just sitting thinking here especially over the whole up.time thinghy. Its not a bad idea to have the plugins output be entered into a sql server of some type. So I am think of giving it a go in perl if there are no plans to do the same or no one else is doing this. The way I see it working is that there is a sql plugin that takes another plugin as an argument and any of the arguments for plugin X. Plugin X then is run in the noremal way, and the data is entered into the SQL server and then passed back to nagios. So know absolutly nothing about plugin development for nagios, I'm going over any of the docs I can find. But apart from the docs, anyone got any better ideas on how to do this? Advice, tools etc etc. I suppose I gotta lean sometime so no better time than now. Thanks in advance AJ ------- End of forwarded message ------- Ethan Galstad, Nagios Developer --- Email: nagios at nagios.org Website: http://www.nagios.org From Stanley.Hopcroft at IPAustralia.Gov.AU Wed Mar 10 18:56:10 2004 From: Stanley.Hopcroft at IPAustralia.Gov.AU (Stanley Hopcroft) Date: Wed Mar 10 18:56:10 2004 Subject: [Nagiosplug-devel] (Fwd) Plugins 2 SQL In-Reply-To: <404F74E1.6126.BD5D55@localhost>; from nagios@nagios.org on Wed, Mar 10, 2004 at 08:04:49PM -0600 References: <404F74E1.6126.BD5D55@localhost> Message-ID: <20040311134514.F81852@IPAustralia.Gov.AU> On Wed, Mar 10, 2004 at 08:04:49PM -0600, Ethan Galstad wrote: > > ------- Forwarded message follows ------- > From: "AJ McKee" > > Howdy all again, > > Just sitting thinking here especially over the whole up.time thinghy. > Its not a bad idea to have the plugins output be entered into a sql > server of some type. > So I am think of giving it a go in perl if there > are no plans to do the same or no one else is doing this. > FWIW, this can be done very easily and almost transparently for the Perl plugins using another approach Have utils.pm tie the main::STDOUT filehandle to an object (ie subroutines in a package) that logically 'tees' the output to both STDOUT (the normal print function is only intercepted by Perl in the client code that asks for the tie) and the DB. Likewise CORE::exit can be redefined (not tied) to do perform the database update and call exit. Examples of both techniques are in p1.pl (HEAD especially) and there are a lot of examples of getting user defined behaviour from standard Perl variables and handles by tie'ing in 'Programming Perl' Tie imposes a performance hit but may be an alternative approach (although it would see that Mr McKees approach of wrapping each plugin in code that runs the plugin, updates the DB and then passes the result back could be done by checks.c without the performance hit and for all plugins). > > ------- End of forwarded message ------- > Yours sincerely. -- ------------------------------------------------------------------------ Stanley Hopcroft ------------------------------------------------------------------------ '...No man is an island, entire of itself; every man is a piece of the continent, a part of the main. If a clod be washed away by the sea, Europe is the less, as well as if a promontory were, as well as if a manor of thy friend's or of thine own were. Any man's death diminishes me, because I am involved in mankind; and therefore never send to know for whom the bell tolls; it tolls for thee...' from Meditation 17, J Donne. From nagios at nagios.org Wed Mar 10 19:04:02 2004 From: nagios at nagios.org (Ethan Galstad) Date: Wed Mar 10 19:04:02 2004 Subject: [Nagiosplug-devel] [OT] Nagios plugins in use with UP.Time possibly? In-Reply-To: <614A5850-72EB-11D8-991B-000A27E41300@mac.com> References: <20040310071615.5890afcf.karl@debisschop.net> Message-ID: <404F7FD2.1233.E81C36@localhost> On 10 Mar 2004 at 23:33, Ton Voon wrote: > > On 10 Mar, 2004, at 12:16, Karl DeBisschop wrote: > > > On Wed, 10 Mar 2004 04:24:55 -0000 > > "AJ McKee" wrote: > > > >> To cut to the chase there is a directory called libexec in > >> /opt/SPYNuptm/ and its contents are similar if not identical to > >> that of nagios. > >> > >> So basically I was wondering what was everyone's thoughts etc on > >> this? > > > > We're not happy about it, and will take it up with them > > > > Sorry, I need to get this off my chest. > > I'm really pissed off about this. I've downloaded an evaluation copy > of the up.time software from Uptime Software and taken a look at it. > It includes Apache, PHP and Mysql. The first two have their own > licences which basically say you can redistribute source or binary but > you must include their licence, which Uptime have failed to do. Mysql > is distributed under the GPL which Uptime are also violating. > > But the real story is with the Nagios parts. They have taken the > Nagios product, compiled it and distributed the nagios executable > under the name of servmon. I know that it is really Nagios because the > executable contains various lines that are very Nagios specific such > as ENABLE_PASSIVE_SVC_CHECKS. The plugins have had all the copyrights > removed. The agent software has been renamed to uptmagnt, but contains > many lines with the string "netsaint" in it. It even says to "Send > email to netsaint-users at lists.sourceforge.net if you have questions"! > > This is a shame. They have some very interesting reporting graphs and > performance information (I wonder how they do that?), but the lack of > acknowledgement to the work of everyone involved with Nagios (as well > as the other open source software) is very demeaning. At least they > didn't rename Apache and Mysql! > > I have written an email to FSF for advice on next steps. The copyright > holders (the Nagios plugins team and Ethan Galstad) are the only ones > empowered to act against violations, but I, for one, intend to get > Uptime Software to comply to the GPL. > > Ton Nice. This kind of stuff can make you want to throw up when you find out about it. I almost feel sorry for them with having NetSaint used as part of their backend. I said *almost*... What a bunch of dorks. If you are going to plagiarize, you should at least make a decent attempt to strip out or change any strings that might implicate you. I haven't downloaded their demo yet, but their download agreement states that their software: ..."contains trade secrets of uptime software and to protect them you may not de-compile, reverse engineer, disassemble, or otherwise reduce the Software to a human perceivable form." I suppose that means they could sick the DMCA on you for running "strings" against the executables they release, unless you could prove in court that they are in violation of copyright. I'm joking about the DMCA thing, but sadly, its probably partially true. Funny thing... about a month or so ago I woke up one morning and for some reason felt an overwhelming need to officially register NetSaint and Nagios with the U.S. Copyright Office. Not sure why I felt the urgent need to do that (I never really cared about it prior to this), but the registrations for the first four versions of NetSaint are sitting in the offsite mail processing site in D.C. on their way to the Copyright Office at this moment. Good timing I guess. I read after submitting the registrations that registering a work without 5 years of its release date shows prima facie (sp?) in a court of law. That's a good thing - and NetSaint 0.0.1 was released on March 19, 1999, so the deadline would have been missed had I not woken from a some kind of nightmare. BTW, for those who aren't aware, you cannot file a copyright violation suit in court without first having officially registered it with the Copyright Office. The plugins were split off from the main NetSaint distribution and made into a separate project after Netsaint 0.0.3, so separate registrations will have to be made for plugin releases. I'd be happy to cover the cost of the registrations, but I think we should first consult with the FSF as to what the best way to do this would be. We could either retain the copyright registrations as a team or assign them to the FSF. Having the FSF behind us would be good thing, as it means time and resources that we as individual developers don't necessarily have. Ton - since you have already contacted the FSF, can you keep us informed of their response? I'll also make a separate request to the FSF tonight in regards to what the best way to register the copyrights would be. Anyway, don't let this make you too sick to your stomach. This is a good thing, in a messed up kind of way. If it turns out to be true, it would mean that: 1. A commercial product is successfully using NetSaint and the plugins as its backend. 2. Some of their nice SQL and front-end stuff may have to be released back to us if they're violating the GPL. So its not all bad. Its more of an education than anything, even if it is a big hassle. I did learn a lot about trademarks after NetSaint. :-) As a side, I've always wondered whether or not we should be seeking some blatantly obvious patents to protect this project from the all-too-happy-to-sue-for-obvious-patents-being- awarded-them companies. I suppose I should knock on wood for that. We don't want to go there... Ethan Galstad, Nagios Developer --- Email: nagios at nagios.org Website: http://www.nagios.org From jhmartin at toger.us Wed Mar 10 21:53:43 2004 From: jhmartin at toger.us (Jason Martin) Date: Wed Mar 10 21:53:43 2004 Subject: [Nagiosplug-devel] [OT] Nagios plugins in use with UP.Time possibly? In-Reply-To: <404F7FD2.1233.E81C36@localhost> References: <20040310071615.5890afcf.karl@debisschop.net> <404F7FD2.1233.E81C36@localhost> Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Wed, 10 Mar 2004, Ethan Galstad wrote: > 2. Some of their nice SQL and front-end stuff may have to be > released back to us if they're violating the GPL. IANAL, but I've read that they cannot be forced into releasing their code even if they violate the GPL. http://en.wikipedia.org/wiki/GNU_General_Public_License My reading of the paragraph starting "Many people have the common misconception" is that if they've violated copyright then they can be sued for damages, but the courts probably won't force them to open the portion of their code that is non-infringing. I suppose one could negoitate that as payment for the damages but it couldn't be forced on them. In their defence I suppose it is possible that they contracted out the development and another entity coopted the plugins. On a more positive note, I suppose one could use their 'Latest News' list of customers as a vote of confidence for Nagios monitoring capabilities :> - -Jason Martin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.3.5 (GNU/Linux) Comment: pgpenvelope 2.10.2 - http://pgpenvelope.sourceforge.net/ iD8DBQFAT/xRl2ODWuqVSBMRAtYUAJ0Tn0ayoZE/M74r+3Jxq/8Vy4VvWACfdT1b bxui9iFLLm8PZl+sftQftMk= =dN9n -----END PGP SIGNATURE----- From rnelson at windchannel.com Thu Mar 11 06:16:04 2004 From: rnelson at windchannel.com (Robert Nelson) Date: Thu Mar 11 06:16:04 2004 Subject: [Nagiosplug-devel] (Fwd) Plugins 2 SQL Message-ID: > Just sitting thinking here especially over the whole up.time thinghy. > Its not a bad idea to have the plugins output be entered into a sql > server of some type. So I am think of giving it a go in perl if there > are no plans to do the same or no one else is doing this. > > The way I see it working is that there is a sql plugin that takes > another plugin as an argument and any of the arguments for plugin X. > Plugin X then is run in the noremal way, and the data is entered into > the SQL server and then passed back to nagios. So know absolutly > nothing about plugin development for nagios, I'm going over any of > the > docs I can find. But apart from the docs, anyone got any better ideas > on how to do this? Advice, tools etc etc. I suppose I gotta lean > sometime so no better time than now. I don't have any ideas, but just a comment/request. I run postgresql on my servers. I'm not a DBA, but I run it for the few apps we have on the webserver that talk to a DB, and our programmer talks to postgresql. I'm not going to load another database, be it mysql or any other, on the server just for Nagios. One DB is enough "fun" for me. So please, keep this in mind when developing any SQL interface. I also do not use tools like NagMin because they require MySQL rather than having some sort of compile-time option for database support. Rob Nelson Network Engineer Windchannel Communications M: 919-538-6326 From pla at softflare.com Thu Mar 11 06:58:17 2004 From: pla at softflare.com (Paul L. Allen) Date: Thu Mar 11 06:58:17 2004 Subject: [Nagiosplug-devel] Re: Nagios plugins in use with UP.Time possibly? In-Reply-To: <404F7FD2.1233.E81C36@localhost> References: <20040310071615.5890afcf.karl@debisschop.net> <404F7FD2.1233.E81C36@localhost> Message-ID: <20040311144640.10547.qmail@minnow.softflare.net> Ethan Galstad writes: > BTW, for those who aren't aware, you cannot file a copyright violation > suit in court without first having officially registered it with the > Copyright Office. Untrue in most countries which are signatories to the Berne Convention. True of the US if the origin of the work is the US but untrue of the US if the origin of the work is a signatory country other than the US. Uptime is headquarted in Canada. Canada is a signatory to the Berne Convention. A guick dig on google leads to: "No formalities are required in order for a work to be protected under the Copyright Act. Protection is provided automatically as soon as the work is created and fixed in any material form. Canada grants the same protection to foreign works in accordance with national treatment principles set out in the Berne Convention for the Protection of Literary and Artistic Works, which Canada signed in 1928. The basic principle underpinning the Convention is that all member states must give authors from other member states the same copyright protection they provide their own authors." IANAL, but it looks to me like a case filed in a Canadian court would be successful even if you hadn't registered your copyright in the US. -- Paul Allen Softflare Support From jeremy+nagios at undergrid.net Thu Mar 11 12:56:36 2004 From: jeremy+nagios at undergrid.net (Jeremy T. Bouse) Date: Thu Mar 11 12:56:36 2004 Subject: [Nagiosplug-devel] [OT] Nagios plugins in use with UP.Time possibly? In-Reply-To: <404F7FD2.1233.E81C36@localhost> References: <20040310071615.5890afcf.karl@debisschop.net> <404F7FD2.1233.E81C36@localhost> Message-ID: <20040311202806.GA9626@UnderGrid.net> On Wed, Mar 10, 2004 at 08:51:30PM -0600, Ethan Galstad wrote: > The plugins were split off from the main NetSaint distribution and > made into a separate project after Netsaint 0.0.3, so separate > registrations will have to be made for plugin releases. I'd be happy > to cover the cost of the registrations, but I think we should first > consult with the FSF as to what the best way to do this would be. We > could either retain the copyright registrations as a team or assign > them to the FSF. Having the FSF behind us would be good thing, as it > means time and resources that we as individual developers don't > necessarily have. > > Ton - since you have already contacted the FSF, can you keep us > informed of their response? I'll also make a separate request to the > FSF tonight in regards to what the best way to register the > copyrights would be. > Another idea might be to contact SPI (Software in the Public Interest) which have Debian, Fresco, GNOME,LSB, GNU TeXmacs and a few others as listed projects that they hold the copyrights for. This may be another route to look at as I'm not sure the procedure. I do know they hold to trademark for Debian and it's managed by the Debian project itself. I might be able to send a friendly inquiry to Ean Schuessler, current President of SPI, and ask him. I had the pleasure of meeting him over LWE'03 shortly after his promotion from V.P. and seems personable enough. If not he may have some other suggestions for the project. I just not want to do so and speak for Nagios if it is something we don't want to do. Regards, Jeremy T. Bouse -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From dviner at yahoo-inc.com Thu Mar 11 16:43:18 2004 From: dviner at yahoo-inc.com (Viner, David) Date: Thu Mar 11 16:43:18 2004 Subject: [Nagiosplug-devel] 1.4.0alpha1 Message-ID: <263A1F717ECDED40AA969F98D1CF122E01A4F398@penxng.smca.yahoo.com> Is the 1.4.0 package truly alpha? it was published on Nov. 29, 2003. Should it still be considered alpha? thanks dave From sghosh at sghosh.org Thu Mar 11 17:43:29 2004 From: sghosh at sghosh.org (Subhendu Ghosh) Date: Thu Mar 11 17:43:29 2004 Subject: [Nagiosplug-devel] 1.4.0alpha1 In-Reply-To: <263A1F717ECDED40AA969F98D1CF122E01A4F398@penxng.smca.yahoo.com> Message-ID: On Thu, 11 Mar 2004, Viner, David wrote: > Is the 1.4.0 package truly alpha? it was published on Nov. 29, 2003. Should > it still be considered alpha? > yes - it introduced IPv6 support for some plugins and a bunch of changes. -- -sg From dviner at yahoo-inc.com Fri Mar 12 09:33:24 2004 From: dviner at yahoo-inc.com (Viner, David) Date: Fri Mar 12 09:33:24 2004 Subject: [Nagiosplug-devel] 1.4.0alpha1 Message-ID: <263A1F717ECDED40AA969F98D1CF122E01A4F39A@penxng.smca.yahoo.com> what's the timeframe for moving it from alpha to beta and/or stable? is there a checklist or a list of bugs that need fixing in order to declare it beta/stable? dave -----Original Message----- From: Subhendu Ghosh [mailto:sghosh at sghosh.org] Sent: Thursday, March 11, 2004 5:31 PM To: Viner, David Cc: nagiosplug-devel at lists.sourceforge.net Subject: Re: [Nagiosplug-devel] 1.4.0alpha1 On Thu, 11 Mar 2004, Viner, David wrote: > Is the 1.4.0 package truly alpha? it was published on Nov. 29, 2003. Should > it still be considered alpha? > yes - it introduced IPv6 support for some plugins and a bunch of changes. -- -sg From karl at debisschop.net Sat Mar 13 05:16:06 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Sat Mar 13 05:16:06 2004 Subject: [Nagiosplug-devel] 1.4.0alpha1 In-Reply-To: <263A1F717ECDED40AA969F98D1CF122E01A4F39A@penxng.smca.yahoo.com> References: <263A1F717ECDED40AA969F98D1CF122E01A4F39A@penxng.smca.yahoo.com> Message-ID: <20040313072528.5740e910.karl@debisschop.net> On Fri, 12 Mar 2004 09:18:11 -0800 "Viner, David" wrote: > what's the timeframe for moving it from alpha to beta and/or stable? > is there a checklist or a list of bugs that need fixing in order to > declare it beta/stable? The number of outstanding bugs is not that large. I used it in both of my deployments with no problems, but now I'm running CVS head because that's what I need to do to be sure testing happens. But I've had no problems, and the number of reported problems is not that large. I'd take a nightly snapshot over the alpha release. The interface from performance data is what is changing - we coded a bunch in microseconds, but popular opinion seemed to be that they should be in decimal seocnds. So I'm reworking that. That's the reason we haven't moved out of alpha - there will be a change in the output interface if you use perfdata. I hope to get to working on that again this week, so we might be lloking at a bate release around late march or early april. (I'm just constructing this timeline on my own here - any devlopers should feel free to comment. Note especially that I'm not planning another alpha release at present - though I could be swayed on that, especially if those working on check_dns feel it's warranted) -- Karl From guenther.mair at datef.it Sun Mar 14 17:37:06 2004 From: guenther.mair at datef.it (guenther.mair at datef.it) Date: Sun Mar 14 17:37:06 2004 Subject: [Nagiosplug-devel] Update for check_disk Message-ID: Hi, I've seen that many of your current plugins (1.3.1) are using fork's and pipes instead of syscall's for doing a few quite simple things. What would you think about the attached plugin (check_disk using statfs-syscall)? Cheers, G?nther (See attached file: check_disk.syscall.tar.gz) G?nther Mair Internet Engineer DATEF AG Negrellistrasse 13/B 39100 Bozen (BZ) Tel.: +39 0471 066500 Fax: +39 0471 066501 Email: guenther.mair at datef.it Web: http://www.datef.it -------------- next part -------------- A non-text attachment was scrubbed... Name: check_disk.syscall.tar.gz Type: application/octet-stream Size: 18954 bytes Desc: not available URL: From daniel.7 at tjohoo.se Sun Mar 14 17:37:18 2004 From: daniel.7 at tjohoo.se (Daniel) Date: Sun Mar 14 17:37:18 2004 Subject: [Nagiosplug-devel] XML? Message-ID: Hi all! Is there any who knows if there is any XML plugin for Nagios? Thanks From awais at eurobell.net Sun Mar 14 17:37:21 2004 From: awais at eurobell.net (Awais Ahmad) Date: Sun Mar 14 17:37:21 2004 Subject: [Nagiosplug-devel] 1.4.0alpha1 In-Reply-To: <20040313072528.5740e910.karl@debisschop.net> References: <263A1F717ECDED40AA969F98D1CF122E01A4F39A@penxng.smca.yahoo.com> <20040313072528.5740e910.karl@debisschop.net> Message-ID: <1079294499.2747.8.camel@localhost.localdomain> As for check_dns, I'll need a week or two before I have time to do the patch to HEAD as discussed. Awais On Sat, 2004-03-13 at 12:25, Karl DeBisschop wrote: > On Fri, 12 Mar 2004 09:18:11 -0800 > "Viner, David" wrote: > > > what's the timeframe for moving it from alpha to beta and/or stable? > > is there a checklist or a list of bugs that need fixing in order to > > declare it beta/stable? > > The number of outstanding bugs is not that large. I used it in both of > my deployments with no problems, but now I'm running CVS head because > that's what I need to do to be sure testing happens. But I've had no > problems, and the number of reported problems is not that large. I'd > take a nightly snapshot over the alpha release. > > The interface from performance data is what is changing - we coded a > bunch in microseconds, but popular opinion seemed to be that they should > be in decimal seocnds. So I'm reworking that. > > That's the reason we haven't moved out of alpha - there will be a change > in the output interface if you use perfdata. I hope to get to working on > that again this week, so we might be lloking at a bate release around > late march or early april. > > (I'm just constructing this timeline on my own here - any devlopers > should feel free to comment. Note especially that I'm not planning > another alpha release at present - though I could be swayed on that, > especially if those working on check_dns feel it's warranted) > > -- > Karl > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Nagiosplug-devel mailing list > Nagiosplug-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel > ::: Please include plugins version (-v) and OS when reporting any issue. > ::: Messages without supporting info will risk being sent to /dev/null > From jhmartin at toger.us Sun Mar 14 19:13:01 2004 From: jhmartin at toger.us (Jason Martin) Date: Sun Mar 14 19:13:01 2004 Subject: [Nagiosplug-devel] XML? In-Reply-To: References: Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 You'll have to be more explicit then that; what do you want this XML plugin to do? > Is there any who knows if there is any XML plugin for Nagios? - -Jason Martin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.3.5 (GNU/Linux) Comment: pgpenvelope 2.10.2 - http://pgpenvelope.sourceforge.net/ iD8DBQFAVR8Ol2ODWuqVSBMRAjNwAJ9BP+9M6y9rygWuqugvXUFIs/vdIwCcD5Oo dsbMrJVOcxeZS26Eg2gK/EA= =ep6X -----END PGP SIGNATURE----- From sa at ehu.by Thu Mar 18 09:02:24 2004 From: sa at ehu.by (Alexander Kulak) Date: Thu Mar 18 09:02:24 2004 Subject: [Nagiosplug-devel] patch for check_radius Message-ID: <40599DD3.2010201@ehu.by> Hello. A trivial patch against today CVS snapshot for making check_radius fill in NAS-Identifier attribute on request. It was necessary for emulating pam_radius behaviour, which sends PAM_SERVICE in this attribute. -- Alexander Kulak European Humanities University system administrator -------------- next part -------------- A non-text attachment was scrubbed... Name: check_radius__nasid.diff Type: text/x-patch Size: 1801 bytes Desc: not available URL: From howard at cohtech.com Thu Mar 18 09:02:26 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Thu Mar 18 09:02:26 2004 Subject: [Nagiosplug-devel] Access to CVS as a developer Message-ID: <40598D98.1060903@cohtech.com> I would like to get access to the CVS store as a developer. I have a large number of patches to the currently existing plugins and some additional plugins that I would like to see included in future distributions. These include: * A largely rewritten check_tcp.c that allows send expect dialogues to be added to the existing facilities. This now uses a data driven structure for the send-expect-quit sequence and allows multiple handshake conservations with services, giving the ability to check a complete dialogue as valid where required. * A perl version of check_dns, which uses the Net::DNS library and supports retrieving records of all mainstream DNS types. It also supports the ability to compare the returned result with an expected result and report a critical failure if they do not match. The matching rules are generous and allow matching on exact strings, prefixes, suffixes, substrings, as well as oneof selection where multiple results are returned. I am working no a structured checking facility that will allow checking of the dns records in much more detail and will try to add any missing record types in the near future - this requires extension to the Net::DNS library as well as some more extensive checking code. * A modified check_apc_ups, that has been tidied up at the Perl level and had the SNMP probes converted to the bulkget using the Net::SNMP library within Perl. * Minor spelling and functional fixes to (in no particular order) check_ldap.c, check_snmp.c, negate.c, netutils.c, urlize.c, check_breeze.pl, check_ntp.pl, check_wave.pl, check_disk.c, check_http.c, check_linux_raid.pl, check_ups.c, check_nagios_db.pl, check_by_ssh.c, check_dig.c, check_disk_smb.pl, check_flexlm.pl, check_file_age.pl, check_ifoperstatus.pl, check_ifstatus.pl, check_log.sh, check_mrtg.c, check_mrtgtraf.c, check_nt.c, check_nwstat.c, check_oracle_instance.pl, check_overcr.c, check_pgsql.c, check_ping.c, check_procs.c, check_real.c, check_rpc.pl, check_smtp.c, check_swap.c, check_time.c, check_udp.c, check_game.c, check_radius.c. * Changes to the configure script to include the contrib directory in the make tree, with Makefiles for the contrib directory to include settings up the bulk of the contrib plugins. * Additional plugin for checking whether a nagios environment is 'active', This supports failover/redundancy facilities and has been written to cooperate with extensions being developed for the NagMin environment to support configuration and operation of a distributed redundant monitoring framework. I also have further plugins in development using SNMP probes into network devices (routers and switches) and host based environments such as Linux SNMP and Windows 200x environments. As I am making a large number of changes, that I would like to see distributed in the main stream, if only to save me time in integrating changes when new releases are made, I think it would make sens to let me have access to the CVS tree. If not I can submit all of these changes as patches as this is how I currently hold them in the RPM environment - applied to the 1.4.0-alpha1 release. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sghosh at sghosh.org Thu Mar 18 09:17:32 2004 From: sghosh at sghosh.org (Subhendu Ghosh) Date: Thu Mar 18 09:17:32 2004 Subject: [Nagiosplug-devel] Update for check_disk In-Reply-To: Message-ID: Could you post the plugin on sourceforge? One of the issues with syscalls is making sure it works on all the platforms... On Sun, 14 Mar 2004 guenther.mair at datef.it wrote: > > Hi, > > I've seen that many of your current plugins (1.3.1) are using fork's and > pipes instead of syscall's for doing a few quite simple things. > > What would you think about the attached plugin (check_disk using > statfs-syscall)? > > Cheers, > > > > G?nther > > (See attached file: check_disk.syscall.tar.gz) > > G?nther Mair > Internet Engineer > > DATEF AG > Negrellistrasse 13/B > 39100 Bozen (BZ) > Tel.: +39 0471 066500 > Fax: +39 0471 066501 > Email: guenther.mair at datef.it > Web: http://www.datef.it > -- -------------- next part -------------- A non-text attachment was scrubbed... Name: check_disk.syscall.tar.gz Type: application/octet-stream Size: 18954 bytes Desc: URL: From sghosh at sghosh.org Thu Mar 18 09:21:29 2004 From: sghosh at sghosh.org (Subhendu Ghosh) Date: Thu Mar 18 09:21:29 2004 Subject: [Nagiosplug-devel] 1.4.0alpha1 In-Reply-To: <263A1F717ECDED40AA969F98D1CF122E01A4F39A@penxng.smca.yahoo.com> Message-ID: I think Karl's comment was the april/may timeframe for a stable release. A few folks are running cvs in prod ... On Fri, 12 Mar 2004, Viner, David wrote: > what's the timeframe for moving it from alpha to beta and/or stable? is > there a checklist or a list of bugs that need fixing in order to declare it > beta/stable? > > dave > > -----Original Message----- > From: Subhendu Ghosh [mailto:sghosh at sghosh.org] > Sent: Thursday, March 11, 2004 5:31 PM > To: Viner, David > Cc: nagiosplug-devel at lists.sourceforge.net > Subject: Re: [Nagiosplug-devel] 1.4.0alpha1 > > > On Thu, 11 Mar 2004, Viner, David wrote: > > > Is the 1.4.0 package truly alpha? it was published on Nov. 29, 2003. > Should > > it still be considered alpha? > > > > yes - it introduced IPv6 support for some plugins and a bunch of changes. > > -- From noreply at sourceforge.net Thu Mar 18 10:55:06 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Thu Mar 18 10:55:06 2004 Subject: [Nagiosplug-devel] [ nagiosplug-New Plugins-918973 ] Windows EventLog monitor Message-ID: New Plugins item #918973, was opened at 2004-03-18 13:54 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=541465&aid=918973&group_id=29880 Category: Perl plugin Group: None Status: Open Resolution: None Priority: 5 Submitted By: Subhendu Ghosh (sghosh) Assigned to: Nobody/Anonymous (nobody) Summary: Windows EventLog monitor Initial Comment: This a Win32 specific plugin designed to run under NRPE_NT or similar agents. It requires win32 perl (tested under Activestate Perl 5.8). Requires utils.pm to be present. The plugin queries local or remote server for entries in a specified Event Log within a recent past (specified as the number of backtrack second). You can perform regex matches on Source/EventType/EventID or the log message itself. Optionally you can force a CRITICAL if any matches succeed. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=541465&aid=918973&group_id=29880 From tonvoon at mac.com Thu Mar 18 12:22:01 2004 From: tonvoon at mac.com (Ton Voon) Date: Thu Mar 18 12:22:01 2004 Subject: [Nagiosplug-devel] Update for check_disk In-Reply-To: References: Message-ID: G?nther, Isn't this already done in r1.4alpha? We have used the libraries in GNU coreutils to get disk information instead of the df command. Ton On 18 Mar, 2004, at 17:15, Subhendu Ghosh wrote: > Could you post the plugin on sourceforge? > > One of the issues with syscalls is making sure it works on all the > platforms... > > > On Sun, 14 Mar 2004 guenther.mair at datef.it wrote: > >> >> Hi, >> >> I've seen that many of your current plugins (1.3.1) are using fork's >> and >> pipes instead of syscall's for doing a few quite simple things. >> >> What would you think about the attached plugin (check_disk using >> statfs-syscall)? >> >> Cheers, >> >> >> >> G?nther >> >> (See attached file: check_disk.syscall.tar.gz) >> >> G?nther Mair >> Internet Engineer >> >> DATEF AG >> Negrellistrasse 13/B >> 39100 Bozen (BZ) >> Tel.: +39 0471 066500 >> Fax: +39 0471 066501 >> Email: guenther.mair at datef.it >> Web: http://www.datef.it >> > > -- > > From tonvoon at mac.com Thu Mar 18 12:43:21 2004 From: tonvoon at mac.com (Ton Voon) Date: Thu Mar 18 12:43:21 2004 Subject: [Nagiosplug-devel] patch for check_radius In-Reply-To: <40599DD3.2010201@ehu.by> References: <40599DD3.2010201@ehu.by> Message-ID: Alexander, Thanks for the patch. I have applied to check_raidus.c v1.10. I don't have a radius device to check against - please can you verify from the CVS snapshot. Ton On 18 Mar, 2004, at 13:02, Alexander Kulak wrote: > Hello. > > > A trivial patch against today CVS snapshot > for making check_radius fill in NAS-Identifier attribute on request. > It was necessary for emulating pam_radius behaviour, which sends > PAM_SERVICE in this attribute. > > > -- > Alexander Kulak > European Humanities University > system administrator > > --- check_radius.c.orig 2004-03-18 13:43:18.000000000 +0200 > +++ check_radius.c 2004-03-18 14:28:44.000000000 +0200 > @@ -34,4 +34,5 @@ > char *username = NULL; > char *password = NULL; > +char *nasid = NULL; > char *expect = NULL; > char *config_file = NULL; > @@ -120,5 +121,6 @@ > if (!(rc_avpair_add (&data.send_pairs, PW_SERVICE_TYPE, &service, 0) > && > rc_avpair_add (&data.send_pairs, PW_USER_NAME, username, 0) && > - rc_avpair_add (&data.send_pairs, PW_USER_PASSWORD, password, 0))) > + rc_avpair_add (&data.send_pairs, PW_USER_PASSWORD, password, 0) && > + (nasid==NULL || rc_avpair_add (&data.send_pairs, > PW_NAS_IDENTIFIER, nasid, 0)))) > die (STATE_UNKNOWN, _("Out of Memory?")); > > @@ -168,4 +170,5 @@ > {"username", required_argument, 0, 'u'}, > {"password", required_argument, 0, 'p'}, > + {"nas-id", required_argument, 0, 'n'}, > {"filename", required_argument, 0, 'F'}, > {"expect", required_argument, 0, 'e'}, > @@ -203,5 +206,5 @@ > > while (1) { > - c = getopt_long (argc, argv, "+hVvH:P:F:u:p:t:r:e:", longopts, > + c = getopt_long (argc, argv, "+hVvH:P:F:u:p:n:t:r:e:", longopts, > &option); > > @@ -243,4 +246,7 @@ > password = optarg; > break; > + case 'n': /* nas id */ > + nasid = optarg; > + break; > case 'F': /* configuration file */ > config_file = optarg; > @@ -295,4 +301,6 @@ > -p, --password=STRING\n\ > Password for autentication (SECURITY RISK)\n\ > + -n, --nas-id=STRING\n\ > + NAS identifier\n\ > -F, --filename=STRING\n\ > Configuration file\n\ > @@ -329,5 +337,5 @@ > { > printf ("\ > -Usage: %s -H host -F config_file -u username -p password [-P port]\n\ > +Usage: %s -H host -F config_file -u username -p password [-n nas-id] > [-P port]\n\ > [-t timeout] [-r retries] [-e expect]\n", progname); > printf (_(UT_HLP_VRS), progname, progname); From noreply at sourceforge.net Thu Mar 18 12:52:14 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Thu Mar 18 12:52:14 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Bugs-912974 ] check_mysql compile does not use MYSQLINCLUDE Message-ID: Bugs item #912974, was opened at 2004-03-09 19:43 Message generated for change (Comment added) made by tonvoon You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=912974&group_id=29880 Category: Argument proccessing Group: Release (specify) >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Arnold Cavazos, Jr. (abcjr) >Assigned to: Ton Voon (tonvoon) Summary: check_mysql compile does not use MYSQLINCLUDE Initial Comment: In both 1.3.1 and 1.4.0alpha1 specifying --with-mysql= sets MYSQLINCLUDE = properly, but MSQLINCLUDE does not get added to the final include path. This causes the check_mysql plugin to fail compiling. This can be fixed by modifying line 254 of nagios-plugins,1.4.0alpha1/configure.in to: -CPPFLAGS="$_SAVEDCPPFLAGS" +CPPFLAGS="$_SAVEDCPPFLAGS $MYSQLINCLUDE" This can be fixed by modifying line 220 of nagios-plugins-1.3.1/configure.in to: -CPPFLAGS="$_SAVEDCPPFLAGS" +CPPFLAGS="$_SAVEDCPPFLAGS $MYSQLINCLUDE" ---------------------------------------------------------------------- >Comment By: Ton Voon (tonvoon) Date: 2004-03-18 20:51 Message: Logged In: YES user_id=664364 Arnold, Thanks for the patch. The changes are in configure.in v1.106 for r1.4 and v1.47.2.9 for r1.3.1. Ton ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397597&aid=912974&group_id=29880 From noreply at sourceforge.net Thu Mar 18 13:01:07 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Thu Mar 18 13:01:07 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-909281 ] tiny typo in check_disk Message-ID: Patches item #909281, was opened at 2004-03-03 19:25 Message generated for change (Settings changed) made by tonvoon You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=909281&group_id=29880 Category: Bugfix Group: None >Status: Closed >Resolution: Fixed >Priority: 2 Submitted By: Matthew Kent (mattkent) >Assigned to: Ton Voon (tonvoon) Summary: tiny typo in check_disk Initial Comment: -m option gives kB unit instead of MB ---------------------------------------------------------------------- >Comment By: Ton Voon (tonvoon) Date: 2004-03-18 21:00 Message: Logged In: YES user_id=664364 Matthew, Thanks for the report. Applied to check_disk v1.42 Ton ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=909281&group_id=29880 From karl at debisschop.net Thu Mar 18 19:25:01 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Thu Mar 18 19:25:01 2004 Subject: [Nagiosplug-devel] Access to CVS as a developer In-Reply-To: <40598D98.1060903@cohtech.com> References: <40598D98.1060903@cohtech.com> Message-ID: <20040318222344.506c8df0.karl@debisschop.net> On Thu, 18 Mar 2004 11:52:56 +0000 Howard Wilkinson wrote: > I would like to get access to the CVS store as a developer. To get access, you submit patches one-by-one and develop neme recognition and trust from the devlopers (It's not that hard, we're not all that critical, but there has to some process, right). Declaring your intent as you have done is a good start. > I have a > large number of patches to the currently existing plugins and some > additional plugins that I would like to see included in future > distributions. These include: > > * A largely rewritten check_tcp.c that allows send expect > dialogues > to be added to the existing facilities. This now uses a data > driven structure for the send-expect-quit sequence and allows > multiple handshake conservations with services, giving the > ability to check a complete dialogue as valid where required. I made a few changes to support a limited dialog recently. I'm interested to see where you're headed. > * A perl version of check_dns, which uses the Net::DNS library and > supports retrieving records of all mainstream DNS types. It also > supports the ability to compare the returned result with an > expected result and report a critical failure if they do not > match. The matching rules are generous and allow matching on > exact strings, prefixes, suffixes, substrings, as well as oneof > selection where multiple results are returned. I am working no a > structured checking facility that will allow checking of the dns > records in much more detail and will try to add any missing > record types in the near future - this requires extension to the > Net::DNS library as well as some more extensive checking code. > * A modified check_apc_ups, that has been tidied up at the Perl > level and had the SNMP probes converted to the bulkget using the > Net::SNMP library within Perl. > * Minor spelling and functional fixes to (in no particular order) > check_ldap.c, check_snmp.c, negate.c, netutils.c, urlize.c, > check_breeze.pl, check_ntp.pl, check_wave.pl, check_disk.c, > check_http.c, check_linux_raid.pl, check_ups.c, > check_nagios_db.pl, check_by_ssh.c, check_dig.c, > check_disk_smb.pl, check_flexlm.pl, check_file_age.pl, > check_ifoperstatus.pl, check_ifstatus.pl, check_log.sh, > check_mrtg.c, check_mrtgtraf.c, check_nt.c, check_nwstat.c, > check_oracle_instance.pl, check_overcr.c, check_pgsql.c, > check_ping.c, check_procs.c, check_real.c, check_rpc.pl, > check_smtp.c, check_swap.c, check_time.c, check_udp.c, > check_game.c, check_radius.c. All the above bullets are of interest. Best to submit one patch per plugin, however. We have to review them, and we're pretty limited on time. Small bits are easier to digest. > * Changes to the configure script to include the contrib directory > in the make tree, with Makefiles for the contrib directory to > include settings up the bulk of the contrib plugins. I doubt this will ever be accepted. Contrib means 'unreviewd' and we have no intention of changing thta meaning. What we want to do, in fact the major goal for development after 1.4.0 is released is to move plugins from conrib to core. > * Additional plugin for checking whether a nagios environment is > 'active', This supports failover/redundancy facilities and has > been written to cooperate with extensions being developed for > the NagMin environment to support configuration and operation of > a distributed redundant monitoring framework. Also of interest. > I also have further plugins in development using SNMP probes into > network devices (routers and switches) and host based environments > such as Linux SNMP and Windows 200x environments. Cool - a caution, however. We tend to like mutilpupose plugin more than single purpose ones. So we have a single check_snmp, rather than separate check_snmp_disk, check_snmp_memory, check_snmp_cpu, etc. The finer-grained stuff is best handled as a command defintion using a generic plugin. We distribute command.cfg to implement those sorts of detailed checks. Command.cfg could be imporved substantially, but using it in preference to separate plugins reduces the amount of duplicated coding. That's just by word of caution, however, as I can't know exactly what you have implemented from your descriptions. > As I am making a large number of changes, that I would like to see > distributed in the main stream, if only to save me time in integrating > changes when new releases are made, I think it would make sens to let > me have access to the CVS tree. Self-benefit is a good motivator - that's fine. You should also spend some time watching and contibuting to discussions among the devlopers - myself, Ton Voon, Subhendu Ghosh, Stanley Hopcraft, Jeremy Bouse, and Ethan of course. We do almost all of our policy discussions in clear public view, and that way we can be sure we're all headed in the same direction should you decide you want to become a developer. > If not I can submit all of these changes as patches as this is how I > currently hold them in the RPM environment - applied to the > 1.4.0-alpha1 release. Patches should be against CVS head - as a deleoper, that is what you work against and patch against. So start now, if that is your goal. Hope that helps. -- Karl From jeremy+nagios at undergrid.net Thu Mar 18 22:14:30 2004 From: jeremy+nagios at undergrid.net (Jeremy T. Bouse) Date: Thu Mar 18 22:14:30 2004 Subject: [Nagiosplug-devel] Access to CVS as a developer In-Reply-To: <40598D98.1060903@cohtech.com> References: <40598D98.1060903@cohtech.com> Message-ID: <20040319050527.GA22278@UnderGrid.net> On Thu, Mar 18, 2004 at 11:52:56AM +0000, Howard Wilkinson wrote: > I would like to get access to the CVS store as a developer. I have a > large number of patches to the currently existing plugins and some > additional plugins that I would like to see included in future > distributions. These include: > > * A largely rewritten check_tcp.c that allows send expect dialogues > to be added to the existing facilities. This now uses a data > driven structure for the send-expect-quit sequence and allows > multiple handshake conservations with services, giving the ability > to check a complete dialogue as valid where required. I'd be interested in looking at how you've gone about this as well in the interest of making sure that the AF-independent nature we were trying to move towards is properly maintained. This was a major update when it first occur'd so it's definately something that should be patched against CVS HEAD. > * A perl version of check_dns, which uses the Net::DNS library and > supports retrieving records of all mainstream DNS types. It also > supports the ability to compare the returned result with an > expected result and report a critical failure if they do not > match. The matching rules are generous and allow matching on exact > strings, prefixes, suffixes, substrings, as well as oneof > selection where multiple results are returned. I am working no a > structured checking facility that will allow checking of the dns > records in much more detail and will try to add any missing record > types in the near future - this requires extension to the Net::DNS > library as well as some more extensive checking code. I had been thinking a rewrite of the DNS related plugins was prolly in order, as well as many that call external shell scripts. Did you have any particular reasons for going with rewriting as a perl version rather than C? Just curious if there was any specific reason. Regards, Jeremy From noreply at sourceforge.net Fri Mar 19 01:38:06 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Fri Mar 19 01:38:06 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-836010 ] check_ldap bug fix Message-ID: Patches item #836010, was opened at 2003-11-04 20:18 Message generated for change (Settings changed) made by tonvoon You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=836010&group_id=29880 Category: Bugfix Group: None Status: Open Resolution: None Priority: 5 Submitted By: Howard Wilkinson (howardwilkinson) >Assigned to: Ton Voon (tonvoon) Summary: check_ldap bug fix Initial Comment: These patches were needed to make check_ldap work with the latest OpenLdap release on our system. I think they are general purpose but an alternative assessment would be useful! ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=836010&group_id=29880 From noreply at sourceforge.net Fri Mar 19 01:47:05 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Fri Mar 19 01:47:05 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-836008 ] Partial rewrite of check_dns Message-ID: Patches item #836008, was opened at 2003-11-04 20:16 Message generated for change (Comment added) made by tonvoon You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=836008&group_id=29880 Category: Enhancement Group: None Status: Open Resolution: None >Priority: 1 Submitted By: Howard Wilkinson (howardwilkinson) >Assigned to: Ton Voon (tonvoon) Summary: Partial rewrite of check_dns Initial Comment: This is a patch file that provides a partially complete rewrite of the check_dns plugin. The rewrite is a start of an implementation to use one of 4 technologies to implement the check_dns function. The complete option is to use nslookup as the technology to issue the underlying dns checks. Alternatives or the host command, the resolver library and use of the dig command are not complete. Note this runs with the nslookup supplied with Bind-9, your mileage may vary. When I get to it I hope to finish the other technologies and add a mechanism to work out which one to use on each system dynamically. ---------------------------------------------------------------------- >Comment By: Ton Voon (tonvoon) Date: 2004-03-19 09:46 Message: Logged In: YES user_id=664364 Howard, Thanks for the patch. Awais is working on a version of check_dns which uses the resolver libs - this is the preferred long term goal. I will keep this open if the resolver version does not work out. Ton ---------------------------------------------------------------------- Comment By: Karl DeBisschop (kdebisschop) Date: 2003-11-05 12:19 Message: Logged In: YES user_id=1671 We are interested in the direct use of the resolver libs. presently we have nslookup or host (I forget whcih, via the current check_dns) and dig (via check_dig). All of these things break over time as syntax changes. The direction that the core plugins want to go is direct ues of the libs, and we'd be glad to consider your rewrite when it is ready. Other efforts might go into contrib, but in the interest of making the core most usable, the library approach will ultimately be the one we use. Not to sound ungrateful, we just cannot accept the kitchen sink in core without making thigs too confusing. ---------------------------------------------------------------------- Comment By: Awais Ahmad (synked) Date: 2003-11-05 09:46 Message: Logged In: YES user_id=870209 The resolver libs are supported on all libc/glibc systems. Why not use those only? I'm nearly finished with a patch exculsively using the resolver libs. Since the name server libs (stuff like ns_init_parse and stuff to parse replies) are not globally available in libc/glibc, I've implemented my own reply parsing routines. The patch should be ready in a couple of weeks if I get time to work on it. Cheers Awais ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=836008&group_id=29880 From noreply at sourceforge.net Fri Mar 19 01:58:15 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Fri Mar 19 01:58:15 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-836010 ] check_ldap bug fix Message-ID: Patches item #836010, was opened at 2003-11-04 20:18 Message generated for change (Comment added) made by tonvoon You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=836010&group_id=29880 Category: Bugfix Group: None Status: Open Resolution: None Priority: 5 Submitted By: Howard Wilkinson (howardwilkinson) Assigned to: Ton Voon (tonvoon) Summary: check_ldap bug fix Initial Comment: These patches were needed to make check_ldap work with the latest OpenLdap release on our system. I think they are general purpose but an alternative assessment would be useful! ---------------------------------------------------------------------- >Comment By: Ton Voon (tonvoon) Date: 2004-03-19 09:57 Message: Logged In: YES user_id=664364 Howard, I'm not totally familiar with OpenLDAP. Your patch looks like it changes the ldap_open to ldap_init, but would this break other ldap implementations? I'm a bit worried about dropping the -D and -P parameters as this breaks any current syntax configuration. Would it be better to put an if statement around the initialization so that if the -D and -P are not passed, then call ldap_init, otherwise call ldap_open? Ton ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=836010&group_id=29880 From Ton.Voon at egg.com Fri Mar 19 03:33:02 2004 From: Ton.Voon at egg.com (Voon, Ton) Date: Fri Mar 19 03:33:02 2004 Subject: [Nagiosplug-devel] Access to CVS as a developer Message-ID: To be fair to Howard, he has raised 7 patches in SF. Subhendu has picked up 5 of these, of which he is waiting for a response for one of them. I've just picked up the other 2, but need info on the check_ldap one. As a team, we probably just need to be a bit more responsive to patches in general - I'm sure this is making Howard v frustrated! -----Original Message----- From: Karl DeBisschop [mailto:karl at debisschop.net] Sent: Friday, March 19, 2004 3:24 AM To: Howard Wilkinson Cc: nagiosplug-devel at lists.sourceforge.net Subject: Re: [Nagiosplug-devel] Access to CVS as a developer On Thu, 18 Mar 2004 11:52:56 +0000 Howard Wilkinson wrote: > I would like to get access to the CVS store as a developer. To get access, you submit patches one-by-one and develop neme recognition and trust from the devlopers (It's not that hard, we're not all that critical, but there has to some process, right). Declaring your intent as you have done is a good start. > I have a > large number of patches to the currently existing plugins and some > additional plugins that I would like to see included in future > distributions. These include: > > * A largely rewritten check_tcp.c that allows send expect > dialogues > to be added to the existing facilities. This now uses a data > driven structure for the send-expect-quit sequence and allows > multiple handshake conservations with services, giving the > ability to check a complete dialogue as valid where required. I made a few changes to support a limited dialog recently. I'm interested to see where you're headed. > * A perl version of check_dns, which uses the Net::DNS library and > supports retrieving records of all mainstream DNS types. It also > supports the ability to compare the returned result with an > expected result and report a critical failure if they do not > match. The matching rules are generous and allow matching on > exact strings, prefixes, suffixes, substrings, as well as oneof > selection where multiple results are returned. I am working no a > structured checking facility that will allow checking of the dns > records in much more detail and will try to add any missing > record types in the near future - this requires extension to the > Net::DNS library as well as some more extensive checking code. > * A modified check_apc_ups, that has been tidied up at the Perl > level and had the SNMP probes converted to the bulkget using the > Net::SNMP library within Perl. > * Minor spelling and functional fixes to (in no particular order) > check_ldap.c, check_snmp.c, negate.c, netutils.c, urlize.c, > check_breeze.pl, check_ntp.pl, check_wave.pl, check_disk.c, > check_http.c, check_linux_raid.pl, check_ups.c, > check_nagios_db.pl, check_by_ssh.c, check_dig.c, > check_disk_smb.pl, check_flexlm.pl, check_file_age.pl, > check_ifoperstatus.pl, check_ifstatus.pl, check_log.sh, > check_mrtg.c, check_mrtgtraf.c, check_nt.c, check_nwstat.c, > check_oracle_instance.pl, check_overcr.c, check_pgsql.c, > check_ping.c, check_procs.c, check_real.c, check_rpc.pl, > check_smtp.c, check_swap.c, check_time.c, check_udp.c, > check_game.c, check_radius.c. All the above bullets are of interest. Best to submit one patch per plugin, however. We have to review them, and we're pretty limited on time. Small bits are easier to digest. > * Changes to the configure script to include the contrib directory > in the make tree, with Makefiles for the contrib directory to > include settings up the bulk of the contrib plugins. I doubt this will ever be accepted. Contrib means 'unreviewd' and we have no intention of changing thta meaning. What we want to do, in fact the major goal for development after 1.4.0 is released is to move plugins from conrib to core. > * Additional plugin for checking whether a nagios environment is > 'active', This supports failover/redundancy facilities and has > been written to cooperate with extensions being developed for > the NagMin environment to support configuration and operation of > a distributed redundant monitoring framework. Also of interest. > I also have further plugins in development using SNMP probes into > network devices (routers and switches) and host based environments > such as Linux SNMP and Windows 200x environments. Cool - a caution, however. We tend to like mutilpupose plugin more than single purpose ones. So we have a single check_snmp, rather than separate check_snmp_disk, check_snmp_memory, check_snmp_cpu, etc. The finer-grained stuff is best handled as a command defintion using a generic plugin. We distribute command.cfg to implement those sorts of detailed checks. Command.cfg could be imporved substantially, but using it in preference to separate plugins reduces the amount of duplicated coding. That's just by word of caution, however, as I can't know exactly what you have implemented from your descriptions. > As I am making a large number of changes, that I would like to see > distributed in the main stream, if only to save me time in integrating > changes when new releases are made, I think it would make sens to let > me have access to the CVS tree. Self-benefit is a good motivator - that's fine. You should also spend some time watching and contibuting to discussions among the devlopers - myself, Ton Voon, Subhendu Ghosh, Stanley Hopcraft, Jeremy Bouse, and Ethan of course. We do almost all of our policy discussions in clear public view, and that way we can be sure we're all headed in the same direction should you decide you want to become a developer. > If not I can submit all of these changes as patches as this is how I > currently hold them in the RPM environment - applied to the > 1.4.0-alpha1 release. Patches should be against CVS head - as a deleoper, that is what you work against and patch against. So start now, if that is your goal. Hope that helps. -- Karl ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Nagiosplug-devel mailing list Nagiosplug-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel ::: Please include plugins version (-v) and OS when reporting any issue. ::: Messages without supporting info will risk being sent to /dev/null This private and confidential e-mail has been sent to you by Egg. The Egg group of companies includes Egg Banking plc (registered no. 2999842), Egg Financial Products Ltd (registered no. 3319027) and Egg Investments Ltd (registered no. 3403963) which is authorised and regulated by the Financial Services Authority. Egg Investments Ltd. is entered in the FSA register under number 190518. Registered in England and Wales. Registered offices: 1 Waterhouse Square, 138-142 Holborn, London EC1N 2NA. If you are not the intended recipient of this e-mail and have received it in error, please notify the sender by replying with 'received in error' as the subject and then delete it from your mailbox. From howard at cohtech.com Fri Mar 19 05:05:13 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Fri Mar 19 05:05:13 2004 Subject: [Nagiosplug-devel] Access to CVS as a developer In-Reply-To: References: Message-ID: <405AEF39.6090904@cohtech.com> Ton, I am not frustrated at the delay but worried that I may move off in a direction that does not get integrated easily. I have this morning picked up the CVS head and now working on integrating my patches into this. A piece of advice would be useful however, I am looking to automate an interface to NagMin to allow intelligent access to plugins and commands. So that help and defaults can be automatically generated. I have made a start with this and have an interface that allows the registration of a plugins with the NagMin database. I now want to add a learning facility to this interface and have started to patch ALL of the plugins to support this. My first pass is to remove the line feeds and extraneous spaces from the print_usage output. I am now reconsidering this - although it probably is the easiest first step it does mean the human interface is not as good as is was. So I am moving to provide an XML output probably tied to a --usage flag (-U for short?) and leaving the print_usage alone. So advice - is this more palatable! What flag(s) would you suggest I use, can I add an XML library requirement to the plugins - if so what base libraries would people like to see me use, this needs to work for `C', Perl, Python, PHP and SHell which is a tall order but I will try to make it happen. My inclination was to expand the interface to print_usage to allow a specification of what type of output to product, then encode the output in structures which are walked to produce the usage in whatever form is needed. Advantage only one definition of the data. Disadvantage plugin writers will need to cope with providing structural data rather than simple string output. I will write the structure walking code and put it in the utils packages and change all of the existing plugins (including the contrib ones) to use this if it is acceptable. The alternative is to provide a parallel system with these attributes and allow the current interface to remain. Big disadvantage is that this will mean supporting multiple copies of the information about the plugin help data. On the subject of the check_ldap plugins, I take your comments and will relook at my approach. However, I think (dim memories here) that the open interface is deprecated in the LDAP access path - will check. I missed the request for more information from Subhendu and have just recovered it from my Email. Assuming I have the correct one about check_ntp, will respond now. Regards, Howard. Voon, Ton wrote: >To be fair to Howard, he has raised 7 patches in SF. Subhendu has picked up >5 of these, of which he is waiting for a response for one of them. I've just >picked up the other 2, but need info on the check_ldap one. > >As a team, we probably just need to be a bit more responsive to patches in >general - I'm sure this is making Howard v frustrated! > >-----Original Message----- >From: Karl DeBisschop [mailto:karl at debisschop.net] >Sent: Friday, March 19, 2004 3:24 AM >To: Howard Wilkinson >Cc: nagiosplug-devel at lists.sourceforge.net >Subject: Re: [Nagiosplug-devel] Access to CVS as a developer > > >On Thu, 18 Mar 2004 11:52:56 +0000 >Howard Wilkinson wrote: > > > >>I would like to get access to the CVS store as a developer. >> >> > >To get access, you submit patches one-by-one and develop neme >recognition and trust from the devlopers (It's not that hard, we're >not all that critical, but there has to some process, right). Declaring >your intent as you have done is a good start. > > > >>I have a >>large number of patches to the currently existing plugins and some >>additional plugins that I would like to see included in future >>distributions. These include: >> >> * A largely rewritten check_tcp.c that allows send expect >> dialogues >> to be added to the existing facilities. This now uses a data >> driven structure for the send-expect-quit sequence and allows >> multiple handshake conservations with services, giving the >> ability to check a complete dialogue as valid where required. >> >> > >I made a few changes to support a limited dialog recently. I'm >interested to see where you're headed. > > > >> * A perl version of check_dns, which uses the Net::DNS library and >> supports retrieving records of all mainstream DNS types. It also >> supports the ability to compare the returned result with an >> expected result and report a critical failure if they do not >> match. The matching rules are generous and allow matching on >> exact strings, prefixes, suffixes, substrings, as well as oneof >> selection where multiple results are returned. I am working no a >> structured checking facility that will allow checking of the dns >> records in much more detail and will try to add any missing >> record types in the near future - this requires extension to the >> Net::DNS library as well as some more extensive checking code. >> * A modified check_apc_ups, that has been tidied up at the Perl >> level and had the SNMP probes converted to the bulkget using the >> Net::SNMP library within Perl. >> * Minor spelling and functional fixes to (in no particular order) >> check_ldap.c, check_snmp.c, negate.c, netutils.c, urlize.c, >> check_breeze.pl, check_ntp.pl, check_wave.pl, check_disk.c, >> check_http.c, check_linux_raid.pl, check_ups.c, >> check_nagios_db.pl, check_by_ssh.c, check_dig.c, >> check_disk_smb.pl, check_flexlm.pl, check_file_age.pl, >> check_ifoperstatus.pl, check_ifstatus.pl, check_log.sh, >> check_mrtg.c, check_mrtgtraf.c, check_nt.c, check_nwstat.c, >> check_oracle_instance.pl, check_overcr.c, check_pgsql.c, >> check_ping.c, check_procs.c, check_real.c, check_rpc.pl, >> check_smtp.c, check_swap.c, check_time.c, check_udp.c, >> check_game.c, check_radius.c. >> >> > >All the above bullets are of interest. Best to submit one patch per >plugin, however. We have to review them, and we're pretty limited on >time. Small bits are easier to digest. > > > >> * Changes to the configure script to include the contrib directory >> in the make tree, with Makefiles for the contrib directory to >> include settings up the bulk of the contrib plugins. >> >> > >I doubt this will ever be accepted. Contrib means 'unreviewd' and we >have no intention of changing thta meaning. What we want to do, in fact >the major goal for development after 1.4.0 is released is to move >plugins from conrib to core. > > > >> * Additional plugin for checking whether a nagios environment is >> 'active', This supports failover/redundancy facilities and has >> been written to cooperate with extensions being developed for >> the NagMin environment to support configuration and operation of >> a distributed redundant monitoring framework. >> >> > >Also of interest. > > > >>I also have further plugins in development using SNMP probes into >>network devices (routers and switches) and host based environments >>such as Linux SNMP and Windows 200x environments. >> >> > >Cool - a caution, however. We tend to like mutilpupose plugin more than >single purpose ones. So we have a single check_snmp, rather than >separate check_snmp_disk, check_snmp_memory, check_snmp_cpu, etc. The >finer-grained stuff is best handled as a command defintion using a >generic plugin. We distribute command.cfg to implement those sorts of >detailed checks. Command.cfg could be imporved substantially, but using >it in preference to separate plugins reduces the amount of duplicated >coding. That's just by word of caution, however, as I can't know >exactly what you have implemented from your descriptions. > > > >>As I am making a large number of changes, that I would like to see >>distributed in the main stream, if only to save me time in integrating >>changes when new releases are made, I think it would make sens to let >>me have access to the CVS tree. >> >> > >Self-benefit is a good motivator - that's fine. You should also spend >some time watching and contibuting to discussions among the devlopers - >myself, Ton Voon, Subhendu Ghosh, Stanley Hopcraft, Jeremy Bouse, and >Ethan of course. We do almost all of our policy discussions in clear >public view, and that way we can be sure we're all headed in the same >direction should you decide you want to become a developer. > > > >>If not I can submit all of these changes as patches as this is how I >>currently hold them in the RPM environment - applied to the >>1.4.0-alpha1 release. >> >> > >Patches should be against CVS head - as a deleoper, that is what you >work against and patch against. So start now, if that is your goal. > >Hope that helps. > >-- >Karl > > >------------------------------------------------------- >This SF.Net email is sponsored by: IBM Linux Tutorials >Free Linux tutorial presented by Daniel Robbins, President and CEO of >GenToo technologies. Learn everything from fundamentals to system >administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click >_______________________________________________ >Nagiosplug-devel mailing list >Nagiosplug-devel at lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel >::: Please include plugins version (-v) and OS when reporting any issue. >::: Messages without supporting info will risk being sent to /dev/null > > >This private and confidential e-mail has been sent to you by Egg. >The Egg group of companies includes Egg Banking plc >(registered no. 2999842), Egg Financial Products Ltd (registered >no. 3319027) and Egg Investments Ltd (registered no. 3403963) which >is authorised and regulated by the Financial Services Authority. Egg >Investments Ltd. is entered in the FSA register under number 190518. > >Registered in England and Wales. Registered offices: 1 Waterhouse >Square, 138-142 Holborn, London EC1N 2NA. > >If you are not the intended recipient of this e-mail and have received >it in error, please notify the sender by replying with 'received in >error' as the subject and then delete it from your mailbox. > > > -- Howard Wilkinson Phone: +44(20)7690 7075 Coherent Technology Limited Fax: +44(20)79230110 33 Belgrade Road, Stoke Newington, Mobile: +44(7980)639379 London, United Kingdom, N16 8DH Email: howard at cohtech.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at sourceforge.net Fri Mar 19 05:11:35 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Fri Mar 19 05:11:35 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-836014 ] Bug fix for check_ntp Message-ID: Patches item #836014, was opened at 2003-11-04 20:20 Message generated for change (Comment added) made by howardwilkinson You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=836014&group_id=29880 Category: Bugfix Group: None Status: Open Resolution: None Priority: 5 Submitted By: Howard Wilkinson (howardwilkinson) Assigned to: Subhendu Ghosh (sghosh) Summary: Bug fix for check_ntp Initial Comment: This fixes check_ntp to run with the latest ntpq output! ---------------------------------------------------------------------- >Comment By: Howard Wilkinson (howardwilkinson) Date: 2004-03-19 13:09 Message: Logged In: YES user_id=655834 I am unsure what you mean by ePN! But the BEGIN block has been necessary on most of my installations and provides the means to support access to the utils.pm drop in. The addition of the m into the pattern is designed to cope with clocks that have drifted dramatically. We currently do not have an example of this we can confirm the situation on. But the latest releases of NTPQ will convert seconds to minutes in these fields. Sorry about the delay in replying but I missed the original message. ---------------------------------------------------------------------- Comment By: Subhendu Ghosh (sghosh) Date: 2003-11-06 04:35 Message: Logged In: YES user_id=46572 Sorry - the BEGIN block will not work with ePN The only other relevant diff seems to be the addition of "m" in the regex to match sys.peer or pps.peer. Can you elaborate on the circumstances that causes this? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=836014&group_id=29880 From karl at debisschop.net Fri Mar 19 16:58:04 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Fri Mar 19 16:58:04 2004 Subject: [Nagiosplug-devel] Access to CVS as a developer In-Reply-To: References: Message-ID: <20040319195732.6360a82d.karl@debisschop.net> On Fri, 19 Mar 2004 09:59:44 -0000 "Voon, Ton" wrote: > To be fair to Howard, he has raised 7 patches in SF. Subhendu has > picked up 5 of these, of which he is waiting for a response for one of > them. I've just picked up the other 2, but need info on the check_ldap > one. If I sounded harsh or unfair, my apologies. For me, the big thing was for him to espress interest. Now I know to keep my eye out for his posts. > As a team, we probably just need to be a bit more responsive to > patches in general - I'm sure this is making Howard v frustrated! Me too! I'd love to get another developer on board. -- Karl From karl at debisschop.net Fri Mar 19 17:04:28 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Fri Mar 19 17:04:28 2004 Subject: [Nagiosplug-devel] Access to CVS as a developer In-Reply-To: <405AEF39.6090904@cohtech.com> References: <405AEF39.6090904@cohtech.com> Message-ID: <20040319200240.5946ac26.karl@debisschop.net> On Fri, 19 Mar 2004 13:01:45 +0000 Howard Wilkinson wrote: > Ton, > > I am not frustrated at the delay but worried that I may move off in a > direction that does not get integrated easily. I have this morning > picked up the CVS head and now working on integrating my patches into > this. > > A piece of advice would be useful however, > > I am looking to automate an interface to NagMin to allow intelligent > access to plugins and commands. So that help and defaults can be > automatically generated. I have made a start with this and have an > interface that allows the registration of a plugins with the NagMin > database. I now want to add a learning facility to this interface and > have started to patch ALL of the plugins to support this. My first > pass is to remove the line feeds and extraneous spaces from the > print_usage output. I am now reconsidering this - although it probably > is the easiest first step it does mean the human interface is not as > good as is was. > > So I am moving to provide an XML output probably tied to a --usage > flag (-U for short?) and leaving the print_usage alone. So advice - is > this more palatable! What flag(s) would you suggest I use, can I add > an XML library requirement to the plugins - if so what base libraries > would people like to see me use, this needs to work for `C', Perl, > Python, PHP and SHell which is a tall order but I will try to make it > happen. > > My inclination was to expand the interface to print_usage to allow a > specification of what type of output to product, then encode the > output in structures which are walked to produce the usage in whatever > form is needed. Advantage only one definition of the data. > Disadvantage plugin writers will need to cope with providing > structural data rather than simple string output. I will write the > structure walking code and put it in the utils packages and change all > of the existing plugins (including the contrib ones) to use this if it > is acceptable. The alternative is to provide a parallel system with > these attributes and allow the current interface to remain. Big > disadvantage is that this will mean supporting multiple copies of the > information about the plugin help data. Actually, a pet project of mine is to make the plugins with embedded docs -- sort of like perldoc on steroids. I really don't want to put the overhead of xmlish plus plain text into the compile plugins. But it could be done an xml-output from an embedded doc style. I had started on this, but had to take a step back to do i18n work. But I'd love to move it forward again. -- Karl From secabeen at pobox.com Fri Mar 19 22:19:01 2004 From: secabeen at pobox.com (Ted Cabeen) Date: Fri Mar 19 22:19:01 2004 Subject: [Nagiosplug-devel] Nagios plugin for monitoring number of messages in an asterisk mailbox Message-ID: <87d678tn1b.fsf@gray.impulse.net> For any of you who want it, here's a nagios plugin that allows you to monitor the number of unread messages in an asterisk mailbox through the monitor interface. Thanks to the authors of check_breeze (Jeffrey Blank & Karl DeBisschop) for a nice perl plugin that I could modify to my needs. #! /usr/bin/perl -w # ------------------------------------------------------------------------ # # check_asterisk_vm -- A program to check the number of unread # messages in an asterisk voicemail mailbox # # Copyright 2000-2004 Jeffrey Blank/Karl DeBisschop & Ted Cabeen # All Rights Reserved # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, # USA; either version 2 of the License, or (at your option) any later # version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # ----------------------------------------------------------------------- use strict; use Getopt::Long; use IO::Socket; use vars qw($opt_V $opt_h $opt_H $opt_w $opt_c $opt_u $opt_p $opt_m $PROGNAME); use lib "/usr/local/nagios/libexec" ; use utils qw(%ERRORS &print_revision &support &usage); $PROGNAME = "check_asterisk_vm"; my $port = 5038; my $EOL = "\015\012"; my $BLANK = $EOL x 2; my $context = "default"; sub print_help (); sub print_usage (); $ENV{'PATH'}=''; $ENV{'BASH_ENV'}=''; $ENV{'ENV'}=''; Getopt::Long::Configure('bundling'); GetOptions ("V" => \$opt_V, "version" => \$opt_V, "h" => \$opt_h, "help" => \$opt_h, "w=s" => \$opt_w, "warning=s" => \$opt_w, "c=s" => \$opt_c, "critical=s" => \$opt_c, "H=s" => \$opt_H, "hostname=s" => \$opt_H, "u=s" => \$opt_u, "user=s" => \$opt_u, "p=s" => \$opt_p, "password=s" => \$opt_p, "m=s" => \$opt_m, "mailbox=s" => \$opt_m); if ($opt_V) { print_revision($PROGNAME,'$Revision: 1.0 $'); exit $ERRORS{'OK'}; } if ($opt_h) {print_help(); exit $ERRORS{'OK'};} ($opt_H) || usage("Host name/address not specified\n"); my $host = $1 if ($opt_H =~ /([-.A-Za-z0-9]+)/); ($host) || usage("Invalid host: $opt_H\n"); ($opt_w) || usage("Warning threshold not specified\n"); my $warning = $1 if ($opt_w =~ /([0-9]{1,2}|100)+/); ($warning) || usage("Invalid warning threshold: $opt_w\n"); ($opt_c) || usage("Critical threshold not specified\n"); my $critical = $1 if ($opt_c =~ /([0-9]{1,2}|100)/); ($critical) || usage("Invalid critical threshold: $opt_c\n"); ($opt_u) || usage("Username not specified\n"); my $username = $1 if ($opt_u =~ /([-.A-Za-z0-9]+)/); ($username) || usage("Invalid username: $opt_u\n"); ($opt_p) || usage("Password not specified\n"); my $password = $1 if ($opt_p =~ /([-.A-Za-z0-9]+)/); ($password) || usage("Invalid password: $opt_p\n"); ($opt_m) || usage("Mailbox not specified\n"); my $mbox = $1 if ($opt_m =~ /([0-9]{1,5})/); ($mbox) || usage("Invalid mailbox: $opt_m\n"); my $remote = IO::Socket::INET->new( Proto => 'tcp', # protocol PeerAddr=> $host, # Address of server PeerPort=> $port, # port of server Reuse => 1 ) or die "$!"; $remote->autoflush(1); # Send immediately # Login and get our booty from Asterisk my $logres = send_cmd("Action: Login${EOL}Username: $username${EOL}Secret: $password$BLANK"); my $vminfo = send_cmd("Action: MailboxStatus${EOL}Mailbox: $mbox$BLANK"); $logres = send_cmd("Action: Logoff$BLANK"); close $remote; # Close socket my $newmess = 0; if ($vminfo =~ /Waiting:\s+(\d+)\n/) { $newmess = $1; } if ($newmess >= $critical) { print "CRITICAL: Mailbox $mbox has $newmess messages waiting\n"; exit $ERRORS{'CRITICAL'}; } elsif ($newmess >= $warning) { print "WARNING: Mailbox $mbox has $newmess messages waiting\n"; exit $ERRORS{'WARNING'}; } else { print "OK: Mailbox $mbox has $newmess messages waiting\n"; exit $ERRORS{'OK'}; } sub print_usage () { print "Usage: $PROGNAME -H -u -p -m -w -c \n"; } sub print_help () { print_revision($PROGNAME,'$Revision: 1.0 $'); print "Copyright (c) 2000-2004 Jeffrey Blank/Karl DeBisschop & Ted Cabeen This plugin reports the number of messages in an asterisk queue The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute copies of the plugins under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. "; print_usage(); print " -H, --hostname=HOST Name or IP address of host to check -u, --username=username Manager Username -p, --password=password Manager Password -m, --mailbox=mailbox Mailbox number or name -w, --warning=INTEGER generate warning state if message count equals or exceeds this number -c, --critical=INTEGER generate critical state if message count equals or exceeds this number "; support(); } sub read_conn { my $buf=""; while (<$remote>) { last if $_ eq $EOL; s/$EOL/\n/g; $buf .= $_; } return $buf } sub send_cmd { my $cmd = $_[0]; my $buf=""; print $remote $cmd; $buf = read_conn(); return $buf; } -- Ted Cabeen http://www.pobox.com/~secabeen ted at impulse.net Check Website or Keyserver for PGP/GPG Key BA0349D2 secabeen at pobox.com "I have taken all knowledge to be my province." -F. Bacon secabeen at cabeen.org "Human kind cannot bear very much reality."-T.S.Eliot cabeen at netcom.com From howard at cohtech.com Sat Mar 20 01:10:02 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Sat Mar 20 01:10:02 2004 Subject: [Nagiosplug-devel] Access to CVS as a developer In-Reply-To: <20040319200240.5946ac26.karl@debisschop.net> References: <405AEF39.6090904@cohtech.com> <20040319200240.5946ac26.karl@debisschop.net> Message-ID: <405C09FB.8080804@cohtech.com> Karl, if you have some examples of your thinking I would appreciate a look. Will see if I can incorporate it into my approach. I have implemented a structural solution for Perl, which produces both the help and usage outputs from the structures, and allows the XML version to be switched on by using a --xml flag to the command. I am thinking on adding a general output package (to the Perl stuff at least) that would generate XML output as well as the textual stuff that Nagios currently uses. Currently XML dumper is home grown. But I have a prototype DTD and am looking at an automated dumping facility. I am currently working through the 47+ perl plugins in the CVS Head to use this facility. But the data definition is ugly and I think unacceptable. See example check_apache attached. However, if I can find a way of tidying this up, then with a small extension to the DTD, I think I can generate the option parsing and checking code automatically from the data structure, add the usage, help, version and possibly even the verbose options to the output stream. And make the result reporting much easier to use. Which should make it easier for people to write (at least Perl) plugins, with a richer set of facilities. I have yet to tackle the problem in `C' which is going to be larger if only because of storage allocation requirements - but may be easier to come up with a clean interface using VERY clever pre-processor code. And then PHP (should be easy-ish), Python (will have to dust off the cobwebs in the brain for this one) and finally SHell (which is likely to be nigh on impossible even though I am quite good at making SHell do what I want eventually). So any alternative approach that will get me what I want and make everybody else's life easier would be useful. Regards, Howard. Karl DeBisschop wrote: >On Fri, 19 Mar 2004 13:01:45 +0000 >Howard Wilkinson wrote: > > > >>Ton, >> >>I am not frustrated at the delay but worried that I may move off in a >>direction that does not get integrated easily. I have this morning >>picked up the CVS head and now working on integrating my patches into >>this. >> >>A piece of advice would be useful however, >> >>I am looking to automate an interface to NagMin to allow intelligent >>access to plugins and commands. So that help and defaults can be >>automatically generated. I have made a start with this and have an >>interface that allows the registration of a plugins with the NagMin >>database. I now want to add a learning facility to this interface and >>have started to patch ALL of the plugins to support this. My first >>pass is to remove the line feeds and extraneous spaces from the >>print_usage output. I am now reconsidering this - although it probably >>is the easiest first step it does mean the human interface is not as >>good as is was. >> >>So I am moving to provide an XML output probably tied to a --usage >>flag (-U for short?) and leaving the print_usage alone. So advice - is >>this more palatable! What flag(s) would you suggest I use, can I add >>an XML library requirement to the plugins - if so what base libraries >>would people like to see me use, this needs to work for `C', Perl, >>Python, PHP and SHell which is a tall order but I will try to make it >>happen. >> >>My inclination was to expand the interface to print_usage to allow a >>specification of what type of output to product, then encode the >>output in structures which are walked to produce the usage in whatever >>form is needed. Advantage only one definition of the data. >>Disadvantage plugin writers will need to cope with providing >>structural data rather than simple string output. I will write the >>structure walking code and put it in the utils packages and change all >>of the existing plugins (including the contrib ones) to use this if it >>is acceptable. The alternative is to provide a parallel system with >>these attributes and allow the current interface to remain. Big >>disadvantage is that this will mean supporting multiple copies of the >>information about the plugin help data. >> >> > >Actually, a pet project of mine is to make the plugins with embedded >docs -- sort of like perldoc on steroids. I really don't want to put the >overhead of xmlish plus plain text into the compile plugins. But it >could be done an xml-output from an embedded doc style. > >I had started on this, but had to take a step back to do i18n work. But >I'd love to move it forward again. > >-- >Karl > > -- Howard Wilkinson Phone: +44(20)7690 7075 Coherent Technology Limited Fax: +44(20)79230110 33 Belgrade Road, Stoke Newington, Mobile: +44(7980)639379 London, United Kingdom, N16 8DH Email: howard at cohtech.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_apache.pl URL: From Stanley.Hopcroft at IPAustralia.Gov.AU Sun Mar 21 03:06:02 2004 From: Stanley.Hopcroft at IPAustralia.Gov.AU (Stanley Hopcroft) Date: Sun Mar 21 03:06:02 2004 Subject: [Nagiosplug-devel] Access to CVS as a developer In-Reply-To: <405C09FB.8080804@cohtech.com>; from howard@cohtech.com on Sat, Mar 20, 2004 at 09:08:11AM +0000 References: <405AEF39.6090904@cohtech.com> <20040319200240.5946ac26.karl@debisschop.net> <405C09FB.8080804@cohtech.com> Message-ID: <20040321220415.D237@IPAustralia.Gov.AU> Dear Gentlemen, I am afraid I don't like the look of what I see in check_apache.pl. My quick first reaction is 1 Code that is likely to be replicated in _each_ plugin 2 Code of questionable utility. This is a general comment on the Nag plugin approach of rigorously checking options and so on. This may violate the 'be gracious with what you accept' policy. OTOH, it may preserve POLA. My stance is check the plugin specific options that matter to the plugin and let the user worry about the consistency and sanity of the others: the 'out of here approach' as used by many CGIs. There is some infrastructure in embedded Perl to trap the 'out of here' cases. 3 An approach to providing function that I have no sympathy with. If I am mistaken please forgive me, but it seems to me that extra function is added to the plugin rather than in a common base elsewhere. Would doing so in an object infrastructure or at least a procedural framework like utils.pm/.sh be a better approach ? This could even be done in C/C++ for performance, and other language bindings added (eg a Perl XS object for Perl plugins) Again, I would be delighted to have this corrected, but it seems this approach raises the bar or cost of entry of 'standard conforming' Nag plugins, since plugin authors are expected to do more than they are now. Lastly, I don't expect these remarks to be taken seriously for obvious reasons (lack of effort, understanding, ...) but I am concerned that effort is being made to provide really good useful features in a way that I won't be able to or choose not to - code bloat reasons - take advantage of. I hope this is _not_ what you are proposing, but I can't see any of the words that I have found promote reuse and reduce both development and maintenance effort, namely 'class/object' and or 'library/useful routines'. In my practise, unprofessional and stupid that it is, I have always ended up rewriting procedural interfaces - or living with the drawbacks - but can keep on copying constructor and method calls, even for second rate classes with interfaces that suck, till the cows come home. If I have misunderstood, I apologise. Lastly, your effort and plans impress me no end. Well done ! But I don't want my plugin output in XML, I think. Yours sincerely. -- ------------------------------------------------------------------------ Stanley Hopcroft ------------------------------------------------------------------------ '...No man is an island, entire of itself; every man is a piece of the continent, a part of the main. If a clod be washed away by the sea, Europe is the less, as well as if a promontory were, as well as if a manor of thy friend's or of thine own were. Any man's death diminishes me, because I am involved in mankind; and therefore never send to know for whom the bell tolls; it tolls for thee...' from Meditation 17, J Donne. From howard at cohtech.com Sun Mar 21 12:47:04 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Sun Mar 21 12:47:04 2004 Subject: [Nagiosplug-devel] Access to CVS as a developer In-Reply-To: <20040321220415.D237@IPAustralia.Gov.AU> References: <405AEF39.6090904@cohtech.com> <20040319200240.5946ac26.karl@debisschop.net> <405C09FB.8080804@cohtech.com> <20040321220415.D237@IPAustralia.Gov.AU> Message-ID: <405DFE82.1060402@cohtech.com> Stanley, What you saw was a first attempt to get a structural approach working. I have since: * Coded a number of other plugins to use this approach. * Started to move to a OO based library that will I hope get rid of 90% of the additional 'code' written to manage the plugin options - I am looking to do more that automate the print_usage and print_help facilities now. Although my original motivation is still to output the options as a structure that can be parse easily by an auto-learning interface. * Recode the existing plugins to have a common logic flow and action set and where possible harmonious the flags used by the plugins to give a common set of inputs. - Might have to provide some conpatibility facilties here, which is a pain but I see as a necessary. I hope to have something to look at by Wednesday this week and will send that through. I will then recorde all of the Perl plugins to thisstandard if it is acceptable and ask that the ones I cannot be tested locally, be tried out. I am leaving the other languages at present, having decided I want to get this right first. So please wait to see what I can do! Regards, Howard. Stanley Hopcroft wrote: >Dear Gentlemen, > >I am afraid I don't like the look of what I see in check_apache.pl. > >My quick first reaction is > >1 Code that is likely to be replicated in _each_ plugin > >2 Code of questionable utility. > >This is a general comment on the Nag plugin approach of rigorously >checking options and so on. This may violate the 'be gracious with what >you accept' policy. OTOH, it may preserve POLA. My stance is check the >plugin specific options that matter to the plugin and let the user worry >about the consistency and sanity of the others: the 'out of here >approach' as used by many CGIs. > >There is some infrastructure in embedded Perl to trap the 'out of here' >cases. > >3 An approach to providing function that I have no sympathy with. > >If I am mistaken please forgive me, but it seems to me that extra >function is added to the plugin rather than in a common base elsewhere. > >Would doing so in an object infrastructure or at least a procedural >framework like utils.pm/.sh be a better approach ? > >This could even be done in C/C++ for performance, and other language >bindings added (eg a Perl XS object for Perl plugins) > >Again, I would be delighted to have this corrected, but it seems this >approach raises the bar or cost of entry of 'standard conforming' Nag >plugins, since plugin authors are expected to do more than they are now. > >Lastly, I don't expect these remarks to be taken seriously for obvious >reasons (lack of effort, understanding, ...) but I am concerned that >effort is being made to provide really good useful features in a way >that I won't be able to or choose not to - code bloat reasons - take >advantage of. > >I hope this is _not_ what you are proposing, but I can't see any of the >words that I have found promote reuse and reduce both development >and maintenance effort, namely 'class/object' and or 'library/useful >routines'. In my practise, unprofessional and stupid that it is, I have >always ended up rewriting procedural interfaces - or living with the >drawbacks - but can keep on copying constructor and method calls, even >for second rate classes with interfaces that suck, till the cows come >home. > >If I have misunderstood, I apologise. > >Lastly, your effort and plans impress me no end. Well done ! But I don't >want my plugin output in XML, I think. > >Yours sincerely. > > >-- >------------------------------------------------------------------------ >Stanley Hopcroft >------------------------------------------------------------------------ > >'...No man is an island, entire of itself; every man is a piece of the >continent, a part of the main. If a clod be washed away by the sea, >Europe is the less, as well as if a promontory were, as well as if a >manor of thy friend's or of thine own were. Any man's death diminishes >me, because I am involved in mankind; and therefore never send to know >for whom the bell tolls; it tolls for thee...' > >from Meditation 17, J Donne. > > -- Howard Wilkinson Phone: +44(20)7690 7075 Coherent Technology Limited Fax: +44(20)79230110 33 Belgrade Road, Stoke Newington, Mobile: +44(7980)639379 London, United Kingdom, N16 8DH Email: howard at cohtech.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at sourceforge.net Mon Mar 22 10:12:01 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Mon Mar 22 10:12:01 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-921082 ] check_disk MACOSX support Message-ID: Patches item #921082, was opened at 2004-03-22 15:40 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=921082&group_id=29880 Category: Enhancement Group: None Status: Open Resolution: None Priority: 5 Submitted By: Guiom (guiomp) Assigned to: Nobody/Anonymous (nobody) Summary: check_disk MACOSX support Initial Comment: adds support for the df output of MAC OSX. The automounter volume are excluded from the output parsed. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=921082&group_id=29880 From noreply at sourceforge.net Mon Mar 22 11:38:49 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Mon Mar 22 11:38:49 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-921082 ] check_disk MACOSX support Message-ID: Patches item #921082, was opened at 2004-03-22 15:40 Message generated for change (Comment added) made by tonvoon You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=921082&group_id=29880 Category: Enhancement Group: None Status: Open Resolution: None Priority: 5 Submitted By: Guiom (guiomp) >Assigned to: Ton Voon (tonvoon) Summary: check_disk MACOSX support Initial Comment: adds support for the df output of MAC OSX. The automounter volume are excluded from the output parsed. ---------------------------------------------------------------------- >Comment By: Ton Voon (tonvoon) Date: 2004-03-22 19:37 Message: Logged In: YES user_id=664364 Guiom, Thanks for the patch. check_disk in r1.4alpha uses the GNU coreutils lib instead of df, so I think your patch is redundant. Can you try with r1.4? Ton ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=921082&group_id=29880 From noreply at sourceforge.net Mon Mar 22 16:11:02 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Mon Mar 22 16:11:02 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-921467 ] fping rta in ms Message-ID: Patches item #921467, was opened at 2004-03-22 16:10 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=921467&group_id=29880 Category: Bugfix Group: None Status: Open Resolution: None Priority: 5 Submitted By: Matthew Kent (mattkent) Assigned to: Nobody/Anonymous (nobody) Summary: fping rta in ms Initial Comment: fping's help claims to take the critical and warn rta values in milliseconds like ping, but as we can see it doesn't. # ./check_fping -H pdc-pv1.pv -w 10,10% -c 100,25% FPING OK - pdc-pv1.pv (loss=0%, rta=42.800000 ms)|loss=0%;10;25;0;100 rta=42799us;10000000;100000000;0 # ./check_ping -H pdc-pv1.pv -w 10,10% -c 100,25% PING WARNING - Packet loss = 0%, RTA = 32.67 ms As they always stay in 'OK' state, this sucks for anyone like me who replaced the ping checks with fping and didn't test the result :) Tiny patch against version in cvs fixes the inconsistency. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=921467&group_id=29880 From noreply at sourceforge.net Mon Mar 22 22:48:00 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Mon Mar 22 22:48:00 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-921467 ] fping rta in ms Message-ID: Patches item #921467, was opened at 2004-03-22 19:10 Message generated for change (Comment added) made by kdebisschop You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=921467&group_id=29880 Category: Bugfix Group: None Status: Open Resolution: None Priority: 5 Submitted By: Matthew Kent (mattkent) Assigned to: Nobody/Anonymous (nobody) Summary: fping rta in ms Initial Comment: fping's help claims to take the critical and warn rta values in milliseconds like ping, but as we can see it doesn't. # ./check_fping -H pdc-pv1.pv -w 10,10% -c 100,25% FPING OK - pdc-pv1.pv (loss=0%, rta=42.800000 ms)|loss=0%;10;25;0;100 rta=42799us;10000000;100000000;0 # ./check_ping -H pdc-pv1.pv -w 10,10% -c 100,25% PING WARNING - Packet loss = 0%, RTA = 32.67 ms As they always stay in 'OK' state, this sucks for anyone like me who replaced the ping checks with fping and didn't test the result :) Tiny patch against version in cvs fixes the inconsistency. ---------------------------------------------------------------------- >Comment By: Karl DeBisschop (kdebisschop) Date: 2004-03-23 01:47 Message: Logged In: YES user_id=1671 np patch supplied, but I confirmed the bug and fixed in CVS as best as I can tell. Thanks for finding this, lets us know if I goofed the fix. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=921467&group_id=29880 From noreply at sourceforge.net Mon Mar 22 22:48:02 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Mon Mar 22 22:48:02 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-921467 ] fping rta in ms Message-ID: Patches item #921467, was opened at 2004-03-22 19:10 Message generated for change (Settings changed) made by kdebisschop You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=921467&group_id=29880 Category: Bugfix Group: None >Status: Pending >Resolution: Fixed Priority: 5 Submitted By: Matthew Kent (mattkent) >Assigned to: Karl DeBisschop (kdebisschop) Summary: fping rta in ms Initial Comment: fping's help claims to take the critical and warn rta values in milliseconds like ping, but as we can see it doesn't. # ./check_fping -H pdc-pv1.pv -w 10,10% -c 100,25% FPING OK - pdc-pv1.pv (loss=0%, rta=42.800000 ms)|loss=0%;10;25;0;100 rta=42799us;10000000;100000000;0 # ./check_ping -H pdc-pv1.pv -w 10,10% -c 100,25% PING WARNING - Packet loss = 0%, RTA = 32.67 ms As they always stay in 'OK' state, this sucks for anyone like me who replaced the ping checks with fping and didn't test the result :) Tiny patch against version in cvs fixes the inconsistency. ---------------------------------------------------------------------- Comment By: Karl DeBisschop (kdebisschop) Date: 2004-03-23 01:47 Message: Logged In: YES user_id=1671 np patch supplied, but I confirmed the bug and fixed in CVS as best as I can tell. Thanks for finding this, lets us know if I goofed the fix. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=921467&group_id=29880 From RyeR at schneider.com Tue Mar 23 07:39:00 2004 From: RyeR at schneider.com (RyeR at schneider.com) Date: Tue Mar 23 07:39:00 2004 Subject: [Nagiosplug-devel] check_mailq Option to specify mail queue dir. Message-ID: To all, Has there ever been any discussion of adding a option to the check_mailq checker to be able to specify a mail queue directory? IE mail -O QueueDirectory=/var/spool/mqueue2. If not I was going to look at adding the option to the perl code. We have the need to check the size of non-default mail queues. Thanks, Ralph Stanley Hopcroft .AU> cc: Karl DeBisschop , Ton.Voon at egg.com, Sent by: nagiosplug-devel at lists.sourceforge.net nagiosplug-devel-admin at lists.sour Fax to: ceforge.net Subject: Re: [Nagiosplug-devel] Access to CVS as a developer 03/21/2004 05:04 AM Dear Gentlemen, I am afraid I don't like the look of what I see in check_apache.pl. My quick first reaction is 1 Code that is likely to be replicated in _each_ plugin 2 Code of questionable utility. This is a general comment on the Nag plugin approach of rigorously checking options and so on. This may violate the 'be gracious with what you accept' policy. OTOH, it may preserve POLA. My stance is check the plugin specific options that matter to the plugin and let the user worry about the consistency and sanity of the others: the 'out of here approach' as used by many CGIs. There is some infrastructure in embedded Perl to trap the 'out of here' cases. 3 An approach to providing function that I have no sympathy with. If I am mistaken please forgive me, but it seems to me that extra function is added to the plugin rather than in a common base elsewhere. Would doing so in an object infrastructure or at least a procedural framework like utils.pm/.sh be a better approach ? This could even be done in C/C++ for performance, and other language bindings added (eg a Perl XS object for Perl plugins) Again, I would be delighted to have this corrected, but it seems this approach raises the bar or cost of entry of 'standard conforming' Nag plugins, since plugin authors are expected to do more than they are now. Lastly, I don't expect these remarks to be taken seriously for obvious reasons (lack of effort, understanding, ...) but I am concerned that effort is being made to provide really good useful features in a way that I won't be able to or choose not to - code bloat reasons - take advantage of. I hope this is _not_ what you are proposing, but I can't see any of the words that I have found promote reuse and reduce both development and maintenance effort, namely 'class/object' and or 'library/useful routines'. In my practise, unprofessional and stupid that it is, I have always ended up rewriting procedural interfaces - or living with the drawbacks - but can keep on copying constructor and method calls, even for second rate classes with interfaces that suck, till the cows come home. If I have misunderstood, I apologise. Lastly, your effort and plans impress me no end. Well done ! But I don't want my plugin output in XML, I think. Yours sincerely. -- ------------------------------------------------------------------------ Stanley Hopcroft ------------------------------------------------------------------------ '...No man is an island, entire of itself; every man is a piece of the continent, a part of the main. If a clod be washed away by the sea, Europe is the less, as well as if a promontory were, as well as if a manor of thy friend's or of thine own were. Any man's death diminishes me, because I am involved in mankind; and therefore never send to know for whom the bell tolls; it tolls for thee...' from Meditation 17, J Donne. ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Nagiosplug-devel mailing list Nagiosplug-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel ::: Please include plugins version (-v) and OS when reporting any issue. ::: Messages without supporting info will risk being sent to /dev/null From dbadrak at tco.census.gov Tue Mar 23 07:49:03 2004 From: dbadrak at tco.census.gov (Don Badrak) Date: Tue Mar 23 07:49:03 2004 Subject: [Nagiosplug-devel] check_mailq Option to specify mail queue dir. In-Reply-To: References: Message-ID: Ralph, On Tue, 23 Mar 2004 RyeR at schneider.com wrote: > > To all, > > Has there ever been any discussion of adding a option to the check_mailq > checker to be able to specify a mail queue directory? IE mail -O > QueueDirectory=/var/spool/mqueue2. > > If not I was going to look at adding the option to the perl code. We have > the need to check the size of non-default mail queues. I submitted a patch for allowing a different configuration file (-f filename), since I have multiple config files with non-default queues. That might work for you. The patch has been looked at, but not yet accepted into CVS. It's 880904: http://sourceforge.net/tracker/index.php?func=detail&aid=880904&group_id=29880&atid=397599 Don -- Don Badrak 301.763.5534 work Telecommunications Office 301.457.4438 fax U.S. Bureau of the Census Suitland MD, USA From guenther.mair at datef.it Tue Mar 23 08:56:04 2004 From: guenther.mair at datef.it (guenther.mair at datef.it) Date: Tue Mar 23 08:56:04 2004 Subject: Antwort: Re: [Nagiosplug-devel] Update for check_disk Message-ID: Hi Ton, u r right, sorry my fault did not have a look at the 1.4.0alpha1-release. Its already included as different variants for the single unices. Thanks again, G?nther G?nther Mair Internet Engineer DATEF AG Negrellistrasse 13/B 39100 Bozen (BZ) Tel.: +39 0471 066500 Fax: +39 0471 066501 Email: guenther.mair at datef.it Web: http://www.datef.it |---------+---------------------------> | | Ton Voon | | | | | | | | | 18.03.2004 21:20| | | | |---------+---------------------------> >---------------------------------------------------------------------------------------------------------------| | | | An: Subhendu Ghosh | | Kopie: nagiosplug-devel at lists.sourceforge.net, guenther.mair at datef.it | | Thema: Re: [Nagiosplug-devel] Update for check_disk | >---------------------------------------------------------------------------------------------------------------| G?nther, Isn't this already done in r1.4alpha? We have used the libraries in GNU coreutils to get disk information instead of the df command. Ton On 18 Mar, 2004, at 17:15, Subhendu Ghosh wrote: > Could you post the plugin on sourceforge? > > One of the issues with syscalls is making sure it works on all the > platforms... > > > On Sun, 14 Mar 2004 guenther.mair at datef.it wrote: > >> >> Hi, >> >> I've seen that many of your current plugins (1.3.1) are using fork's >> and >> pipes instead of syscall's for doing a few quite simple things. >> >> What would you think about the attached plugin (check_disk using >> statfs-syscall)? >> >> Cheers, >> >> >> >> G?nther >> >> (See attached file: check_disk.syscall.tar.gz) >> >> G?nther Mair >> Internet Engineer >> >> DATEF AG >> Negrellistrasse 13/B >> 39100 Bozen (BZ) >> Tel.: +39 0471 066500 >> Fax: +39 0471 066501 >> Email: guenther.mair at datef.it >> Web: http://www.datef.it >> > > -- > > From noreply at sourceforge.net Tue Mar 23 12:22:56 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Tue Mar 23 12:22:56 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-921467 ] fping rta in ms Message-ID: Patches item #921467, was opened at 2004-03-22 16:10 Message generated for change (Comment added) made by mattkent You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=921467&group_id=29880 Category: Bugfix Group: None >Status: Open Resolution: Fixed Priority: 5 Submitted By: Matthew Kent (mattkent) Assigned to: Karl DeBisschop (kdebisschop) Summary: fping rta in ms Initial Comment: fping's help claims to take the critical and warn rta values in milliseconds like ping, but as we can see it doesn't. # ./check_fping -H pdc-pv1.pv -w 10,10% -c 100,25% FPING OK - pdc-pv1.pv (loss=0%, rta=42.800000 ms)|loss=0%;10;25;0;100 rta=42799us;10000000;100000000;0 # ./check_ping -H pdc-pv1.pv -w 10,10% -c 100,25% PING WARNING - Packet loss = 0%, RTA = 32.67 ms As they always stay in 'OK' state, this sucks for anyone like me who replaced the ping checks with fping and didn't test the result :) Tiny patch against version in cvs fixes the inconsistency. ---------------------------------------------------------------------- >Comment By: Matthew Kent (mattkent) Date: 2004-03-23 12:21 Message: Logged In: YES user_id=983566 I suppose actually attaching the diff might have helped :) but you fixed the same 2 lines. Thanks ---------------------------------------------------------------------- Comment By: Karl DeBisschop (kdebisschop) Date: 2004-03-22 22:47 Message: Logged In: YES user_id=1671 np patch supplied, but I confirmed the bug and fixed in CVS as best as I can tell. Thanks for finding this, lets us know if I goofed the fix. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=921467&group_id=29880 From kai.poitschke at axense.com Wed Mar 24 01:42:13 2004 From: kai.poitschke at axense.com (Poitschke Kai) Date: Wed Mar 24 01:42:13 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) Message-ID: <24BE472F19800D458344B07C4E8830E1061707@earth.axense.com> Hello, first of all I have to say that I'm new to the list. So please be patient ;-) I have improved the tablespace check in the check_oracle plugin. The check honors now the capability of Oracles autoextend feature. With this improvement, you will not get a WARNING/CRITICAL notification when Oracle is able to extend a database file itself. You will get only a notfication when the autoextend reaches its maximum and then the tablespace reaches then its WARNING/CRITICAL limits. The script reports the max possible size including the autoextend. The percentage is still calculated from the current total allocation. So the output looks like this: ./check_oracle --tablespace scott tiger MYDB MYTS 99 98 MYDB : MYTS OK - 98% used [ 136 / 8192 MB available [max. 12288 MB] ] This means, 136MB of the allocated 8192MB are free (--> 98%used), but because it can autoextend to 12288MB you won't get a notification. The second change is a minor change. I set the status code to UNKNOWN if the tablespace could not be examined. I personally don't want to get CRITICAL notifications when I check a tablespace and get an Oracle error, because of a broken network connection or a database that is in shutdown/startup state etc. Is there a general interest to get this plugin into the main tree? If so, to whom should I send it? Who is the original maintainer of the plugin and is he still active? Regards Kai Poitschke (http://www.poitschke.de/libsqlora8/) -- Phone: +49(0)221/6605049 Mobile: +49(0)173/7041627 From ae at op5.se Wed Mar 24 02:06:26 2004 From: ae at op5.se (Andreas Ericsson) Date: Wed Mar 24 02:06:26 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) In-Reply-To: <24BE472F19800D458344B07C4E8830E1061707@earth.axense.com> References: <24BE472F19800D458344B07C4E8830E1061707@earth.axense.com> Message-ID: <40615D78.3010107@op5.se> Poitschke Kai wrote: > Hello, --[ snip snip ]-- > The script reports the max possible size including the autoextend. The percentage is still calculated > from the current total allocation. So the output looks like this: > > ./check_oracle --tablespace scott tiger MYDB MYTS 99 98 > MYDB : MYTS OK - 98% used [ 136 / 8192 MB available [max. 12288 MB] ] > > This means, 136MB of the allocated 8192MB are free (--> 98%used), but because it can autoextend to 12288MB you won't get a notification. > Short note; For readability, it would help if percent mentioned is same as MB count (i.e. 136 of 8192 == 2%). > > The second change is a minor change. I set the status code to UNKNOWN if the tablespace could not be examined. I personally don't want to get CRITICAL notifications when I check a tablespace and get an Oracle error, because of a broken network connection or a database that is in shutdown/startup state etc. > Bad Thing. There's been a discussion on this on the nagios-users list. UNKNOWN should only be reported when there is a user error (too few arguments, etc. etc.). If it fails to fetch information from the network, that is considered to be a critical error. You can configure your way around this if you like, but for the good of the community it would be nice if everybody follow the standards set. > Is there a general interest to get this plugin into the main tree? If so, to whom should I send it? > Who is the original maintainer of the plugin and is he still active? > > Regards > Kai Poitschke (http://www.poitschke.de/libsqlora8/) > -- Sourcerer / Andreas Ericsson OP5 AB +46 (0)733 709032 andreas.ericsson at op5.se From Stanley.Hopcroft at IPAustralia.Gov.AU Wed Mar 24 02:26:17 2004 From: Stanley.Hopcroft at IPAustralia.Gov.AU (Stanley Hopcroft) Date: Wed Mar 24 02:26:17 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) In-Reply-To: <40615D78.3010107@op5.se>; from ae@op5.se on Wed, Mar 24, 2004 at 11:05:44AM +0100 References: <24BE472F19800D458344B07C4E8830E1061707@earth.axense.com> <40615D78.3010107@op5.se> Message-ID: <20040324212531.B240@IPAustralia.Gov.AU> Dear Folks, I am writing to thank you for your letter and say, On Wed, Mar 24, 2004 at 11:05:44AM +0100, Andreas Ericsson wrote: > > > > The second change is a minor change. I set the status code to UNKNOWN if the tablespace could not be examined. > > I personally don't want to get CRITICAL notifications when I check a > > tablespace and get an Oracle error, because of a broken network > >connection or a database that is in shutdown/startup state etc. > > > Bad Thing. > There's been a discussion on this on the nagios-users list. UNKNOWN > should only be reported when there is a user error (too few arguments, > etc. etc.). If it fails to fetch information from the network, that is > considered to be a critical error. Eeek ! The I think new committed infrastructure for embedded Perl Nagios (ePN) support does precisely this ie if the plugin bombs out because of . compile time errors (probably because of the ePN environment) . run time errors then UNKNOWN is returned (along with a dump depending on log level of the ePN). I share the former writers concern about spurious alerts. I canvassed this proposal (for new behaviour for ePN) with an RFC to both Nag-users and Nag-devel and possibly plugindevel as well, and got _no_ comments. Personally, I have been running this way for some months now and much prefer it to the former nightmare of committing a new plugin only to find it notifies people unnecessarily (yes, I test; use the epn simulator etc but still things go wrong). Yours sincerely. -- ------------------------------------------------------------------------ Stanley Hopcroft ------------------------------------------------------------------------ '...No man is an island, entire of itself; every man is a piece of the continent, a part of the main. If a clod be washed away by the sea, Europe is the less, as well as if a promontory were, as well as if a manor of thy friend's or of thine own were. Any man's death diminishes me, because I am involved in mankind; and therefore never send to know for whom the bell tolls; it tolls for thee...' from Meditation 17, J Donne. From kai.poitschke at axense.com Wed Mar 24 02:41:23 2004 From: kai.poitschke at axense.com (Poitschke Kai) Date: Wed Mar 24 02:41:23 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) Message-ID: <24BE472F19800D458344B07C4E8830E10309DE@earth.axense.com> -----Original Message----- From: Andreas Ericsson [mailto:ae at op5.se] Sent: Mittwoch, 24. M?rz 2004 11:06 To: Poitschke Kai Cc: nagiosplug-devel at lists.sourceforge.net Subject: Re: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) >Short note; For readability, it would help if percent mentioned is same >as MB count (i.e. 136 of 8192 == 2%). I didn't change the calculation here, its the same as in the original code. I would let it this way, because I specify the critical/warning levels in pct used, not pct free. Kai From Ton.Voon at egg.com Wed Mar 24 03:40:14 2004 From: Ton.Voon at egg.com (Voon, Ton) Date: Wed Mar 24 03:40:14 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoe xtend) Message-ID: Kai, Thanks for your work. Please read the developer guidelines for submission of patches at http://nagiosplug.sourceforge.net/developer-guidelines.html. This sounds a useful addition to the current check_oracle. Longer term, I am thinking of changing check_oracle from being sh based to either perl or C because of sh incompatibilities between OS versions, but will host that discussion to this mailing list when time allows. Ton -----Original Message----- From: Poitschke Kai [mailto:kai.poitschke at axense.com] Sent: Wednesday, March 24, 2004 9:41 AM To: nagiosplug-devel at lists.sourceforge.net Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) Hello, first of all I have to say that I'm new to the list. So please be patient ;-) I have improved the tablespace check in the check_oracle plugin. The check honors now the capability of Oracles autoextend feature. With this improvement, you will not get a WARNING/CRITICAL notification when Oracle is able to extend a database file itself. You will get only a notfication when the autoextend reaches its maximum and then the tablespace reaches then its WARNING/CRITICAL limits. The script reports the max possible size including the autoextend. The percentage is still calculated from the current total allocation. So the output looks like this: ./check_oracle --tablespace scott tiger MYDB MYTS 99 98 MYDB : MYTS OK - 98% used [ 136 / 8192 MB available [max. 12288 MB] ] This means, 136MB of the allocated 8192MB are free (--> 98%used), but because it can autoextend to 12288MB you won't get a notification. The second change is a minor change. I set the status code to UNKNOWN if the tablespace could not be examined. I personally don't want to get CRITICAL notifications when I check a tablespace and get an Oracle error, because of a broken network connection or a database that is in shutdown/startup state etc. Is there a general interest to get this plugin into the main tree? If so, to whom should I send it? Who is the original maintainer of the plugin and is he still active? Regards Kai Poitschke (http://www.poitschke.de/libsqlora8/) This private and confidential e-mail has been sent to you by Egg. The Egg group of companies includes Egg Banking plc (registered no. 2999842), Egg Financial Products Ltd (registered no. 3319027) and Egg Investments Ltd (registered no. 3403963) which is authorised and regulated by the Financial Services Authority. Egg Investments Ltd. is entered in the FSA register under number 190518. Registered in England and Wales. Registered offices: 1 Waterhouse Square, 138-142 Holborn, London EC1N 2NA. If you are not the intended recipient of this e-mail and have received it in error, please notify the sender by replying with 'received in error' as the subject and then delete it from your mailbox. From joerg.helmert at aracomp.de Wed Mar 24 04:21:14 2004 From: joerg.helmert at aracomp.de (joerg.helmert at aracomp.de) Date: Wed Mar 24 04:21:14 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) In-Reply-To: <20040324212531.B240@IPAustralia.Gov.AU> Message-ID: <000d01c4119a$46d2ea80$02dd1fac@cc.local> > -----Original Message----- > From: nagiosplug-devel-admin at lists.sourceforge.net > [mailto:nagiosplug-devel-admin at lists.sourceforge.net] On > Behalf Of Stanley Hopcroft > Sent: Wednesday, March 24, 2004 11:26 AM > To: Andreas Ericsson > Cc: Poitschke Kai; nagiosplug-devel at lists.sourceforge.net > Subject: Re: [Nagiosplug-devel] Improved check_oracle (TS > check with autoextend) > > > > The second change is a minor change. I set the status code to > > >UNKNOWN if the tablespace could not be examined. I > personally don't > > >want to get CRITICAL notifications when I check a > tablespace and get > > >an Oracle error, because of a broken network connection or > a database > > >that is in shutdown/startup state etc. > > > > > Bad Thing. > > There's been a discussion on this on the nagios-users list. UNKNOWN > > should only be reported when there is a user error (too few > arguments, > > etc. etc.). If it fails to fetch information from the > network, that is > > considered to be a critical error. > > Eeek ! > > The I think new committed infrastructure for embedded Perl > Nagios (ePN) support does precisely this ie if the plugin > bombs out because of > > . compile time errors (probably because of the ePN environment) > > . run time errors > > then UNKNOWN is returned (along with a dump depending on log > level of the ePN). > > I share the former writers concern about spurious alerts. > > I canvassed this proposal (for new behaviour for ePN) with an > RFC to both Nag-users and Nag-devel and possibly plugindevel > as well, and got _no_ comments. > > Personally, I have been running this way for some months now > and much prefer it to the former nightmare of committing a > new plugin only to find it notifies people unnecessarily > (yes, I test; use the epn simulator etc but still things go wrong). > > Yours sincerely. > > Stanley Hopcroft Hmmh, maybe I'm not long enough listening to the list Or didn't understand Or felt, I was to new to nagios to answer right... I think, for compile time errors that will be right. If I understand right, that plugin would never run successfull. Instead bail out with a compile error. Same like with missing commandline options. But think of following: A plugin runs successfully and returns ok. You start to rely on. Now something occurs, causing a runtime error. (someone deletes a file needed or changes permission or filesystem gets corrupted or whatever) It is true, that the status of that check in reality is unknown. But for me the overal picture is more important. Something is going wrong after it was ok. I want to KNOW a status but only find out that the status is unknown. That is critical for me. I reread the development guidelines and found that I missed something: 3 | Unknown | or the plugin was unable to check the status of the given hosts/service That clearly states, what you implemented. My opinion is still different. Implementing it UKNOWN is more polite and keeps operators sleeping... ...but if knowing what is going on is most important, lets wake them up. ;-) Regarding the argumentation from Kai: I personally don't want to get CRITICAL notifications when I check a tablespace and get an Oracle error, because of a broken network connection or a database that is in shutdown/startup state etc. Couldn't that be done with dependencies? Didn't play with dependencies yet, but I thought, thats what they are for. Tablespace check dependent on database up check All databases dependent on network check (I would use the tablespace check to check if db is up. No need for an additional check. I'm intersted in db being up. So again, critical for me...) Bye, Joerg From karl at debisschop.net Wed Mar 24 04:50:06 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Wed Mar 24 04:50:06 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) In-Reply-To: <000d01c4119a$46d2ea80$02dd1fac@cc.local> References: <20040324212531.B240@IPAustralia.Gov.AU> <000d01c4119a$46d2ea80$02dd1fac@cc.local> Message-ID: <20040324074824.071a1003.karl@debisschop.net> On Wed, 24 Mar 2004 13:19:37 +0100 joerg.helmert at aracomp.de wrote: > > The I think new committed infrastructure for embedded Perl > > Nagios (ePN) support does precisely this ie if the plugin > > bombs out because of > > > > . compile time errors (probably because of the ePN environment) > > > > . run time errors > > > > then UNKNOWN is returned (along with a dump depending on log > > level of the ePN). > > > > I share the former writers concern about spurious alerts. > > > > I canvassed this proposal (for new behaviour for ePN) with an > > RFC to both Nag-users and Nag-devel and possibly plugindevel > > as well, and got _no_ comments. I don't recall seeing the question on plugin devel. I don't always follow nag-* closely, so it would have been easy for me to miss there. > > Personally, I have been running this way for some months now > > and much prefer it to the former nightmare of committing a > > new plugin only to find it notifies people unnecessarily > > (yes, I test; use the epn simulator etc but still things go wrong). There is ample precedent in the plugins for this behaviour > > Stanley Hopcroft > But think of following: > A plugin runs successfully and returns ok. > You start to rely on. > Now something occurs, causing a runtime error. > (someone deletes a file needed or changes permission or filesystem > gets corrupted or whatever) > It is true, that the status of that check in reality is unknown. > But for me the overal picture is more important. > Something is going wrong after it was ok. > I want to KNOW a status but only find out that the status is unknown. > That is critical for me. Then you set nagios to page you for UNKNOWN. > I reread the development guidelines and found that I missed something: > > 3 | Unknown | or the plugin was unable to check the status > of the given hosts/service > > That clearly states, what you implemented. > > My opinion is still different. > > Implementing it UKNOWN is more polite and keeps operators sleeping... > ...but if knowing what is going on is most important, lets wake them > up. ;-) It only lets operators sleep if that's how you have configured nagios. -- Karl From joerg.helmert at aracomp.de Wed Mar 24 05:37:44 2004 From: joerg.helmert at aracomp.de (joerg.helmert at aracomp.de) Date: Wed Mar 24 05:37:44 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) In-Reply-To: <20040324074824.071a1003.karl@debisschop.net> Message-ID: <001201c411a4$21b81f40$02dd1fac@cc.local> > -----Original Message----- > From: Karl DeBisschop [mailto:karl at debisschop.net] > Sent: Wednesday, March 24, 2004 1:48 PM > To: joerg.helmert at aracomp.de > Cc: Stanley.Hopcroft at IPAustralia.Gov.AU; > nagiosplug-devel at lists.sourceforge.net > Subject: Re: [Nagiosplug-devel] Improved check_oracle (TS > check with autoextend) > > > On Wed, 24 Mar 2004 13:19:37 +0100 > joerg.helmert at aracomp.de wrote: > [snipped] > > gets corrupted or whatever) It is true, that the status of > that check > > in reality is unknown. But for me the overal picture is more > > important. Something is going wrong after it was ok. > > I want to KNOW a status but only find out that the status > is unknown. > > That is critical for me. > > Then you set nagios to page you for UNKNOWN. > Hmmh, do not know why my mind assumed that only CRITICAL sends Notifications... You're right. So I'll: - Implement plugins with notifications for unknown disabled - check if I get unknowns from missing options or similar and correct if necessary - let it run a while - enable notifications for unknown Thanks alot for your time gents, Bye, Joerg > -- > Karl > From kai.poitschke at axense.com Wed Mar 24 06:10:24 2004 From: kai.poitschke at axense.com (Poitschke Kai) Date: Wed Mar 24 06:10:24 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) Message-ID: <24BE472F19800D458344B07C4E8830E1061708@earth.axense.com> -----Original Message----- From: joerg.helmert at aracomp.de [mailto:joerg.helmert at aracomp.de] Sent: Mittwoch, 24. M?rz 2004 13:20 To: 'Stanley Hopcroft' Cc: nagiosplug-devel at lists.sourceforge.net Subject: RE: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) >Couldn't that be done with dependencies? >Didn't play with dependencies yet, but I thought, thats what they are for. >Tablespace check dependent on database up check >All databases dependent on network check I use also dependencies from TS check to the db login. Its tricky and a lot of work if you have lots of tablespaces and databases. Its easy to make an error. I'm currently monitoring 7 databases and 20 tablespaces and I'm not finished yet. My dependencies file has now nearly 500 lines. I hope service groups will make it easier. On the other hand, dependencies work only fine when the checks happen in the right sequence. If the TS check detects the error before the login check, you get an error on the TS first. Thats why I do the TS checks less often than the login checks, but there is always the chance that it happens in the wrong sequence. Regards Kai From Ton.Voon at egg.com Wed Mar 24 08:48:11 2004 From: Ton.Voon at egg.com (Voon, Ton) Date: Wed Mar 24 08:48:11 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoe xtend) Message-ID: I think Joerg is right. My feeling is that the UNKNOWN status should only appear on configuration issues such as an incorrect use of parameters or values. This way when a service is being setup or changed, an UNKNOWN would be raised, but no operation procedure would be invoked (eg paging). I can't think of another situation where UNKNOWN would be acceptable. Assuming the configuration is finalised, any status from then on should be warning or critical. This may cause a huge number of alerts raised, but that should be handled in Nagios (as dependencies or whatever mechanism). -----Original Message----- From: Karl DeBisschop [mailto:karl at debisschop.net] Sent: Wednesday, March 24, 2004 12:48 PM To: joerg.helmert at aracomp.de Cc: Stanley.Hopcroft at IPAustralia.Gov.AU; nagiosplug-devel at lists.sourceforge.net Subject: Re: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) On Wed, 24 Mar 2004 13:19:37 +0100 joerg.helmert at aracomp.de wrote: > > The I think new committed infrastructure for embedded Perl > > Nagios (ePN) support does precisely this ie if the plugin > > bombs out because of > > > > . compile time errors (probably because of the ePN environment) > > > > . run time errors > > > > then UNKNOWN is returned (along with a dump depending on log > > level of the ePN). > > > > I share the former writers concern about spurious alerts. > > > > I canvassed this proposal (for new behaviour for ePN) with an > > RFC to both Nag-users and Nag-devel and possibly plugindevel > > as well, and got _no_ comments. I don't recall seeing the question on plugin devel. I don't always follow nag-* closely, so it would have been easy for me to miss there. > > Personally, I have been running this way for some months now > > and much prefer it to the former nightmare of committing a > > new plugin only to find it notifies people unnecessarily > > (yes, I test; use the epn simulator etc but still things go wrong). There is ample precedent in the plugins for this behaviour > > Stanley Hopcroft > But think of following: > A plugin runs successfully and returns ok. > You start to rely on. > Now something occurs, causing a runtime error. > (someone deletes a file needed or changes permission or filesystem > gets corrupted or whatever) > It is true, that the status of that check in reality is unknown. > But for me the overal picture is more important. > Something is going wrong after it was ok. > I want to KNOW a status but only find out that the status is unknown. > That is critical for me. Then you set nagios to page you for UNKNOWN. > I reread the development guidelines and found that I missed something: > > 3 | Unknown | or the plugin was unable to check the status > of the given hosts/service > > That clearly states, what you implemented. > > My opinion is still different. > > Implementing it UKNOWN is more polite and keeps operators sleeping... > ...but if knowing what is going on is most important, lets wake them > up. ;-) It only lets operators sleep if that's how you have configured nagios. -- Karl ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Nagiosplug-devel mailing list Nagiosplug-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel ::: Please include plugins version (-v) and OS when reporting any issue. ::: Messages without supporting info will risk being sent to /dev/null This private and confidential e-mail has been sent to you by Egg. The Egg group of companies includes Egg Banking plc (registered no. 2999842), Egg Financial Products Ltd (registered no. 3319027) and Egg Investments Ltd (registered no. 3403963) which is authorised and regulated by the Financial Services Authority. Egg Investments Ltd. is entered in the FSA register under number 190518. Registered in England and Wales. Registered offices: 1 Waterhouse Square, 138-142 Holborn, London EC1N 2NA. If you are not the intended recipient of this e-mail and have received it in error, please notify the sender by replying with 'received in error' as the subject and then delete it from your mailbox. From Stanley.Hopcroft at IPAustralia.Gov.AU Thu Mar 25 00:20:01 2004 From: Stanley.Hopcroft at IPAustralia.Gov.AU (Stanley Hopcroft) Date: Thu Mar 25 00:20:01 2004 Subject: [Nagiosplug-devel] Darn ... ePN RFC sent to nagiosdevel not nagiosplug-devel .. In-Reply-To: <20040324074824.071a1003.karl@debisschop.net>; from karl@debisschop.net on Wed, Mar 24, 2004 at 07:48:24AM -0500 References: <20040324212531.B240@IPAustralia.Gov.AU> <000d01c4119a$46d2ea80$02dd1fac@cc.local> <20040324074824.071a1003.karl@debisschop.net> Message-ID: <20040325191807.A237@IPAustralia.Gov.AU> Dear Folks, I suppose I should have tried harder with this, the proposal to hack p1.pl to change its present behaviour; as it was only sent to NagiosDevel - sorry about that. Most of the proposals have already been prototyped. I have been using such an ePN to return Perl plugin results in core (avoiding the former file system [/tmp] method) for some time. This work has enabled me to . reduce the cost of testing (I think) ePN plugins since the simulator can be in Perl rather than C . provide some POD for the ePN Perl driver p1.pl . provide some tests (mainly for CPAN distribution) which is still a TODO. . patches are available for 1.2 to do the in-memory return stuff. . evaluate the utility of the changes - probably not a significant perf boost, but I am happy with the tidy ups and the extra options. Your comments are welcome. From kai.poitschke at axense.com Thu Mar 25 01:14:00 2004 From: kai.poitschke at axense.com (Poitschke Kai) Date: Thu Mar 25 01:14:00 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) Message-ID: <24BE472F19800D458344B07C4E8830E106170C@earth.axense.com> Hi Ton, thank you for the links. I will go thru it and provide a proper patch soon (without that UNKNOWN thing which caused nearly a flame war here). I would not recommend to do it in Perl or C. The thing is so easy and I think there are not much compatibility problems. Ok, when I put my developer hat on, I would like do it in Perl too, but as a user I don't have a benefit from it. It adds only more dependencies (DBI/DBH::Oracle) without having more functionallity. You don't want to run nagios on a windows box anyway, so why care. Doing things in sqlplus and shell is fine for me. The script is so easy, it shouldn't raise much compatibility issues. I let the Perl chaos behind me. I did a real big project using also perl. Within a few years the number of modules we depend on grew to a more than 100. Can you imagine the work when you upgrade one module to a new version which requires then suddenly another module is needed with a certain version... Its basically a nightmare. The project where I'm responsible now uses Oracle+SQL+PL/SQL and if necessary Java in Oracle. Runs on Linux, Windows, HP-UX and installs with sqlplus. It simply runs wherever Oracle runs. No other external modules are necessary. Regards Kai -----Original Message----- From: Voon, Ton [mailto:Ton.Voon at egg.com] Sent: Mittwoch, 24. M?rz 2004 12:13 To: Poitschke Kai; nagiosplug-devel at lists.sourceforge.net Subject: RE: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) Kai, Thanks for your work. Please read the developer guidelines for submission of patches at http://nagiosplug.sourceforge.net/developer-guidelines.html. This sounds a useful addition to the current check_oracle. Longer term, I am thinking of changing check_oracle from being sh based to either perl or C because of sh incompatibilities between OS versions, but will host that discussion to this mailing list when time allows. Ton -----Original Message----- From: Poitschke Kai [mailto:kai.poitschke at axense.com] Sent: Wednesday, March 24, 2004 9:41 AM To: nagiosplug-devel at lists.sourceforge.net Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) Hello, first of all I have to say that I'm new to the list. So please be patient ;-) I have improved the tablespace check in the check_oracle plugin. The check honors now the capability of Oracles autoextend feature. With this improvement, you will not get a WARNING/CRITICAL notification when Oracle is able to extend a database file itself. You will get only a notfication when the autoextend reaches its maximum and then the tablespace reaches then its WARNING/CRITICAL limits. The script reports the max possible size including the autoextend. The percentage is still calculated from the current total allocation. So the output looks like this: ./check_oracle --tablespace scott tiger MYDB MYTS 99 98 MYDB : MYTS OK - 98% used [ 136 / 8192 MB available [max. 12288 MB] ] This means, 136MB of the allocated 8192MB are free (--> 98%used), but because it can autoextend to 12288MB you won't get a notification. The second change is a minor change. I set the status code to UNKNOWN if the tablespace could not be examined. I personally don't want to get CRITICAL notifications when I check a tablespace and get an Oracle error, because of a broken network connection or a database that is in shutdown/startup state etc. Is there a general interest to get this plugin into the main tree? If so, to whom should I send it? Who is the original maintainer of the plugin and is he still active? Regards Kai Poitschke (http://www.poitschke.de/libsqlora8/) This private and confidential e-mail has been sent to you by Egg. The Egg group of companies includes Egg Banking plc (registered no. 2999842), Egg Financial Products Ltd (registered no. 3319027) and Egg Investments Ltd (registered no. 3403963) which is authorised and regulated by the Financial Services Authority. Egg Investments Ltd. is entered in the FSA register under number 190518. Registered in England and Wales. Registered offices: 1 Waterhouse Square, 138-142 Holborn, London EC1N 2NA. If you are not the intended recipient of this e-mail and have received it in error, please notify the sender by replying with 'received in error' as the subject and then delete it from your mailbox. From Stanley.Hopcroft at IPAustralia.Gov.AU Fri Mar 26 17:19:12 2004 From: Stanley.Hopcroft at IPAustralia.Gov.AU (Stanley Hopcroft) Date: Fri Mar 26 17:19:12 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) In-Reply-To: <24BE472F19800D458344B07C4E8830E106170C@earth.axense.com>; from kai.poitschke@axense.com on Thu, Mar 25, 2004 at 10:12:53AM +0100 References: <24BE472F19800D458344B07C4E8830E106170C@earth.axense.com> Message-ID: <20040327121734.A241@IPAustralia.Gov.AU> Dear Sir, I am writing to thank you for your letter and say, On Thu, Mar 25, 2004 at 10:12:53AM +0100, Poitschke Kai wrote: > Hi Ton, ... snip > (without that UNKNOWN thing which caused nearly a flame war here). There are edge cases that make it less obvious whether to return UNKNOWN or CRITICAL. I think it was a useful to hear other views about the matter but to sum up this thread, it seems I there are three important factors 1 View/situation of the local Nag admin and the relationship of that person with those responsible for the 'managed nodes' In my case, spurious alerts undermine the tenuous position Nagios occupies in an organisation that really wants to buy a shrink- wrapped big name product that, they believe, will do all they want without any effort. 2 Notification policy. If ones notifies on UNKNOWN then objections to not being informed about significant events is less relevnt 3 Run time errors. These happen unfortunately and unless the plugins have a _good_ test regimen (that I have not seen and could not construct), are unavoidable. I think that the default stance of the Nagios infrastructure handling plugins should be that for plugins that fail to generate output or return a bogus return code, Nag retuns UNKNOWN since nothing can be concluded about the state of the service apart from the plugin used to monitor it needs some examination. Yours sincerely. -- ------------------------------------------------------------------------ Stanley Hopcroft ------------------------------------------------------------------------ '...No man is an island, entire of itself; every man is a piece of the continent, a part of the main. If a clod be washed away by the sea, Europe is the less, as well as if a promontory were, as well as if a manor of thy friend's or of thine own were. Any man's death diminishes me, because I am involved in mankind; and therefore never send to know for whom the bell tolls; it tolls for thee...' from Meditation 17, J Donne. From ae at op5.se Sat Mar 27 12:01:23 2004 From: ae at op5.se (Andreas Ericsson) Date: Sat Mar 27 12:01:23 2004 Subject: [Nagiosplug-devel] Improved check_oracle (TS check with autoextend) In-Reply-To: <20040327121734.A241@IPAustralia.Gov.AU> References: <24BE472F19800D458344B07C4E8830E106170C@earth.axense.com> <20040327121734.A241@IPAustralia.Gov.AU> Message-ID: <4065DD56.8030708@op5.se> Stanley Hopcroft wrote: >>(without that UNKNOWN thing which caused nearly a flame war here). > > There are edge cases that make it less obvious whether to return UNKNOWN > or CRITICAL. > --[ snip ]--- > > I think that the default stance of the Nagios infrastructure handling > plugins should be that for plugins that fail to generate output or > return a bogus return code, Nag retuns UNKNOWN since nothing can be > concluded about the state of the service apart from the plugin used to > monitor it needs some examination. It appears as though a few new return codes might be needed after all. Suggestion for the new list; OK = 0 WARNING = 1 CRITICAL = 2 USER_ERROR = 3 (bad arguments to plugin) FAILURE = 4 (plugin failed to fetch threshhold data (snmp, nrpe, nsclient, nwstat, check_by_ssh, check_by_rsh)) NAGIOS_ERROR = 5 (internal nagios error, or return code out of bounds) To get all alerts, a user would have to specify "w,c,u,f,e,r". Using these, it will be much more obvious and intuitive for new plugin-authors to write plugins conforming to standards. The 'UNKNOWN' state has quite deliberately been removed since it seems to cause confusion. Already existing plugins should work pretty much without problems with the new list, but for future work it provides better flexibility. -- Mvh / Regards Sourcerer / Andreas Ericsson OP5 AB +46 (0)733 709032 andreas.ericsson at op5.se From pla at softflare.com Sun Mar 28 16:31:03 2004 From: pla at softflare.com (Paul L. Allen) Date: Sun Mar 28 16:31:03 2004 Subject: [Nagiosplug-devel] Re: Improved check_oracle (TS check with autoextend) In-Reply-To: <4065DD56.8030708@op5.se> References: <24BE472F19800D458344B07C4E8830E106170C@earth.axense.com> <20040327121734.A241@IPAustralia.Gov.AU> <4065DD56.8030708@op5.se> Message-ID: <20040329003014.20481.qmail@minnow.softflare.net> Andreas Ericsson writes: > It appears as though a few new return codes might be needed after all. Perhaps. > Suggestion for the new list; > OK = 0 > WARNING = 1 > CRITICAL = 2 > USER_ERROR = 3 (bad arguments to plugin) Re-using an existing code for another reason is a Bad Idea[tm]. Yes, bad arguments do generate status 3 at present, but so do other events. Better to assign a new status code and retain 3 as UNKNOWN. That way old plugins and new Nagios return something sensible even if new plugins and old Nagios do not. > FAILURE = 4 (plugin failed to fetch threshhold data (snmp, nrpe, nsclient, > nwstat, check_by_ssh, check_by_rsh)) Status 4 is already assigned to DEPENDENT. > The 'UNKNOWN' state has quite deliberately been removed since it seems to > cause confusion. It causes confusion only because the documentation is not quite as explicit as it could be. Even so, it is not hard to deduce that UNKNOWN means "I don't know what state the service is in because of some sort of error that is not to do with the service itself." If the plugin fails because of bad arguments, the state of the service is UNKNOWN. If the plugin fails because of a transport error, the state of the service is UNKNOWN. If the plugin cannot find resources it needs to determine the state of the service, the state of the service is UNKNOWN. More gradations of UNKNOWN may or may not be useful, but they are hardly necessary. When Nagios reports something as UNKNOWN, it means that it doesn't know what state the service is in. Whether that be because of bad arguments, missing utilities or a transport failure, it still means that you do not know what state the service is in. I would argue that when passive check results go stale that Nagios should flag them as UNKNOWN rather than CRITICAL just the same as it would if a direct check_by_ssh timed out. Either way, you do not know what state the service is in. -- Paul Allen Softflare Support From noreply at sourceforge.net Mon Mar 29 05:37:44 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Mon Mar 29 05:37:44 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-925295 ] check_disk_smb: compare_levels_after_kMG_decoding Message-ID: Patches item #925295, was opened at 2004-03-29 14:36 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=925295&group_id=29880 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: neil prockter (orangepeel) Assigned to: Nobody/Anonymous (nobody) Summary: check_disk_smb: compare_levels_after_kMG_decoding Initial Comment: Hi in order to avoid Argument "500M" isn't numeric in numeric gt (>) at ./check_disk_smb_experimental line 96. Argument "1000M" isn't numeric in numeric gt (>) at ./check_disk_smb_experimental line 96. type warnings from check_disk_smb I propose the following patch This moves the comparing of warn and crit to after the kMG have been decoded, using the _type variables to decide whether to compare Additionally allows mixing of kMG (e.g. -w 1000M -c 500k) Not sure if warn being percent and crit being actual should be considered, would need to examin the output to determine share size first Neil ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=925295&group_id=29880 From Mauricio.Sanches at nextel.com.br Mon Mar 29 05:54:06 2004 From: Mauricio.Sanches at nextel.com.br (=?iso-8859-1?Q?Maur=EDcio_Sanches?=) Date: Mon Mar 29 05:54:06 2004 Subject: [Nagiosplug-devel] Informatios Message-ID: <8C9A18ED79CD6B458C1A3D684B9AF7DC2A42CC@brsao1w2pms03.nextel.com.br> It would like to know if check_mailq supports to monitoring the MSEXCHANGE Server, if not where I can find one plugin for this monitoring Thanks Mauricio Sanches --Esta mensagem pode conter informa??es confidenciais e/ou privilegiadas. Se voc? n?o for o destinat?rio ou a pessoa autorizada a receber esta mensagem, n?o deve usar, copiar ou divulgar as informa??es nela contida ou tomar qualquer a??o baseada nessas informa??es. O sistema de mensagens da Internet n?o ? considerado seguro ou livre de erros. Esta empresa n?o se responsabiliza por opini?es ou declara??es veiculadas atrav?s de e-mails. --The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, or an employee r agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. Thank you. Nextel Telecomunica??es Ltda. - Seguran?a da Informa??o / Information Security From noreply at sourceforge.net Tue Mar 30 03:23:05 2004 From: noreply at sourceforge.net (SourceForge.net) Date: Tue Mar 30 03:23:05 2004 Subject: [Nagiosplug-devel] [ nagiosplug-Patches-860993 ] update: contrib / fetchlog-0.95 Message-ID: Patches item #860993, was opened at 2003-12-16 14:56 Message generated for change (Comment added) made by afrika You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=860993&group_id=29880 Category: Bugfix Group: None Status: Open Resolution: None Priority: 5 Submitted By: Alexander Haderer (afrika) Assigned to: Subhendu Ghosh (sghosh) Summary: update: contrib / fetchlog-0.95 Initial Comment: hello, I am the maintainer of the fetchlog utility which is part of nagios-plugins / contrib. I updated fetchlog to version 0.95. So two files need an an update: 1. contrib/README.TXT the file mentioned there now is fetchlog-0.95.tar.gz 2. contrib/tarballs/fetchlog-0.95.tar.gz the file must be replaced by a newer version. Do you want me to mail the source.tar.gz to the list (22k) or do you want to download the new version by yourself from: http://fetchlog.sourceforge.net Do you want a unified diff to change the version number in the README.TXT? with best regards, Alexander ---------------------------------------------------------------------- >Comment By: Alexander Haderer (afrika) Date: 2004-03-30 13:22 Message: Logged In: YES user_id=489569 Meanwhile I updated fetchlog to version 1.0. Please find attached a patch for README.TXT for nagios-plugins-1.4.0alpha1. To download the new version to put into contrib/tarballs/: http://eu.dl.sourceforge.net/fetchlog/fetchlog-1.0.tar.gz or goto fetchlog homepage: http://fetchlog.sourceforge.net Alexander ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=397599&aid=860993&group_id=29880 From howard at cohtech.com Tue Mar 30 05:56:33 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 05:56:33 2004 Subject: [Nagiosplug-devel] New plugin interface for Perl plugins. Message-ID: <40697C5B.9010901@cohtech.com> I am submitting a number of patches to the CVS head for the Perl plugins. Each of these relies on the accompanying modules, which have been written as the starting point for a new framework for Plugins. The modules have included POD which describes the workings of the Plugin module and the supporting Plugin::Parameter module. These should be seen as functional facilities that represent work in progress towards a more comprehensive solution. I intend when I have time to tackle the error reporting and Nagios output facilities for the framework and then to finally provide some additional run-time support as well as standard packaging for SNMP and other general plugin types. I would welcome comments on my implementation and any upgrades that people feel may be appropriate. I apologise in advance for my verbose style of programming, but I like to be able to read my own code. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: Plugin.pm.in URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: Parameter.pm URL: From howard at cohtech.com Tue Mar 30 06:40:04 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 06:40:04 2004 Subject: [Nagiosplug-devel] check_apache patches to use new perl framework Message-ID: <40698683.8010205@cohtech.com> I attach a patch file and the full source for the check_apache.pl file. This has been tested against a local apache server, but needs to be checked by any current users as we do not run this plugin on our current system. This patch uses the Plugin.pm and Parameter.pm modules that I have recently submitted. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_apache.pl URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-apache.patch URL: From howard at cohtech.com Tue Mar 30 10:51:05 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 10:51:05 2004 Subject: [Nagiosplug-devel] check_appletalk patches to use new perl framework Message-ID: <4069C188.2080309@cohtech.com> I attach patches against CVS head for the check_appletalk plugin, plus a complete copy of the plugin. This has been modified to use the new Perl framework I have published. I have tested the plugin for argument parsing but have no appletalk environment to test in anger, please let me know if it works. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_appletalk.pl URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-appletalk.patch URL: From howard at cohtech.com Tue Mar 30 10:53:26 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 10:53:26 2004 Subject: [Nagiosplug-devel] Replacement Perl framework files Message-ID: <4069C1F3.3040602@cohtech.com> I distributed the wrong files for the perl framework. Here are the fixed and working ones I should have sent out!. Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: Plugin.pm.in URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: Parameter.pm URL: From howard at cohtech.com Tue Mar 30 10:54:20 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 10:54:20 2004 Subject: [Nagiosplug-devel] check_apc_ups patches to use new perl framework Message-ID: <4069C21C.8080603@cohtech.com> I attach the patches and a complete source for the check_apc_ups plugin. This is a rewrite to use the new framework I recently submitted. The plugin has been tested on our systems and is in production use monitoring our APC upses. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-apc-ups.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_apc_ups.pl URL: From howard at cohtech.com Tue Mar 30 11:16:04 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 11:16:04 2004 Subject: [Nagiosplug-devel] check_backup patches to use new perl framework Message-ID: <4069C738.6050704@cohtech.com> I attach a patch file and a copy of a modified check_backup plugin. This has been latered to use the new perl based Plugin framework. We have tested this on our systems and it works OK but is not in production use here. Regards, Howard This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_backup.pl URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-backup.patch URL: From howard at cohtech.com Tue Mar 30 11:18:02 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 11:18:02 2004 Subject: [Nagiosplug-devel] check_bgpstate patches to use new perl framework Message-ID: <4069C7B0.3050508@cohtech.com> I attach patches and a complet source of the check_bgpstate plugin altered to use the new perl framework. We have tested this on our infrastructure and have thi sin production use here. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-bgpstate.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_bgpstate.pl URL: From howard at cohtech.com Tue Mar 30 11:21:10 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 11:21:10 2004 Subject: [Nagiosplug-devel] check_breeze patches to use new perl framework Message-ID: <4069C897.5080608@cohtech.com> I attach patches to check_breeze to alter the plugin to use the new perl framework. We have tested this in the absence of hardware and it works, but cannot put it into production here, could someone check it out for use please. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-breeze.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_breeze.pl URL: From howard at cohtech.com Tue Mar 30 11:24:27 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 11:24:27 2004 Subject: [Nagiosplug-devel] check_by_ssh patch Message-ID: <4069C92C.40000@cohtech.com> A simple patch for check_by_ssh which produces usage output on a single line. This is a quick fix to providing a Usage parsing interface. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-by-ssh.patch URL: From howard at cohtech.com Tue Mar 30 11:26:06 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 11:26:06 2004 Subject: [Nagiosplug-devel] checkciscotemp patches to use new perl framework Message-ID: <4069C98F.9030701@cohtech.com> I attach the patches to checkciscotemp for the new perl framework. This version has been tested for argument parsing, but we do not have cisco equipment of this ilk to test against so is not in production here. Could somebody test it out for us please? Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-checkciscotemp.patch URL: From howard at cohtech.com Tue Mar 30 11:27:04 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 11:27:04 2004 Subject: [Nagiosplug-devel] Full source of checkciscotemp Message-ID: <4069C9DA.4010108@cohtech.com> Forgot to attach this to my last mail. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: checkciscotemp.pl URL: From howard at cohtech.com Tue Mar 30 11:29:05 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 11:29:05 2004 Subject: [Nagiosplug-devel] check_compaq_insight patches for perl framework Message-ID: <4069CA4F.7080306@cohtech.com> I attach the patch file and source for check_compaq_insight to use the new perl framework. We have this in production here on a limited number of older non-server machines. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-compaq-insight.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_compaq_insight.pl URL: From howard at cohtech.com Tue Mar 30 11:30:09 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 11:30:09 2004 Subject: [Nagiosplug-devel] Simple check_dig patch Message-ID: <4069CA95.40609@cohtech.com> A simple patch to check_dig to produce a single line of usage output. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-dig.patch URL: From howard at cohtech.com Tue Mar 30 11:32:05 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 11:32:05 2004 Subject: [Nagiosplug-devel] check_digitemp patches for perl framework Message-ID: <4069CB10.70804@cohtech.com> I attach the patches and source of check_digitemp to use the new perl framework. We do not have the hardware here to test this and would appreciate someone trying out for us. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-digitemp.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_digitemp.pl URL: From howard at cohtech.com Tue Mar 30 11:34:00 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 11:34:00 2004 Subject: [Nagiosplug-devel] small patches to check_disk.c Message-ID: <4069CB7E.2080402@cohtech.com> This is a small set of patches for check_disk.c It includes some fixes for comparisons with floating point numbers! And the small patch to produce the Usage line as a single output. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-disk.patch URL: From howard at cohtech.com Tue Mar 30 11:36:08 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 11:36:08 2004 Subject: [Nagiosplug-devel] check_disk_smb patches for perl framework Message-ID: <4069CBFD.1090507@cohtech.com> I attach the patch to add the perl framework to check_disk_smb. This includes a fix for multiple interface systems where smbclient reports each interface. This has been tested and is in production here. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-disk-smb.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_disk_smb.pl URL: From howard at cohtech.com Tue Mar 30 11:38:09 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 11:38:09 2004 Subject: [Nagiosplug-devel] check_disk_snmp patch for perl framework Message-ID: <4069CC67.9000505@cohtech.com> I attach the patch for the perl framework for check_disk_snmp. This also includes some fixes to the operation of the code. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-disk-snmp.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_disk_snmp.pl URL: From root at cohtech.com Tue Mar 30 12:11:28 2004 From: root at cohtech.com (John Root) Date: Tue Mar 30 12:11:28 2004 Subject: [Nagiosplug-devel] check_apc_ups patches to use new perl framework Message-ID: <4069AEFF.6080505@cohtech.com> I attach the patches and a complete source for the check_apc_ups plugin. This is a rewrite to use the new framework I recently submitted. The plugin has been tested on our systems and is in production use monitoring our APC upses. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-apc-ups.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_apc_ups.pl URL: From howard at cohtech.com Tue Mar 30 12:13:03 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:13:03 2004 Subject: [Nagiosplug-devel] check_dl_size patch for perl framework Message-ID: <4069D4AC.1010701@cohtech.com> I attach the patch to add the perl framework to the check_dl_size plugin. We have tested this plugin locally but do not use it on our infrastructure at present. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-dl-size.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_dl_size.pl URL: From howard at cohtech.com Tue Mar 30 12:15:04 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:15:04 2004 Subject: [Nagiosplug-devel] check_dlswcircuit patch for perl framework Message-ID: <4069D51B.1000502@cohtech.com> I attach the patches for the check_dlswcircuit plugin to use the perl framework. We have checked that it runs, but do not have releavnt hardware to check functionality against. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-dlswcircuit.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_dlswcircuit.pl URL: From howard at cohtech.com Tue Mar 30 12:17:00 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:17:00 2004 Subject: [Nagiosplug-devel] check_dns_random patched for perl framework Message-ID: <4069D57F.1010803@cohtech.com> The patches for the check_dns_random plugin to use the perl framework. We have tested this plugin. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-dns-random.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_dns_random.pl URL: From howard at cohtech.com Tue Mar 30 12:18:04 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:18:04 2004 Subject: [Nagiosplug-devel] check_dns replacement written in Perl Message-ID: <4069D5EA.2020205@cohtech.com> This is a check_dns replacement written in Perl. It uses direct access to the resolver functions via the Perl Net::DNS modules. It has the added facility to check returned data against expected data and report errors. This relies on the new Perl framework to function. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_dns.pl URL: From howard at cohtech.com Tue Mar 30 12:21:15 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:21:15 2004 Subject: [Nagiosplug-devel] check_email_loop for Perl Framework Message-ID: <4069D67E.6030204@cohtech.com> This is the check_email_loop modification for the perl framework. It has been tested here and works well. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-email-loop.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_email_loop.pl URL: From howard at cohtech.com Tue Mar 30 12:23:25 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:23:25 2004 Subject: [Nagiosplug-devel] check_file_age for perl framework Message-ID: <4069D6F1.7040806@cohtech.com> The check_file_age plugin using the perl framework. Tested here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-file-age.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_file_age.pl URL: From howard at cohtech.com Tue Mar 30 12:24:32 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:24:32 2004 Subject: [Nagiosplug-devel] check_flexlm for perl framework Message-ID: <4069D74F.2010904@cohtech.com> The check_flexlm plugin for the perl framework. This is untested here, could someone check this out for us please. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-flexlm.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_flexlm.pl URL: From howard at cohtech.com Tue Mar 30 12:26:16 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:26:16 2004 Subject: [Nagiosplug-devel] check_ftpget plugin for perl framework Message-ID: <4069D7C8.7080703@cohtech.com> This is the check_ftpget plugin using the perl framework. Tested here. . This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-ftpget.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_ftpget.pl URL: From howard at cohtech.com Tue Mar 30 12:28:05 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:28:05 2004 Subject: [Nagiosplug-devel] Small patch to check_game Message-ID: <4069D828.60705@cohtech.com> This patch to check_game makes the Usage report appear on one line. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-game.patch URL: From howard at cohtech.com Tue Mar 30 12:29:14 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:29:14 2004 Subject: [Nagiosplug-devel] check_hprsc for perl framework Message-ID: <4069D87F.6070708@cohtech.com> The check_hprsc plugin modified to work with the Perl framework. We do not have the hardware to test this so could someone let us know if it works please! This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-hprsc.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_hprsc.pl URL: From howard at cohtech.com Tue Mar 30 12:32:02 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:32:02 2004 Subject: [Nagiosplug-devel] Patch to check_http plugin Message-ID: <4069D92C.3050700@cohtech.com> This patch adds cookies and keepalives to the check_http plugin, it also flattens the Usage output to one line. Tested here but could do with some use on a live infrastructure. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-http.patch URL: From howard at cohtech.com Tue Mar 30 12:35:05 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:35:05 2004 Subject: [Nagiosplug-devel] check_ifoperstatus for perl framework Message-ID: <4069D9C5.1040901@cohtech.com> This is the check_ifoperstatus plugin modified for the perl framework. It has been tested here an dis in use on our infrastructure, This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-ifoperstatus.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_ifoperstatus.pl URL: From howard at cohtech.com Tue Mar 30 12:39:34 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:39:34 2004 Subject: [Nagiosplug-devel] check_ifstatus for perl framework Message-ID: <4069DAD9.8080107@cohtech.com> This is a modified version of check_ifstatus that uses the new perl framework. It has been tested and is in use here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-ifstatus.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_ifstatus.pl URL: From howard at cohtech.com Tue Mar 30 12:41:37 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:41:37 2004 Subject: [Nagiosplug-devel] A very small fix to check_inodes Message-ID: <4069DB42.8050100@cohtech.com> This fixes a reporting problem in check_inodes. We have gone no further with this as the new version of check_inode-freebsd now works on Linux as well. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-inodes.patch URL: From howard at cohtech.com Tue Mar 30 12:43:09 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:43:09 2004 Subject: [Nagiosplug-devel] Modified check_inodes-freebsd now works on Linux Message-ID: <4069DBA3.8030006@cohtech.com> This is a modified version of the check_inode-freebsd plugin that works on Linux, uses the new perl framework and hopefully still work on FreeBSD. We have tested it here, but it needs testing on FreeBSD can someone volunteer please. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-inodes-freebsd.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_inodes-freebsd.pl URL: From howard at cohtech.com Tue Mar 30 12:44:23 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:44:23 2004 Subject: [Nagiosplug-devel] check_ircd for perl framework Message-ID: <4069DBFA.2040502@cohtech.com> Patched version of check_ircd for the new perl framework. Not tested here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-ircd.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_ircd.pl URL: From howard at cohtech.com Tue Mar 30 12:45:26 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:45:26 2004 Subject: [Nagiosplug-devel] check_javaproc for perl framework Message-ID: <4069DC43.40207@cohtech.com> Modified check_javaproc for the new perl framework. Tested to some extent could do with some real live use. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-javaproc.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_javaproc.pl URL: From howard at cohtech.com Tue Mar 30 12:48:09 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:48:09 2004 Subject: [Nagiosplug-devel] check_linux_raid for perl framework Message-ID: <4069DCD8.5070502@cohtech.com> The check_linux_raid plugin modified for the perl framework. Also, includes a fix to look beyond the last raid device properly. Tested and in use here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-linux-raid.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_linux_raid.pl URL: From howard at cohtech.com Tue Mar 30 12:50:42 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:50:42 2004 Subject: [Nagiosplug-devel] check_lmmon for perl framework Message-ID: <4069DD39.3030207@cohtech.com> The check_lmmon plugin modified for the perl framework. Not tested here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-lmmon.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_lmmon.pl URL: From howard at cohtech.com Tue Mar 30 12:51:31 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:51:31 2004 Subject: [Nagiosplug-devel] check_log2 for perl framework Message-ID: <4069DDA7.30709@cohtech.com> The check_log2 plugin modified for the new perl framework. Tested and in use on our infrastructure This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-log2.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_log2.pl URL: From howard at cohtech.com Tue Mar 30 12:53:04 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:53:04 2004 Subject: [Nagiosplug-devel] check_mailq for perl framework Message-ID: <4069DDEF.3090005@cohtech.com> check_mailq midified for the perl framework. Tested and in use on our framework. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-mailq.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_mailq.pl URL: From howard at cohtech.com Tue Mar 30 12:54:13 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:54:13 2004 Subject: [Nagiosplug-devel] check_maxchannels for perl framework Message-ID: <4069DE53.6070303@cohtech.com> check_maxchannels modified for the new perl framework. Needs testing in a live environment This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-maxchannels.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_maxchannels.pl URL: From howard at cohtech.com Tue Mar 30 12:56:26 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:56:26 2004 Subject: [Nagiosplug-devel] check_maxwanstate for perl framework Message-ID: <4069DEBD.7030409@cohtech.com> check_maxwanstate modified for the perl framework. Not test here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-maxwanstate.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_maxwanstate.pl URL: From howard at cohtech.com Tue Mar 30 12:57:32 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:57:32 2004 Subject: [Nagiosplug-devel] check_mem for perl framework Message-ID: <4069DF06.6050700@cohtech.com> check_mem plugin modified for the new perl framework. Tested and in use here This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-mem.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_mem.pl URL: From howard at cohtech.com Tue Mar 30 12:59:00 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 12:59:00 2004 Subject: [Nagiosplug-devel] Small patch for check_mrtg Message-ID: <4069DF64.9050706@cohtech.com> output usage on a single line. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-mrtg.patch URL: From howard at cohtech.com Tue Mar 30 13:00:33 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 13:00:33 2004 Subject: [Nagiosplug-devel] Small patch for check_mrtgtraf Message-ID: <4069DF8F.1010509@cohtech.com> Output usage on one line. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-mrtgtraf.patch URL: From howard at cohtech.com Tue Mar 30 13:09:02 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Tue Mar 30 13:09:02 2004 Subject: [Nagiosplug-devel] check_ms_spooler modified for perl framework Message-ID: <4069E1B2.3010301@cohtech.com> check_ms_spooler modified for perl framework. Not tested here! This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-ms-spooler.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_ms_spooler.pl URL: From Stanley.Hopcroft at IPAustralia.Gov.AU Tue Mar 30 15:22:04 2004 From: Stanley.Hopcroft at IPAustralia.Gov.AU (Stanley Hopcroft) Date: Tue Mar 30 15:22:04 2004 Subject: [Nagiosplug-devel] check_maxchannels for perl framework In-Reply-To: <4069DE53.6070303@cohtech.com>; from howard@cohtech.com on Tue, Mar 30, 2004 at 09:53:39PM +0100 References: <4069DE53.6070303@cohtech.com> Message-ID: <20040331092123.B40094@IPAustralia.Gov.AU> Dear Sir, I am writing to thank you for your 'small patches' and compliment you on your prolificity. Well done ! Please would you consider a group posting of . your rationale (small dot points for me please) for this approach - eg facilitate plugin integration in GUI config manager ? . the performance impact of the new framework (/usr/bin/time repeatd a few times [vi] of the original plugin and that in the framework) . how it performs under ePN - can't imagine it's a problem and I will probably try this. I like the 'opt in' approach to option checking; that alone should make a plugin authors lot a much easier one. Yours sincerely. -- ------------------------------------------------------------------------ Stanley Hopcroft ------------------------------------------------------------------------ '...No man is an island, entire of itself; every man is a piece of the continent, a part of the main. If a clod be washed away by the sea, Europe is the less, as well as if a promontory were, as well as if a manor of thy friend's or of thine own were. Any man's death diminishes me, because I am involved in mankind; and therefore never send to know for whom the bell tolls; it tolls for thee...' from Meditation 17, J Donne. -------------- next part -------------- #!/usr/bin/perl -w use strict ; # # # dotime # # L Wall, "Programming Perl 1st ed" p 331 # # usage dotime repeat command # updated for P 5 by S Hopcroft die "Usage: dotime \n" if @ARGV < 2 ; my $repeat = shift(@ARGV) ; die "Invalid repeat: $repeat, stopped" unless (($repeat > 0) && ($repeat < 999)) ; use vars qw($arg) ; my $times = ($repeat == 1 ? "once" : "$repeat times") ; print qq/Running @ARGV $times\n/ ; $| = 1 ; my %run_time = ( real => { total => 0, list => [] }, user => { total => 0, list => [] }, sys => { total => 0, list => [] } ) ; for my $pass (1 .. $repeat) { print "$pass " ; open (TIMES, "/usr/bin/time @ARGV 2>&1 |") || die "Can't run /usr/bin/time @ARGV 2>&1, stopped" ; while () { my %t ; if ( @t{ qw(real user sys) } = /^\s*(\S+) real\s*(\S+) user\s*(\S+) sys/ ) { foreach my $time ( keys %run_time ) { $run_time{$time}{total} += $t{$time} ; push @{ $run_time{$time}{list} }, $t{$time} ; } } } close (TIMES) ; } print "done\n" ; my $fields_per_line = 15 ; my ($fields, $values, $avg, $form) ; $form = "format STDOUT =\n" ; if ( $repeat <= $fields_per_line) { $fields = '@<<<<@>>>>>>' . '@>>>>>>>>' x $repeat ; $values = '$arg,$avg ' . ',shift @_' x $repeat ; $form .=<>>>>>>>' x $data_fields ; my $values = '$arg,$avg ' . ',shift @_' x $data_fields ; $form .=<>>>>>>>' x $data_fields ; my $line_vals = $spaces . ',shift @_' x $data_fields ; my $lines_remaining = int( ($repeat - $data_fields)/$data_fields ) ; $form .=<>>>>>>>' x $fields_remaining : "\n" ) ; $values = ( $fields_remaining ? $spaces . ',shift @_' x $fields_remaining : "\n" ) ; $form .=< References: <4069D828.60705@cohtech.com> Message-ID: <20040331002646.15149734.karl@debisschop.net> On Tue, 30 Mar 2004 21:27:20 +0100 Howard Wilkinson wrote: > This patch to check_game makes the Usage report appear on one line. I refer you to http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN271 It has been long-standing practice to code the usage and help screens to fit on an 80-char wide display. This arises from the observation that sysadmins may be struggling with the plugins in adverse circumstances - such as on a serial console in some loud drafty server room. They should not also need to deal with funky line wraps. There is a separate discussion underway with respect to creating a set af man pages that would provide more flexibale scaling to console width, but if you wish to change the documented coding practices, we should open up a discussion on that point first. -- Karl From karl at debisschop.net Tue Mar 30 22:03:01 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Tue Mar 30 22:03:01 2004 Subject: [Nagiosplug-devel] Patch to check_http plugin In-Reply-To: <4069D92C.3050700@cohtech.com> References: <4069D92C.3050700@cohtech.com> Message-ID: <20040331010201.57b12174.karl@debisschop.net> On Tue, 30 Mar 2004 21:31:40 +0100 Howard Wilkinson wrote: > This patch adds cookies and keepalives to the check_http plugin, it > also flattens the Usage output to one line. Tested here but could do > with some use on a live infrastructure. I wnat to comfirm what the cookie handling does. It looks like it only comes in to play for a redirect. In the case of a redirect, the cookies are read from the first server response and passed to the redirection target (if they are not expired). Is that correct? Is there anything else going on? Also, if the target of the server redirect is not in the same domain as the original request, shouldn't the cookies be suppressed? These are perl character classes: #define COOKIE_BODY "%[/a-zA-Z0-9._-=@,: ]" #define COOKIE_PATH ";%[/a-zA-Z0-9._-=@,: ]" As C character classes, I do not think they do what you expect in all cases. I believe they should be rewritten to conform to POSIX: -- Karl From karl at debisschop.net Tue Mar 30 22:47:12 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Tue Mar 30 22:47:12 2004 Subject: [Nagiosplug-devel] Replacement Perl framework files In-Reply-To: <4069C1F3.3040602@cohtech.com> References: <4069C1F3.3040602@cohtech.com> Message-ID: <20040331014539.42a13efd.karl@debisschop.net> On Tue, 30 Mar 2004 19:52:35 +0100 Howard Wilkinson wrote: > I distributed the wrong files for the perl framework. Here are the > fixed and working ones I should have sent out!. A couple of comments. First, I do appreciate that this framework does a great job of providing a large base of usable code. Kudos. I would imagine there's more than a few hours of work in there. One trivial issue - you have 'warrenty' for 'warranty' - obivously a lesser concern in the variable/method names but it is also present on the output. If 'warrenty' is a non-US variant spelling, I'm not familiar with it. Can that be changed? What I do really wonder about is the overall weight of these modules - there are 70 KB of modules for plugins that used to weigh in at only 8 KB to begin with. If embedded perl does what it's supposed to, this all gets compiled only once, I hope. But if a user is not running embedded perl, the sheer weight of code could have real performance impacts. So overall, I'd like to move to this new frameowrk if the potential performance impacts can be evaluated and found to be managable in some way. And thanks for this effort, it clearly is a step forward. -- Karl From karl at debisschop.net Tue Mar 30 22:52:08 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Tue Mar 30 22:52:08 2004 Subject: [Nagiosplug-devel] check_by_ssh patch In-Reply-To: <4069C92C.40000@cohtech.com> References: <4069C92C.40000@cohtech.com> Message-ID: <20040331015144.0a293d0e.karl@debisschop.net> On Tue, 30 Mar 2004 20:23:24 +0100 Howard Wilkinson wrote: > A simple patch for check_by_ssh which produces usage output on a > single line. This is a quick fix to providing a Usage parsing > interface. Now I see why you disregarded the existing developer guidelines so many times. Could the usage parsing interface be done at the source level? The reason I ask is because we really need a tool to do it there anyway. Several times we have either provided an option and failed to document it, or provided documentation for an option that was not added to the getopt array or was not handled on the getopt processing. So I have come to believe we need a cdoe checker for that case. It would seem that a usage parse tree would be a natural outcome of such a checkier. And would tie into discussions about embedded docbook documentation which could be used to generate help doc in man page, html, or PDF format. -- Karl From howard at cohtech.com Wed Mar 31 00:28:19 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 00:28:19 2004 Subject: [Nagiosplug-devel] Replacement Perl framework files In-Reply-To: <20040331014539.42a13efd.karl@debisschop.net> References: <4069C1F3.3040602@cohtech.com> <20040331014539.42a13efd.karl@debisschop.net> Message-ID: <406A7FB2.9080905@cohtech.com> Karl, My apologies for the speeeling mistook, I thought I had fixed all of these. Will send in a new version (and patches later today). I am running a production framework using these systems and yes the compile time does predominate on the plugin execution (but I think if the figures I am getting out of Perl are right then it did anyway). Key thing is are the module files in the filing system cache! Overall monitoring load has not increased by any measurable amount, with each probe running every 5 minutes (Nagios reports 35.1% of checks completed within 5 minutes and 100% in 15 minutes) . Check latency has been decreased slightly if you believe the figures but is within the error margin. Some of this will be from the few small gains made by code getting rewritten to be simpler once the argument parsing is removed from the main flow. My later plugin attempt, which are still to be sent out, result in generally smaller and easier to understand (I think) code. The biggest overhead is the pre-defined Parameters that are exported for convenience from Plugin::Parameter. I am thinking on moving these to another module set, but then we are into more files for less code. I could of course adopt a shorter naming convention, but I had hoped that the efficiency of the Perl parser/lexer would make this unnecessary. ePN should win big with this I would have thought but cannot test this yet, as I need to get our distributed framework up on more machines and need the auto learning facility urgently. I note you comment about the `human' readable output in the check_game patch and will abandon this approach (except for internal use) for now until I can duplicate the perl library approach with the C framework. Will hammer on the code a bit more later today to get some error reporting integrated and write a surrounding document to describe the use of the framework once it is fully ready. Regards, Howard. Karl DeBisschop wrote: >On Tue, 30 Mar 2004 19:52:35 +0100 >Howard Wilkinson wrote: > > > >>I distributed the wrong files for the perl framework. Here are the >>fixed and working ones I should have sent out!. >> >> > >A couple of comments. > >First, I do appreciate that this framework does a great job of >providing a large base of usable code. Kudos. I would imagine there's >more than a few hours of work in there. > >One trivial issue - you have 'warrenty' for 'warranty' - obivously a >lesser concern in the variable/method names but it is also present on >the output. If 'warrenty' is a non-US variant spelling, I'm not familiar >with it. Can that be changed? > >What I do really wonder about is the overall weight of these modules - >there are 70 KB of modules for plugins that used to weigh in at only 8 >KB to begin with. If embedded perl does what it's supposed to, this all >gets compiled only once, I hope. But if a user is not running embedded >perl, the sheer weight of code could have real performance impacts. > >So overall, I'd like to move to this new frameowrk if the >potential performance impacts can be evaluated and found to be managable >in some way. > >And thanks for this effort, it clearly is a step forward. > >-- >Karl > > -- Howard Wilkinson Phone: +44(20)7690 7075 Coherent Technology Limited Fax: +44(20)79230110 33 Belgrade Road, Stoke Newington, Mobile: +44(7980)639379 London, United Kingdom, N16 8DH Email: howard at cohtech.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An HTML attachment was scrubbed... URL: From howard at cohtech.com Wed Mar 31 00:32:11 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 00:32:11 2004 Subject: [Nagiosplug-devel] check_by_ssh patch In-Reply-To: <20040331015144.0a293d0e.karl@debisschop.net> References: <4069C92C.40000@cohtech.com> <20040331015144.0a293d0e.karl@debisschop.net> Message-ID: <406A80A5.8090704@cohtech.com> Karl, my approach has been that we should make the plugin writers life easier, even if learning a bit more about how to write a plug-in becomes a necessity. So I am looking to replicate the framework approach from Perl into C. Big advantage that C will have is that it will be able to lots of things at compile time, that Perl gets to do a invocation time. Big disadvantage is the library will be a much larger body of work and I am putting it off until I can assume I have the Perl framework sufficiently stable to act as an exemplar of what to achieve if not a how to achieve it. I have thought about using a embedded Perl interpreter in the 'C' code plugins. But I assume this would go down like a lead balloon for performance reasons! Regards, Howard. Karl DeBisschop wrote: >On Tue, 30 Mar 2004 20:23:24 +0100 >Howard Wilkinson wrote: > > > >>A simple patch for check_by_ssh which produces usage output on a >>single line. This is a quick fix to providing a Usage parsing >>interface. >> >> > >Now I see why you disregarded the existing developer guidelines so many >times. > >Could the usage parsing interface be done at the source level? > >The reason I ask is because we really need a tool to do it there anyway. > >Several times we have either provided an option and failed to document >it, or provided documentation for an option that was not added to the >getopt array or was not handled on the getopt processing. > >So I have come to believe we need a cdoe checker for that case. It would >seem that a usage parse tree would be a natural outcome of such a >checkier. And would tie into discussions about embedded docbook >documentation which could be used to generate help doc in man page, >html, or PDF format. > >-- >Karl > > -- Howard Wilkinson Phone: +44(20)7690 7075 Coherent Technology Limited Fax: +44(20)79230110 33 Belgrade Road, Stoke Newington, Mobile: +44(7980)639379 London, United Kingdom, N16 8DH Email: howard at cohtech.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An HTML attachment was scrubbed... URL: From howard at cohtech.com Wed Mar 31 00:34:15 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 00:34:15 2004 Subject: [Nagiosplug-devel] Patch to check_http plugin In-Reply-To: <20040331010201.57b12174.karl@debisschop.net> References: <4069D92C.3050700@cohtech.com> <20040331010201.57b12174.karl@debisschop.net> Message-ID: <406A8125.1030805@cohtech.com> Will need to go back to my notes, I borrowed these from a previous patch set that I inherited and we do not use this feature at present, so can't be sure they work properly or even do what they are supposed to do. Really doing housekeeping here as we have had to repatch these for a number of plugin releases without using them. Will get back to you later on this one. Karl DeBisschop wrote: >On Tue, 30 Mar 2004 21:31:40 +0100 >Howard Wilkinson wrote: > > > >>This patch adds cookies and keepalives to the check_http plugin, it >>also flattens the Usage output to one line. Tested here but could do >>with some use on a live infrastructure. >> >> > >I wnat to comfirm what the cookie handling does. It looks like it only >comes in to play for a redirect. In the case of a redirect, the cookies >are read from the first server response and passed to the redirection >target (if they are not expired). Is that correct? Is there anything >else going on? > >Also, if the target of the server redirect is not in the same domain as >the original request, shouldn't the cookies be suppressed? > > >These are perl character classes: > >#define COOKIE_BODY "%[/a-zA-Z0-9._-=@,: ]" >#define COOKIE_PATH ";%[/a-zA-Z0-9._-=@,: ]" > >As C character classes, I do not think they do what you expect in all >cases. I believe they should be rewritten to conform to POSIX: > >-- >Karl > > -- Howard Wilkinson Phone: +44(20)7690 7075 Coherent Technology Limited Fax: +44(20)79230110 33 Belgrade Road, Stoke Newington, Mobile: +44(7980)639379 London, United Kingdom, N16 8DH Email: howard at cohtech.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An HTML attachment was scrubbed... URL: From howard at cohtech.com Wed Mar 31 00:43:18 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 00:43:18 2004 Subject: [Nagiosplug-devel] check_maxchannels for perl framework In-Reply-To: <20040331092123.B40094@IPAustralia.Gov.AU> References: <4069DE53.6070303@cohtech.com> <20040331092123.B40094@IPAustralia.Gov.AU> Message-ID: <406A846D.3060703@cohtech.com> Stanley, I intend to produce a design/suage document shortly. It will be small with dot points if I can get it out shortly. The rational for this approach is 2 fold. Adding the burden to the plugin writer to produce the output of the usage, help, version and other standard function in a consistent and complete fashion seems to me to be unnecessary which has led to the thinking that perhaps a framework for the entire operation of a plugin would be a good idea, which has led to this approach being adopted. The second is the thing that got me started on all of this, which was needing to get consistent, complet and upto date usage information and help information in machine processable form for entry into a database. This database is then used to provide a user interface that can prompt for data from the user when building Nagios configurations. I need to be able to do type checking, provide value checks where possible, confirm that parameters will be compatible (e.g. SNMPv1 with SNMPv3 authorisation arguments do not make much sense) and so on. Thus, I am led to the approach shown in the Plugin and Plugin::Parameter modules. Probably coudl be done better, could certainly use Perl smarter and give more consise files (but probably not faster executing) but it does have some industrial strength and will if finished provide a much easier environment within which plugins of greater content can be written. I am working on standardising the SNMP framework to allow the writer to concentrate on processing the MIB results, as well as, providing a common error reporting framework and output production framework. On a note I received from Karl and have responded to but is related to peerformance. Our exeperience so far is that this has little eimpact on a running monitor environment, where about 50% of our plugin executions have now been changed to operate this. The cost of loading the Plugin could be reduced considerabley if the POD is removed from the Plugin.pm and Plugin::Parameter.pm files - this could be done at compile time by fixing the Makefile. This would reduce the file size by > 50% thus the overhead is about 35K source code. Further pounding on my style could easily bring this down by 50% so for smaller machines we could make this a not problem. I have not tested under ePN although I believe I have stuck to the rules for compile once, run many operation. I would appreciate some live running under ePN by someone and some feedback on what to fix, as we will be implementign an ePN based environment later this year and I would like to concentrate on getting working and not the plugin's. Another note. All of the plugins now have taint checking on by default, and have been fixed to work in this environment. Regards, Howard. Stanley Hopcroft wrote: >Dear Sir, > >I am writing to thank you for your 'small patches' and compliment you on >your prolificity. > >Well done ! > >Please would you consider a group posting of > >. your rationale (small dot points for me please) for this approach > > - eg facilitate plugin integration in GUI config manager ? > >. the performance impact of the new framework (/usr/bin/time repeatd a >few times [vi] of the original plugin and that in the framework) > >. how it performs under ePN - can't imagine it's a problem and I will > probably try this. > >I like the 'opt in' approach to option checking; that alone should make >a plugin authors lot a much easier one. > >Yours sincerely. > >-- >------------------------------------------------------------------------ >Stanley Hopcroft >------------------------------------------------------------------------ > >'...No man is an island, entire of itself; every man is a piece of the >continent, a part of the main. If a clod be washed away by the sea, >Europe is the less, as well as if a promontory were, as well as if a >manor of thy friend's or of thine own were. Any man's death diminishes >me, because I am involved in mankind; and therefore never send to know >for whom the bell tolls; it tolls for thee...' > >from Meditation 17, J Donne. > > >------------------------------------------------------------------------ > >#!/usr/bin/perl -w > >use strict ; > ># ># ># dotime ># ># L Wall, "Programming Perl 1st ed" p 331 ># ># usage dotime repeat command > ># updated for P 5 by S Hopcroft > > >die "Usage: dotime \n" if @ARGV < 2 ; > >my $repeat = shift(@ARGV) ; >die "Invalid repeat: $repeat, stopped" > unless (($repeat > 0) && ($repeat < 999)) ; > >use vars qw($arg) ; > >my $times = ($repeat == 1 ? "once" : "$repeat times") ; >print qq/Running @ARGV $times\n/ ; >$| = 1 ; > >my %run_time = ( real => { total => 0, list => [] }, > user => { total => 0, list => [] }, > sys => { total => 0, list => [] } > ) ; > >for my $pass (1 .. $repeat) { > print "$pass " ; > open (TIMES, "/usr/bin/time @ARGV 2>&1 |") > || die "Can't run /usr/bin/time @ARGV 2>&1, stopped" ; > while () { > my %t ; > if ( @t{ qw(real user sys) } = /^\s*(\S+) real\s*(\S+) user\s*(\S+) sys/ ) { > foreach my $time ( keys %run_time ) { > $run_time{$time}{total} += $t{$time} ; > push @{ $run_time{$time}{list} }, $t{$time} ; > } > } > } > close (TIMES) ; >} > >print "done\n" ; > >my $fields_per_line = 15 ; >my ($fields, $values, $avg, $form) ; > >$form = "format STDOUT =\n" ; > >if ( $repeat <= $fields_per_line) { > > $fields = '@<<<<@>>>>>>' . '@>>>>>>>>' x $repeat ; > $values = '$arg,$avg ' . ',shift @_' x $repeat ; > $form .=<$fields >$values >. >EOF > >} else { > > # XXXX > # The values must follow the picture lines. > # So they must be wrapped also (otherwise a SEGV from the write statement). > # XXXX > > my $data_fields = $fields_per_line - 2 ; > # Only $fields_per_line - 2 datum are displayed on each line of output > > my $spaces = ' ' x 12 ; > > # the multiple of ' ' is the number of chars used by the $arg and $avg fields in the first line > # PLUS the number 2 (for the '@' field markers) so that the fields line up for debugging. > > my $fields = '@<<<<@>>>>>>' . '@>>>>>>>>' x $data_fields ; > my $values = '$arg,$avg ' . ',shift @_' x $data_fields ; > > $form .=<$fields >$values >EOF > > my $line_pics = $spaces . '@>>>>>>>>' x $data_fields ; > my $line_vals = $spaces . ',shift @_' x $data_fields ; > > my $lines_remaining = int( ($repeat - $data_fields)/$data_fields ) ; > > $form .=<$line_pics >$line_vals >EOF > > my $fields_remaining = ($repeat - $data_fields) % $data_fields ; > $fields = ( $fields_remaining ? $spaces . '@>>>>>>>>' x $fields_remaining : "\n" ) ; > $values = ( $fields_remaining ? $spaces . ',shift @_' x $fields_remaining : "\n" ) ; > > $form .=<$fields >$values >. >EOF > >} > ># XXXX > >$arg = ' ' ; > ># $arg __cannot__ be a lexical or its value is not displayed. ># XXXX > >eval $form ; > >sub write { > $avg = shift ; > write ; >} > >&write('Avg', 1 .. $repeat) ; > >&write(split(' ', ' ------' x ($repeat + 1))) ; > >foreach $arg ( qw(real user sys) ) { > &write( sprintf("%6.3f", $run_time{$arg}{total}/$repeat), > @{ $run_time{$arg}{list} } > ) ; >} > > -- Howard Wilkinson Phone: +44(20)7690 7075 Coherent Technology Limited Fax: +44(20)79230110 33 Belgrade Road, Stoke Newington, Mobile: +44(7980)639379 London, United Kingdom, N16 8DH Email: howard at cohtech.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An HTML attachment was scrubbed... URL: From howard at cohtech.com Wed Mar 31 00:49:01 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 00:49:01 2004 Subject: [Nagiosplug-devel] check_nagios_db for perl framework Message-ID: <406A85C0.7050101@cohtech.com> This is the check_nagios_db plugin patched for the perl framework. Further fixes have been include for taint checking. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-nagios-db.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_nagios_db.pl URL: From howard at cohtech.com Wed Mar 31 00:51:01 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 00:51:01 2004 Subject: [Nagiosplug-devel] check_netapp for perl framework Message-ID: <406A8639.2040102@cohtech.com> check_netapp modified for the perl framework. Can't test this at present our NetApps are elsewhere. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-netapp.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_netapp.pl URL: From howard at cohtech.com Wed Mar 31 00:53:10 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 00:53:10 2004 Subject: [Nagiosplug-devel] small patches to check_nt Message-ID: <406A86DC.1000606@cohtech.com> This patch to check_nt fixes a command argument bug. It also outputs the usage on a single line, which needs to be reversed out, but we need for our current system. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-nt.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_nt.c URL: From howard at cohtech.com Wed Mar 31 00:57:11 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 00:57:11 2004 Subject: [Nagiosplug-devel] check_ntp patched for perl framework Message-ID: <406A87CE.1040402@cohtech.com> A patched for check_ntp for the perl framework. Tested and in production use here on many machines! This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-ntp.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_ntp.pl URL: From howard at cohtech.com Wed Mar 31 01:00:03 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:00:03 2004 Subject: [Nagiosplug-devel] check_nwstat (perl version) for perl framework Message-ID: <406A8856.1060405@cohtech.com> check_nwstat patches for perl framework. Not tested here we do not have any Netware, please advise on operation. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-nwstat-pl.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_nwstat.pl URL: From howard at cohtech.com Wed Mar 31 01:01:54 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:01:54 2004 Subject: [Nagiosplug-devel] check_oracle_instance for perl framework Message-ID: <406A88BA.8050407@cohtech.com> check_oracle_instance patched for the perl framework. We have not tested this on a live system as we do not run Oracle on our machines at present. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-oracle-instance.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_oracle_instance.pl URL: From howard at cohtech.com Wed Mar 31 01:03:21 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:03:21 2004 Subject: [Nagiosplug-devel] check_ora_table_space for perl framework Message-ID: <406A8911.3050101@cohtech.com> check_ora_table_space patched for the new perl framework. We have not tested this here could someone report back please. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-ora-table-space.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_ora_table_space.pl URL: From howard at cohtech.com Wed Mar 31 01:19:06 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:19:06 2004 Subject: [Nagiosplug-devel] check_qmailq for perl framework Message-ID: <406A8CD6.2020700@cohtech.com> check_qmailq patched for perl framework. Not tested here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-qmailq.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_qmailq.pl URL: From howard at cohtech.com Wed Mar 31 01:21:08 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:21:08 2004 Subject: [Nagiosplug-devel] check_remote_nagios_status for parl framework Message-ID: <406A8D60.7090106@cohtech.com> check_remote_nagios_status patched for perl framework. Tested but not in production here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-remote-nagios-status.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_remote_nagios_status.pl URL: From howard at cohtech.com Wed Mar 31 01:23:04 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:23:04 2004 Subject: [Nagiosplug-devel] check_rpc for perl framework Message-ID: <406A8DC2.1080603@cohtech.com> check_rpc patched for perl framework. Tested and in production use here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-rpc.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_rpc.pl URL: From howard at cohtech.com Wed Mar 31 01:25:08 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:25:08 2004 Subject: [Nagiosplug-devel] check_rrd_data for perl framework Message-ID: <406A8E49.8050401@cohtech.com> check_rrd_data patched for perl framework. Simple tests run here but not in production use. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-rrd-data.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_rrd_data.pl URL: From howard at cohtech.com Wed Mar 31 01:28:11 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:28:11 2004 Subject: [Nagiosplug-devel] check_snmp_disk_monitor for perl framework Message-ID: <406A8EFD.3070401@cohtech.com> check_snmp_disk_monitor patched for perl frameowkr. Tested and in use on our infrastructure. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-snmp-disk-monitor.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_snmp_disk_monitor.pl URL: From howard at cohtech.com Wed Mar 31 01:29:14 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:29:14 2004 Subject: [Nagiosplug-devel] check_snmp_printer for perl framework Message-ID: <406A8F4F.5060800@cohtech.com> check_snmp_printer patched for perl framework. Tested and in use here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-snmp-printer.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_snmp_printer.pl URL: From howard at cohtech.com Wed Mar 31 01:31:04 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:31:04 2004 Subject: [Nagiosplug-devel] check_snmp_process_monitor for perl framework Message-ID: <406A8FA2.1010900@cohtech.com> check_snmp_process_monitor patched for process framework. Tested and in use. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-snmp-process-monitor.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_snmp_process_monitor.pl URL: From howard at cohtech.com Wed Mar 31 01:32:13 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:32:13 2004 Subject: [Nagiosplug-devel] check_snmp_procs for perl framework Message-ID: <406A8FEE.2000700@cohtech.com> check_snmp_procs patched for perl framework. Tested and in use here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-snmp-procs.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_snmp_procs.pl URL: From howard at cohtech.com Wed Mar 31 01:35:05 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:35:05 2004 Subject: [Nagiosplug-devel] check_sockets for perl framework Message-ID: <406A9083.7050809@cohtech.com> check_socket patched for the perl framework. Includes some small fixes to cope with latest Linux /proc data. Tested but not currently in use here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-sockets.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_sockets.pl URL: From howard at cohtech.com Wed Mar 31 01:55:05 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:55:05 2004 Subject: [Nagiosplug-devel] Patch for check_tcp Message-ID: <406A9551.1000201@cohtech.com> This patch alters check_tcp to enable it to handle general conversations with the server. It is now table driven and the syntax of the command line has changed slightly (should be compatible with previous uses). Usage: check_tcp -H host -p port [-w ] [-c ] [[-s ]* [-e ]*]* [-q ] [-m ] [-d ] [-t ] [-r ] [-v] [-4|-6] [-P ] [-X ] So send and expect strings can be specified any number of times. Each send string item separates an expect string stanza. An empty send string is a NULL operation (possibly should be a separate flag). The expect items are alternatives in each separate occurence. Thus: check_tcp -H mailserver -p smtp -s "USER: fred" -e "OK" -e "FAILED" means send "USER: fred" and expect either OK or FAILED in response. While check_tcp -H mailserver -p smtp -s "USER: fred" -e "OK" -s "" -e "LOGIN ACCEPTED" means send "USER: fred and expect OK followed by LOGIN ACCEPTED in separate records. Further advantage of this approach is that additional protocols can be built in as necessary with simple table entries. I considered but have yet to implement a general scheme using the services file to look up the protocol and port to use from any program name. Uses -p servicename lookup already. Regards, Howard. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-tcp.patch URL: From howard at cohtech.com Wed Mar 31 01:57:02 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:57:02 2004 Subject: [Nagiosplug-devel] check_vcs patched for perl framework Message-ID: <406A95B4.4000006@cohtech.com> This patch has been tested to function without a VCS environment so can someone check it out please. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-vcs.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_vcs.pl URL: From howard at cohtech.com Wed Mar 31 01:58:04 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 01:58:04 2004 Subject: [Nagiosplug-devel] check_wave patched for perl scripts. Message-ID: <406A9603.70203@cohtech.com> check_save patched out for perl framework. Tested but not in production use here. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-wave.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_wave.pl URL: From howard at cohtech.com Wed Mar 31 02:01:08 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 02:01:08 2004 Subject: [Nagiosplug-devel] check_wins patched for perl framework Message-ID: <406A96B4.3010508@cohtech.com> This patch has been tested and it functions within our Windows 2000 environment but it gives what looks like wrong results. However, that may be our environment as we do not rely on Wins for our functionality and things maybe screwy here. So could somebody else check this out and let me know what needs fixing in the plugin. I will get to our Wins environment shortly and sort that and then put this into production. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-wins.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_wins.pl URL: From howard at cohtech.com Wed Mar 31 02:03:01 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 02:03:01 2004 Subject: [Nagiosplug-devel] netutils bug fix Message-ID: <406A971A.3020801@cohtech.com> This fixes a bug which makes check_nt never work. The patch adds a default return value to the send_request routine, which was returning an undefined stack value. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-netutils.patch URL: From howard at cohtech.com Wed Mar 31 02:04:16 2004 From: howard at cohtech.com (Howard Wilkinson) Date: Wed Mar 31 02:04:16 2004 Subject: [Nagiosplug-devel] Missing semi-colon fix for subst Message-ID: <406A977D.9090409@cohtech.com> Fixes the subst script to handle semi-colons correctly in the perl syntax. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-subst.patch URL: From karl at debisschop.net Wed Mar 31 04:50:11 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Wed Mar 31 04:50:11 2004 Subject: [Nagiosplug-devel] check_by_ssh patch In-Reply-To: <406A80A5.8090704@cohtech.com> References: <4069C92C.40000@cohtech.com> <20040331015144.0a293d0e.karl@debisschop.net> <406A80A5.8090704@cohtech.com> Message-ID: <20040331074913.019de845.karl@debisschop.net> On Wed, 31 Mar 2004 09:26:13 +0100 Howard Wilkinson wrote: > Karl, > > my approach has been that we should make the plugin writers life > easier, even if learning a bit more about how to write a plug-in > becomes a necessity. So I am looking to replicate the framework > approach from Perl into C. Remember that the plugins are C not C++. That being said, moving the burden of creating consistent code to utils.c is generally a concept I support, having already written the type checks and a variety of other functions to do that in utils.c. Of course I'm hoping to focus on releasing 1.4 before trying to incorporate the large amount of code you have just submitted. Of course this comment does not answer the question I originally posed. Currently you have chosen to go against published developer guidelines and make usgae lines more than 80 chars long in order to meet the requirement of your configuration generator. I'm still wondering if the configuration info could be genrated from the source rather than from the compiled executable. > Big advantage that C will have is that it > will be able to lots of things at compile time, that Perl gets to do a > invocation time. Big disadvantage is the library will be a much larger > body of work and I am putting it off until I can assume I have the > Perl framework sufficiently stable to act as an exemplar of what to > achieve if not a how to achieve it. I have thought about using a > embedded Perl interpreter in the 'C' code plugins. But I assume this > would go down like a lead balloon for performance reasons! In my mind, perl is the way to write good plugins. When epn is fully stable, there will be a fairly little reason to keep the most of the C plugins alive. Right now, however, the basic reason to keep the C plugins alive is for performance. So yes, performance hogs in the C plugins will be strongly resisted. -- Karl From ae at op5.se Wed Mar 31 05:33:03 2004 From: ae at op5.se (Andreas Ericsson) Date: Wed Mar 31 05:33:03 2004 Subject: [Nagiosplug-devel] check_by_ssh patch In-Reply-To: <20040331074913.019de845.karl@debisschop.net> References: <4069C92C.40000@cohtech.com> <20040331015144.0a293d0e.karl@debisschop.net> <406A80A5.8090704@cohtech.com> <20040331074913.019de845.karl@debisschop.net> Message-ID: <406AC697.8080509@op5.se> Karl DeBisschop wrote: > On Wed, 31 Mar 2004 09:26:13 +0100 > Howard Wilkinson wrote: > > >>Karl, >> >>my approach has been that we should make the plugin writers life >>easier, even if learning a bit more about how to write a plug-in >>becomes a necessity. So I am looking to replicate the framework >>approach from Perl into C. > > > Remember that the plugins are C not C++. > > That being said, moving the burden of creating consistent code to > utils.c is generally a concept I support, having already written the > type checks and a variety of other functions to do that in utils.c. > > Of course I'm hoping to focus on releasing 1.4 before trying to > incorporate the large amount of code you have just submitted. > > Of course this comment does not answer the question I originally posed. > Currently you have chosen to go against published developer guidelines > and make usgae lines more than 80 chars long in order to meet the > requirement of your configuration generator. I'm still wondering if the > configuration info could be genrated from the source rather than from > the compiled executable. > > >>Big advantage that C will have is that it >>will be able to lots of things at compile time, that Perl gets to do a >>invocation time. Big disadvantage is the library will be a much larger >>body of work and I am putting it off until I can assume I have the >>Perl framework sufficiently stable to act as an exemplar of what to >>achieve if not a how to achieve it. I have thought about using a >>embedded Perl interpreter in the 'C' code plugins. But I assume this >>would go down like a lead balloon for performance reasons! > > > In my mind, perl is the way to write good plugins. When epn is fully > stable, there will be a fairly little reason to keep the most of the C > plugins alive. Right now, however, the basic reason to keep the C > plugins alive is for performance. So yes, performance hogs in the C > plugins will be strongly resisted. > Apart from the fact that not everybody has perl installed, and that it is a fair amount slower (even with the epn) than a properly written C-program. Also, Perl isn't, and never will be, an industrial strength programming language. This means that some things just can't be done without C-coding anyways. If I understand the epn correctly, it will cache compiled images of every perl script it needs to run in memory and then pass the precompiled image to perl (correct me if I'm wrong here), so every time Nagios forks it will copy the cached images along with the rest of the stack (the other PTE's are copy-on-write in Linux, but other OS'es may have to copy these as well). If we set all that aside there is still the issue of having every bug ever intoduced in Perl spread to every plugin written in it (currently mostly temporary filehandling stuff). Also, what happens if one or more perl-scripts need to be setsuid? Will Nagios have to run as root, or will the epn be able to handle it properly? > -- > Karl > -- Mvh / Best Regards Sourcerer / Andreas Ericsson OP5 AB +46 (0)733 709032 andreas.ericsson at op5.se From pla at softflare.com Wed Mar 31 07:46:11 2004 From: pla at softflare.com (Paul L. Allen) Date: Wed Mar 31 07:46:11 2004 Subject: [Nagiosplug-devel] Re: check_by_ssh patch In-Reply-To: <406AC697.8080509@op5.se> References: <4069C92C.40000@cohtech.com> <20040331015144.0a293d0e.karl@debisschop.net> <406A80A5.8090704@cohtech.com> <20040331074913.019de845.karl@debisschop.net> <406AC697.8080509@op5.se> Message-ID: <20040331154532.27457.qmail@minnow.softflare.net> Andreas Ericsson writes: > Apart from the fact that not everybody has perl installed, Perl comes with most distros these days. It may be an optional install with some of them, but so is the C compiler. > and that it is a fair amount slower (even with the epn) than a properly > written C-program. It depends very much on what you're doing with it. For number-crunching it is slower, for uses where it runs, does a few things, then terminates then the difference can be a lot smaller. > Also, Perl isn't, and never will be, an industrial strength > programming language. I wondered if you were a troll when you first popped up here. Starting a holy war over programming languages is a typical troll tactic. And defining a programming language as "industrial strength" first requires you to state whether you are basing your definition on programmer efficiency, CPU efficiency, memory efficiency or other criteria. Perl has a lot of stuff that C lacks without adding libraries that are not a standard part of C. Useful stuff like data structures, regexes and memory management. Stuff that allows perl programmers to be more productive and means they don't have to take care to avoid buffer overflows. > This means that some things just can't be done > without C-coding anyways. Most things can be done in perl without C coding, although a small number of them would be a little inefficient. Most, but not all, syscalls can be handled by perl. For the few that cannot you need an XS module to provide the glue. Since perl is Turing-complete, with a little XS to take care of the small number of syscalls that return multiple values and which are not already accessible natively, it can do anything you can do in C. > If we set all that aside there is still the issue of having every bug ever > intoduced in Perl spread to every plugin written in it As opposed to every bug ever introduced into the C compiler and libraries, along with every bug introduced by plugin authors being careless with buffer overflows and who use printf without a format specification. You are surely trolling here. > (currently mostly temporary filehandling stuff). For which there are three solutions. One of which is not recommended because it relies upon C's tmpfile(3) implementation - which is broken on some systems. > Also, what happens if one or more perl-scripts need to be setsuid? > Will Nagios have to run as root, or will the epn be able to handle it > properly? Anyone who was in a position to know what they were talking about when commenting on the deficiencies of perl would know that Nagios does not have to run as root to run a setuid script. Not that I would recommend having a setuid plugin, but if it's absolutely necessary it will run quite happily. Well, not happily if you don't know how to write setuid perl because perl will complain bitterly about data it receives from the outside world unless you take steps to stop it complaining for each and every item - something intended to make you consider what you're doing with that data and whether or not malicious input could do you harm. -- Paul Allen Softflare Support From ae at op5.se Wed Mar 31 09:09:04 2004 From: ae at op5.se (Andreas Ericsson) Date: Wed Mar 31 09:09:04 2004 Subject: [Nagiosplug-devel] Re: check_by_ssh patch In-Reply-To: <20040331154532.27457.qmail@minnow.softflare.net> References: <4069C92C.40000@cohtech.com> <20040331015144.0a293d0e.karl@debisschop.net> <406A80A5.8090704@cohtech.com> <20040331074913.019de845.karl@debisschop.net> <406AC697.8080509@op5.se> <20040331154532.27457.qmail@minnow.softflare.net> Message-ID: <406AFAE5.7010908@op5.se> Paul L. Allen wrote: > Andreas Ericsson writes: >> and that it is a fair amount slower (even with the epn) than a >> properly written C-program. > > It depends very much on what you're doing with it. For number-crunching > it is slower, for uses where it runs, does a few things, then terminates > then the difference can be a lot smaller. > Datacrunching in general. check_ifoperstatus runs in 6 seconds real time whereas a shellscript checking multiple interfaces at the same time runs in 1 second. >> Also, Perl isn't, and never will be, an industrial strength >> programming language. > And > defining a programming language as "industrial strength" first requires > you to state whether you are basing your definition on programmer > efficiency, CPU efficiency, memory efficiency or other criteria. Language possibilities. If you can't do it in C, it can't be done at all. > Perl > has a lot of stuff that C lacks without adding libraries that are not > a standard part of C. But not without perl modules. > Useful stuff like data structures, regexes and > memory management. Ofcourse it has memory management. Every script language in the world does memory management, and virtually every script language has data structures. > Stuff that allows perl programmers to be more > productive and means they don't have to take care to avoid buffer > overflows. There's always a tradeoff in development time if execution time is more important. This is true in perl as well. >> This means that some things just can't be done without C-coding anyways. > > Most things can be done in perl without C coding, although a small number > of them would be a little inefficient. A gross overstatement followed by an equally gross understatement. > Most, but not all, syscalls can be > handled by perl. For the few that cannot you need an XS module to provide > the glue. Since perl is Turing-complete, with a little XS to take care > of the small number of syscalls that return multiple values and which > are not already accessible natively, it can do anything you can do in C. > So what you're saying is; Code it in C, then write some more code so that the third layer of code you write (the perl script) can access the code you wrote first. How does this make development time faster and more efficient? Those same functions can be called and linked from any C program without the intermittent layer and the top-level code. >> If we set all that aside there is still the issue of having every bug >> ever intoduced in Perl spread to every plugin written in it > > As opposed to every bug ever introduced into the C compiler and libraries, ... which ALSO fan down into Perl. > along with every bug introduced by plugin authors being careless with > buffer overflows and who use printf without a format specification. A plugin is not a big thing to audit. Fix the bugs and you're back in the fast lane again. > You > are surely trolling here. > Yada yada. >> (currently mostly temporary filehandling stuff). > > For which there are three solutions. One of which is not recommended > because it relies upon C's tmpfile(3) implementation - which is broken > on some systems. > And should be fixed to be secure and honor the $TMPDIR environment variable. >> Also, what happens if one or more perl-scripts need to be setsuid? >> Will Nagios have to run as root, or will the epn be able to handle it >> properly? > > Anyone who was in a position to know what they were talking about when > commenting on the deficiencies of perl would know that Nagios does not > have to run as root to run a setuid script. I know that, but how does it work under the hood? If perl (the program) is invoked every time a precompiled image needs to execute I seriously doubt the effectiveness of the epn. If it doesn't, then how can it the elevated privileges of the script be retained? That's why the epn was mentioned in the follow-up question. On a personal note; I really don't like your tone. You dismiss without knowing, you are arrogant when you should be humble and you are stubborn enough to teach a mule. -- Mvh / Best Regards Sourcerer / Andreas Ericsson OP5 AB +46 (0)733 709032 andreas.ericsson at op5.se From justin at techadvise.com Wed Mar 31 10:21:23 2004 From: justin at techadvise.com (Justin Ellison) Date: Wed Mar 31 10:21:23 2004 Subject: [Nagiosplug-devel] Re: check_by_ssh patch In-Reply-To: <406AFAE5.7010908@op5.se> References: <4069C92C.40000@cohtech.com> <20040331015144.0a293d0e.karl@debisschop.net> <406A80A5.8090704@cohtech.com> <20040331074913.019de845.karl@debisschop.net> <406AC697.8080509@op5.se> <20040331154532.27457.qmail@minnow.softflare.net> <406AFAE5.7010908@op5.se> Message-ID: <1080756660.4236.32.camel@localhost> On Wed, 2004-03-31 at 11:07, Andreas Ericsson wrote: > > It depends very much on what you're doing with it. For number-crunching > > it is slower, for uses where it runs, does a few things, then terminates > > then the difference can be a lot smaller. > > > Datacrunching in general. check_ifoperstatus runs in 6 seconds real time > whereas a shellscript checking multiple interfaces at the same time runs > in 1 second. Ouch! I'm not getting into the C vs Perl argument, but you have something not right if things run that slow. I am querying a remote system 15 routers away from my Nag box: [root at www nagios]# time /usr/lib/nagios/plugins/check_ifoperstatus -k 2 -H cmgw.mydomain.com -C mycomm WARNING: Interface FastEthernet1/0 (index 2) is administratively down. real 0m0.375s user 0m0.270s sys 0m0.010s [root at www nagios]# time /usr/lib/nagios/plugins/check_ifstatus -H cmgw.mydomain.com -C mycom -v2 OK: host 'cmgw.mydomain.com', interfaces up: 10, down: 0, dormant: 0 real 0m0.842s user 0m0.300s sys 0m0.090s Just walking the ifDescr table in bash takes longer: [root at www nagios]# time snmpwalk -v2c -c mycom cmgw.mydomain.com ifDescr IF-MIB::ifDescr.1 = STRING: FastEthernet0/0 IF-MIB::ifDescr.2 = STRING: FastEthernet1/0 IF-MIB::ifDescr.3 = STRING: Cable3/0 IF-MIB::ifDescr.4 = STRING: Cable3/0-upstream0 IF-MIB::ifDescr.5 = STRING: Cable3/0-upstream1 IF-MIB::ifDescr.6 = STRING: Cable3/0-upstream2 IF-MIB::ifDescr.7 = STRING: Cable3/0-upstream3 IF-MIB::ifDescr.8 = STRING: Cable3/0-upstream4 IF-MIB::ifDescr.9 = STRING: Cable3/0-upstream5 IF-MIB::ifDescr.10 = STRING: Cable3/0-downstream IF-MIB::ifDescr.11 = STRING: Null0 real 0m1.535s user 0m0.100s sys 0m0.030s -- Justin Ellison -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: From root at cohtech.com Wed Mar 31 10:59:00 2004 From: root at cohtech.com (John Root) Date: Wed Mar 31 10:59:00 2004 Subject: [Nagiosplug-devel] check_pop3 for perl framework Message-ID: <406A89E3.3080506@cohtech.com> check_pop3 patched up for perl framework This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from you system. E-mail transmission cannot be guarenteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: nagios-plugins-1.4.0pre1-check-pop3.patch URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: check_pop3.pl URL: From tonvoon at mac.com Wed Mar 31 15:09:02 2004 From: tonvoon at mac.com (Ton Voon) Date: Wed Mar 31 15:09:02 2004 Subject: [Nagiosplug-devel] netutils bug fix In-Reply-To: <406A971A.3020801@cohtech.com> References: <406A971A.3020801@cohtech.com> Message-ID: <479B0BE2-8368-11D8-87E1-000A27E41300@mac.com> Applied to v1.19. Thanks. On 31 Mar, 2004, at 11:02, Howard Wilkinson wrote: > --- nagiosplug-save/plugins/netutils.c 2004-03-01 12:27:19.000000000 > +0000 > +++ nagiosplug/plugins/netutils.c 2004-03-30 19:46:10.000000000 +0100 > @@ -304,7 +304,7 @@ > int > send_request (int sd, int proto, const char *send_buffer, char > *recv_buffer, int recv_size) > { > - int result; > + int result = STATE_OK; > int send_result; > int recv_result; > struct timeval tv; From tonvoon at mac.com Wed Mar 31 15:12:04 2004 From: tonvoon at mac.com (Ton Voon) Date: Wed Mar 31 15:12:04 2004 Subject: [Nagiosplug-devel] small patches to check_nt In-Reply-To: <406A86DC.1000606@cohtech.com> References: <406A86DC.1000606@cohtech.com> Message-ID: Fixed the command line bug in v1.22 - thanks. I think I'll need Karl to adjudicate on the single line usage output and the other patches with regards to the new perl framework. On 31 Mar, 2004, at 09:52, Howard Wilkinson wrote: > This patch to check_nt fixes a command argument bug. It also outputs > the usage on a single line, which needs to be reversed out, but we > need for our current system. > > > > This message contains confidential information and is intended only > for the individual named. If you are not the named addressee you > should not disseminate, distribute or copy this e-mail. Please > notify the sender immediately by e-mail if you have received this > e-mail by mistake and delete this e-mail from you system. > > E-mail transmission cannot be guarenteed to be secure or error-free > as information could be intercepted, corrupted, lost, destroyed, > arrive late or incomplete, or contain viruses. The sender therefore > does not accept liability for any errors or omissions in the contents > of this message which arise as a result of e-mail transmission. If > verification is required please request a hard-copy version. > diff -ruN nagios-plugins-1.4.0alpha1-save/plugins/check_nt.c > nagios-plugins-1.4.0alpha1/plugins/check_nt.c > --- nagios-plugins-1.4.0alpha1-save/plugins/check_nt.c 2003-11-12 > 05:53:06.000000000 +0000 > +++ nagios-plugins-1.4.0alpha1/plugins/check_nt.c 2004-03-18 > 23:34:49.000000000 +0000 > @@ -180,7 +180,7 @@ > > if (value_list==NULL) > output_message = strdup (_("missing -l parameters")); > - else if (strlen(value_list)==1) > + else if (strlen(value_list)!=1) > output_message = strdup (_("wrong -l argument")); > else { > asprintf(&send_buffer,"%s&4&%s", req_password, value_list); > @@ -587,7 +587,7 @@ > void print_usage(void) > { > printf(_("\ > -Usage: %s -H host -v variable [-p port] [-w warning] [-c critical]\n\ > - [-l params] [-d SHOWALL] [-t timeout]\n"), progname); > +Usage: %s -H host -v variable [-p port] [-w warning] [-c critical]\ > + [-l params] [-d SHOWALL] [-t timeout]\n"), progname); > printf (_(UT_HLP_VRS), progname, progname); > } > / > *********************************************************************** > ******* > * > * CHECK_NT.C > * > * Program: Windows NT plugin for NetSaint > * License: GPL > * Copyright (c) 2000-2002 Yves Rubin (rubiyz at yahoo.com) > * > * Description: > * > * This requires NSClient software to run on NT > (http://nsclient.ready2run.nl/) > * > * License Information: > * > * This program is free software; you can redistribute it and/or modify > * it under the terms of the GNU General Public License as published by > * the Free Software Foundation; either version 2 of the License, or > * (at your option) any later version. > * > * This program is distributed in the hope that it will be useful, > * but WITHOUT ANY WARRANTY; without even the implied warranty of > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > * GNU General Public License for more details. > * > * You should have received a copy of the GNU General Public License > * along with this program; if not, write to the Free Software > * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. > * > > *********************************************************************** > ******/ > > #include "common.h" > #include "netutils.h" > #include "utils.h" > > enum checkvars { > CHECK_NONE, > CHECK_CLIENTVERSION, > CHECK_CPULOAD, > CHECK_UPTIME, > CHECK_USEDDISKSPACE, > CHECK_SERVICESTATE, > CHECK_PROCSTATE, > CHECK_MEMUSE, > CHECK_COUNTER, > CHECK_FILEAGE > }; > > enum { > MAX_VALUE_LIST = 30, > PORT = 1248 > }; > > char *server_address=NULL; > char *volume_name=NULL; > int server_port=PORT; > char *value_list=NULL; > char *req_password=NULL; > unsigned long lvalue_list[MAX_VALUE_LIST]; > unsigned long warning_value=0L; > unsigned long critical_value=0L; > int check_warning_value=FALSE; > int check_critical_value=FALSE; > enum checkvars vars_to_check = CHECK_NONE; > int show_all=FALSE; > > const char *progname = "check_nt"; > > char recv_buffer[MAX_INPUT_BUFFER]; > > void fetch_data (const char* address, int port, const char* sendb); > int process_arguments(int, char **); > void preparelist(char *string); > int strtoularray(unsigned long *array, char *string, const char > *delim); > void print_help(void); > void print_usage(void); > > int main(int argc, char **argv){ > int return_code = STATE_UNKNOWN; > char *send_buffer=NULL; > char *output_message=NULL; > char *temp_string=NULL; > char *description=NULL; > > double total_disk_space=0; > double free_disk_space=0; > double percent_used_space=0; > double mem_commitLimit=0; > double mem_commitByte=0; > unsigned long utilization; > unsigned long uptime; > unsigned long age_in_minutes; > double counter_value; > int offset=0; > int updays=0; > int uphours=0; > int upminutes=0; > > setlocale (LC_ALL, ""); > bindtextdomain (PACKAGE, LOCALEDIR); > textdomain (PACKAGE); > > if(process_arguments(argc,argv)==ERROR) > usage(_("Could not parse arguments\n")); > > /* initialize alarm signal handling */ > signal(SIGALRM,socket_timeout_alarm_handler); > > /* set socket timeout */ > alarm(socket_timeout); > > switch (vars_to_check) { > > case CHECK_CLIENTVERSION: > > asprintf(&send_buffer, "%s&1", req_password); > fetch_data (server_address, server_port, send_buffer); > if (value_list != NULL && strcmp(recv_buffer, value_list) != 0) { > asprintf (&output_message, _("Wrong client version - running: %s, > required: %s"), recv_buffer, value_list); > return_code = STATE_WARNING; > } else { > asprintf (&output_message, "%s", recv_buffer); > return_code = STATE_OK; > } > break; > > case CHECK_CPULOAD: > > if (value_list==NULL) > output_message = strdup (_("missing -l parameters")); > else if (strtoularray(lvalue_list,value_list,",")==FALSE) > output_message = strdup (_("wrong -l parameter.")); > else { > /* -l parameters is present with only integers */ > return_code=STATE_OK; > temp_string = strdup (_("CPU Load")); > /* loop until one of the parameters is wrong or not present */ > while (lvalue_list[0+offset]> (unsigned long)0 && > lvalue_list[0+offset]<=(unsigned long)17280 && > lvalue_list[1+offset]> (unsigned long)0 && > lvalue_list[1+offset]<=(unsigned long)100 && > lvalue_list[2+offset]> (unsigned long)0 && > lvalue_list[2+offset]<=(unsigned long)100) { > > /* Send request and retrieve data */ > > asprintf(&send_buffer,"%s&2&%lu",req_password,lvalue_list[0+offset]); > fetch_data (server_address, server_port, send_buffer); > > utilization=strtoul(recv_buffer,NULL,10); > > /* Check if any of the request is in a warning or critical state */ > if(utilization >= lvalue_list[2+offset]) > return_code=STATE_CRITICAL; > else if(utilization >= lvalue_list[1+offset] && > return_code return_code=STATE_WARNING; > > asprintf(&output_message,_(" %lu%% (%lu min average)"), > utilization, lvalue_list[0+offset]); > asprintf(&temp_string,"%s%s",temp_string,output_message); > offset+=3; /* move across the array */ > } > if (strlen(temp_string)>10) /* we had at least one loop */ > output_message = strdup (temp_string); > else > output_message = strdup (_("not enough values for -l parameters")); > } > break; > > case CHECK_UPTIME: > > asprintf(&send_buffer, "%s&3", req_password); > fetch_data (server_address, server_port, send_buffer); > uptime=strtoul(recv_buffer,NULL,10); > updays = uptime / 86400; > uphours = (uptime % 86400) / 3600; > upminutes = ((uptime % 86400) % 3600) / 60; > asprintf(&output_message,_("System Uptime : %u day(s) %u hour(s) %u > minute(s)"),updays,uphours, upminutes); > return_code=STATE_OK; > break; > > case CHECK_USEDDISKSPACE: > > if (value_list==NULL) > output_message = strdup (_("missing -l parameters")); > else if (strlen(value_list)!=1) > output_message = strdup (_("wrong -l argument")); > else { > asprintf(&send_buffer,"%s&4&%s", req_password, value_list); > fetch_data (server_address, server_port, send_buffer); > free_disk_space=atof(strtok(recv_buffer,"&")); > total_disk_space=atof(strtok(NULL,"&")); > percent_used_space = ((total_disk_space - free_disk_space) / > total_disk_space) * 100; > > if (free_disk_space>=0) { > asprintf(&temp_string,_("%s:\\ - total: %.2f Gb - used: %.2f Gb > (%.0f%%) - free %.2f Gb (%.0f%%)"), > value_list, total_disk_space / 1073741824, (total_disk_space > - free_disk_space) / 1073741824, percent_used_space, > free_disk_space / 1073741824, (free_disk_space / > total_disk_space)*100); > > > if(check_critical_value==TRUE && percent_used_space >= > critical_value) > return_code=STATE_CRITICAL; > else if (check_warning_value==TRUE && percent_used_space >= > warning_value) > return_code=STATE_WARNING; > else > return_code=STATE_OK; > > output_message = strdup (temp_string); > } > else { > output_message = strdup (_("Free disk space : Invalid drive ")); > return_code=STATE_UNKNOWN; > } > } > break; > > case CHECK_SERVICESTATE: > case CHECK_PROCSTATE: > > if (value_list==NULL) > output_message = strdup (_("No service/process specified")); > else { > preparelist(value_list); /* replace , between services with & to > send the request */ > asprintf(&send_buffer,"%s&%u&%s&%s", > req_password,(vars_to_check==CHECK_SERVICESTATE)?5:6, > (show_all==TRUE)?_("ShowAll"):_("ShowFail"),value_list); > fetch_data (server_address, server_port, send_buffer); > return_code=atoi(strtok(recv_buffer,"&")); > temp_string=strtok(NULL,"&"); > output_message = strdup (temp_string); > } > break; > > case CHECK_MEMUSE: > > asprintf(&send_buffer,"%s&7", req_password); > fetch_data (server_address, server_port, send_buffer); > mem_commitLimit=atof(strtok(recv_buffer,"&")); > mem_commitByte=atof(strtok(NULL,"&")); > percent_used_space = (mem_commitByte / mem_commitLimit) * 100; > asprintf(&output_message,_("Memory usage: total:%.2f Mb - used: %.2f > Mb (%.0f%%) - free: %.2f Mb (%.0f%%)"), > mem_commitLimit / 1048576, mem_commitByte / 1048567, > percent_used_space, > (mem_commitLimit - mem_commitByte) / 1048576, (mem_commitLimit - > mem_commitByte) / mem_commitLimit * 100); > > return_code=STATE_OK; > if(check_critical_value==TRUE && percent_used_space >= > critical_value) > return_code=STATE_CRITICAL; > else if (check_warning_value==TRUE && percent_used_space >= > warning_value) > return_code=STATE_WARNING; > > break; > > case CHECK_COUNTER: > > if (value_list==NULL) > output_message = strdup (_("No counter specified")); > else { > preparelist(value_list); /* replace , between services with & to > send the request */ > asprintf(&send_buffer,"%s&8&%s", req_password,value_list); > fetch_data (server_address, server_port, send_buffer); > strtok(value_list,"&"); /* burn the first parameters */ > description = strtok(NULL,"&"); > counter_value = atof(recv_buffer); > > if (description == NULL) > asprintf(&output_message, "%.f", counter_value); > else > asprintf(&output_message,"%s = %.f", description, counter_value); > > if (critical_value > warning_value) { /* Normal thresholds */ > if(check_critical_value==TRUE && counter_value >= critical_value) > return_code=STATE_CRITICAL; > else if (check_warning_value==TRUE && counter_value >= > warning_value) > return_code=STATE_WARNING; > else > return_code=STATE_OK; > } > else { /* inverse thresholds > */ > return_code=STATE_OK; > if(check_critical_value==TRUE && counter_value <= critical_value) > return_code=STATE_CRITICAL; > else if (check_warning_value==TRUE && counter_value <= > warning_value) > return_code=STATE_WARNING; > } > } > break; > > case CHECK_FILEAGE: > > if (value_list==NULL) > output_message = strdup (_("No counter specified")); > else { > preparelist(value_list); /* replace , between services with & to > send the request */ > asprintf(&send_buffer,"%s&9&%s", req_password,value_list); > fetch_data (server_address, server_port, send_buffer); > age_in_minutes = atoi(strtok(recv_buffer,"&")); > description = strtok(NULL,"&"); > output_message = strdup (description); > > if (critical_value > warning_value) { /* Normal thresholds */ > if(check_critical_value==TRUE && age_in_minutes >= critical_value) > return_code=STATE_CRITICAL; > else if (check_warning_value==TRUE && age_in_minutes >= > warning_value) > return_code=STATE_WARNING; > else > return_code=STATE_OK; > } > else { /* inverse thresholds > */ > if(check_critical_value==TRUE && age_in_minutes <= critical_value) > return_code=STATE_CRITICAL; > else if (check_warning_value==TRUE && age_in_minutes <= > warning_value) > return_code=STATE_WARNING; > else > return_code=STATE_OK; > } > } > break; > > case CHECK_NONE: > default: > usage (_("Please specify a variable to check")); > break; > > } > > /* reset timeout */ > alarm(0); > > printf("%s\n",output_message); > > return return_code; > } > > > > > > > /* process command-line arguments */ > int process_arguments(int argc, char **argv){ > int c; > > int option = 0; > static struct option longopts[] = > { > {"port", required_argument,0,'p'}, > {"timeout", required_argument,0,'t'}, > {"critical", required_argument,0,'c'}, > {"warning", required_argument,0,'w'}, > {"variable", required_argument,0,'v'}, > {"hostname", required_argument,0,'H'}, > {"version", no_argument, 0,'V'}, > {"help", no_argument, 0,'h'}, > {0,0,0,0} > }; > > /* no options were supplied */ > if(argc<2) return ERROR; > > /* backwards compatibility */ > if (! is_option(argv[1])) { > server_address = strdup(argv[1]); > argv[1]=argv[0]; > argv=&argv[1]; > argc--; > } > > for (c=1;c if(strcmp("-to",argv[c])==0) > strcpy(argv[c],"-t"); > else if (strcmp("-wv",argv[c])==0) > strcpy(argv[c],"-w"); > else if (strcmp("-cv",argv[c])==0) > strcpy(argv[c],"-c"); > } > > while (1){ > c = getopt_long(argc,argv,"+hVH:t:c:w:p:v:l:s:d:",longopts,&option); > > if (c==-1||c==EOF||c==1) > break; > > switch (c) > { > case '?': /* print short usage statement if args not parsable */ > printf("%s: Unknown argument: %s\n\n",progname,optarg); > print_usage(); > exit(STATE_UNKNOWN); > case 'h': /* help */ > print_help(); > exit(STATE_OK); > case 'V': /* version */ > print_revision(progname,"$Revision: 1.21 $"); > exit(STATE_OK); > case 'H': /* hostname */ > if (server_address) free(server_address); > server_address = optarg; > break; > case 's': /* password */ > req_password = optarg; > break; > case 'p': /* port */ > if (is_intnonneg(optarg)) > server_port=atoi(optarg); > else > die(STATE_UNKNOWN,_("Server port an integer (seconds)\nType '%s > -h' for additional help\n"),progname); > break; > case 'v': > if(strlen(optarg)<4) > return ERROR; > if(!strcmp(optarg,"CLIENTVERSION")) > vars_to_check=CHECK_CLIENTVERSION; > else if(!strcmp(optarg,"CPULOAD")) > vars_to_check=CHECK_CPULOAD; > else if(!strcmp(optarg,"UPTIME")) > vars_to_check=CHECK_UPTIME; > else if(!strcmp(optarg,"USEDDISKSPACE")) > vars_to_check=CHECK_USEDDISKSPACE; > else if(!strcmp(optarg,"SERVICESTATE")) > vars_to_check=CHECK_SERVICESTATE; > else if(!strcmp(optarg,"PROCSTATE")) > vars_to_check=CHECK_PROCSTATE; > else if(!strcmp(optarg,"MEMUSE")) > vars_to_check=CHECK_MEMUSE; > else if(!strcmp(optarg,"COUNTER")) > vars_to_check=CHECK_COUNTER; > else if(!strcmp(optarg,"FILEAGE")) > vars_to_check=CHECK_FILEAGE; > else > return ERROR; > break; > case 'l': /* value list */ > value_list = optarg; > break; > case 'w': /* warning threshold */ > warning_value=strtoul(optarg,NULL,10); > check_warning_value=TRUE; > break; > case 'c': /* critical threshold */ > critical_value=strtoul(optarg,NULL,10); > check_critical_value=TRUE; > break; > case 'd': /* Display select for services */ > if (!strcmp(optarg,"SHOWALL")) > show_all = TRUE; > break; > case 't': /* timeout */ > socket_timeout=atoi(optarg); > if(socket_timeout<=0) > return ERROR; > } > > } > > if (vars_to_check==CHECK_NONE) > return ERROR; > > if (req_password == NULL) > req_password = strdup (_("None")); > > return OK; > } > > > > > > > void fetch_data (const char *address, int port, const char *sendb) { > int result; > > result=process_tcp_request(address, port, sendb, > recv_buffer,sizeof(recv_buffer)); > > if(result!=STATE_OK) > die (result, "could not fetch information from server\n"); > > if (!strncmp(recv_buffer,"ERROR",5)) > die (STATE_UNKNOWN, "NSClient - %s\n",recv_buffer); > } > > int strtoularray(unsigned long *array, char *string, const char > *delim) { > /* split a delimited string into a long array */ > int idx=0; > char *t1; > > for (idx=0;idx array[idx]=0; > > idx=0; > for(t1 = strtok(string,delim);t1 != NULL; t1 = strtok(NULL, delim)) { > if (is_numeric(t1) && idx array[idx]=strtoul(t1,NULL,10); > idx++; > } else > return FALSE; > } > return TRUE; > } > > void preparelist(char *string) { > /* Replace all , with & which is the delimiter for the request */ > int i; > > for (i = 0; (size_t)i < strlen(string); i++) > if (string[i] == ',') { > string[i]='&'; > } > } > > > > > > > void print_help(void) > { > print_revision(progname,"$Revision: 1.21 $"); > printf (_("\ > Copyright (c) 2000 Yves Rubin (rubiyz at yahoo.com)\n\n\ > This plugin collects data from the NSClient service running on a\n\ > Windows NT/2000/XP server.\n\n")); > print_usage(); > printf (_("\nOptions:\n\ > -H, --hostname=HOST\n\ > Name of the host to check\n\ > -p, --port=INTEGER\n\ > Optional port number (default: %d)\n\ > -s \n\ > Password needed for the request\n\ > -w, --warning=INTEGER\n\ > Threshold which will result in a warning status\n\ > -c, --critical=INTEGER\n\ > Threshold which will result in a critical status\n\ > -t, --timeout=INTEGER\n\ > Seconds before connection attempt times out (default: %d)\n\ > -h, --help\n\ > Print this help screen\n\ > -V, --version\n\ > Print version information\n"), > PORT, DEFAULT_SOCKET_TIMEOUT); > printf (_("\ > -v, --variable=STRING\n\ > Variable to check. Valid variables are:\n")); > printf (_("\ > CLIENTVERSION = Get the NSClient version\n\ > If -l is specified, will return warning if versions > differ.\n")); > printf (_("\ > CPULOAD = Average CPU load on last x minutes.\n\ > Request a -l parameter with the following syntax:\n\ > -l ,,.\n\ > should be less than 24*60.\n\ > Thresholds are percentage and up to 10 requests can be done in > one shot.\n\ > ie: -l 60,90,95,120,90,95\n")); > printf (_("\ > UPTIME = Get the uptime of the machine.\n\ > No specific parameters. No warning or critical threshold\n")); > printf (_("\ > USEDDISKSPACE = Size and percentage of disk use.\n\ > Request a -l parameter containing the drive letter only.\n\ > Warning and critical thresholds can be specified with -w and > -c.\n")); > printf (_("\ > MEMUSE = Memory use.\n\ > Warning and critical thresholds can be specified with -w and > -c.\n")); > printf (_("\ > SERVICESTATE = Check the state of one or several services.\n\ > Request a -l parameters with the following syntax:\n\ > -l ,,,...\n\ > You can specify -d SHOWALL in case you want to see working > services\n\ > in the returned string.\n")); > printf (_("\ > PROCSTATE = Check if one or several process are running.\n\ > Same syntax as SERVICESTATE.\n")); > printf (_("\ > COUNTER = Check any performance counter of Windows NT/2000.\n\ > Request a -l parameters with the following syntax:\n\ > -l \"\\\\\\\\counter\",\"\n\ > The parameter is optional and \n\ > is given to a printf output command which require a float > parameters.\n\ > Some examples:\n\ > \"Paging file usage is %%.2f %%%%\"\n\ > \"%%.f %%%% paging file used.\"\n")); > printf (_("Notes:\n\ > - The NSClient service should be running on the server to get any > information\n\ > (http://nsclient.ready2run.nl).\n\ > - Critical thresholds should be lower than warning thresholds\n")); > } > > > > > void print_usage(void) > { > printf(_("\ > Usage: %s -H host -v variable [-p port] [-w warning] [-c critical]\ > [-l params] [-d SHOWALL] [-t timeout]\n"), progname); > printf (_(UT_HLP_VRS), progname, progname); > } From Stanley.Hopcroft at IPAustralia.Gov.AU Wed Mar 31 17:14:06 2004 From: Stanley.Hopcroft at IPAustralia.Gov.AU (Stanley Hopcroft) Date: Wed Mar 31 17:14:06 2004 Subject: [Nagiosplug-devel] Re: check_by_ssh patch In-Reply-To: <406AFAE5.7010908@op5.se>; from ae@op5.se on Wed, Mar 31, 2004 at 07:07:49PM +0200 References: <4069C92C.40000@cohtech.com> <20040331015144.0a293d0e.karl@debisschop.net> <406A80A5.8090704@cohtech.com> <20040331074913.019de845.karl@debisschop.net> <406AC697.8080509@op5.se> <20040331154532.27457.qmail@minnow.softflare.net> <406AFAE5.7010908@op5.se> Message-ID: <20040401111245.B43732@IPAustralia.Gov.AU> Dear Folks, I am writing to thank you for your letters and say, On Wed, Mar 31, 2004 at 07:07:49PM +0200, Andreas Ericsson wrote: .. snip ... > > I know that, but how does it work under the hood? > Perl is built into Nagios using the techniques described in Perlembed (in partic the persistent interpeter) providing full access to the Perl API and the Perl parse tree (doesn't quite know what he's talking about here) for each Perl plugin that has been run. A driver /bin/p1.pl is called in checks.c when a Perl plugin is detected. The driver maintains a global and persistent hash of compiled plugins. Nag calls the driver twice 1 in /* call our perl interpreter to compile and optionally cache the command */ perl_call_argv("Embed::Persistent::eval_file", G_DISCARD | G_EVAL, args); to check if the plugin needs compiling (by checking if the plugin is found in the hash) If it hasn't been compiled or the source has changed, it is string eval'd to get it compiled, and the hash updated. 2 in /* execute our previously compiled script - from perl_call_argv("Embed::Persistent::eval_file",..) */ perl_call_pv("Embed::Persistent::run_package", G_EVAL | G_ARRAY); /* note this is my source tree so it is slightly different to yours */ At this point the plugin is known to be compiled, so it is run by the driver in such a way that it is not recompiled ( eval { }; ). The plugin parse tree stays in core because Perl does. There is _no_ new Perl each time a plugin is run (unlike the non-epn case). Because of this persistence, global values hang around and can cause side effects. > If perl (the program) > is invoked every time a precompiled image needs to execute I seriously > doubt the effectiveness of the epn. It isn't. Perl is loaded only once by Nagios when Nagios initialises (this will change to be periodic I think in 2.0 to deal with Perl memory leaks). I think it is effective; the tradeoff is . leaks . more memory usage (ie well worth it). > If it doesn't, then how can it the > elevated privileges of the script be retained? > That's why the epn was mentioned in the follow-up question. > Since each plugin is compiled only once, I think ePN is unsuitable for setuid. I use a C wrapper to execve the Perl plugin (and take the perf hit) in this case. Lastly, Yours sincerely. -- ------------------------------------------------------------------------ Stanley Hopcroft ------------------------------------------------------------------------ '...No man is an island, entire of itself; every man is a piece of the continent, a part of the main. If a clod be washed away by the sea, Europe is the less, as well as if a promontory were, as well as if a manor of thy friend's or of thine own were. Any man's death diminishes me, because I am involved in mankind; and therefore never send to know for whom the bell tolls; it tolls for thee...' from Meditation 17, J Donne. From Stanley.Hopcroft at IPAustralia.Gov.AU Wed Mar 31 19:31:02 2004 From: Stanley.Hopcroft at IPAustralia.Gov.AU (Stanley Hopcroft) Date: Wed Mar 31 19:31:02 2004 Subject: [Nagiosplug-devel] check_maxchannels for perl framework In-Reply-To: <406A846D.3060703@cohtech.com>; from howard@cohtech.com on Wed, Mar 31, 2004 at 09:42:21AM +0100 References: <4069DE53.6070303@cohtech.com> <20040331092123.B40094@IPAustralia.Gov.AU> <406A846D.3060703@cohtech.com> Message-ID: <20040401133007.G43732@IPAustralia.Gov.AU> On Wed, Mar 31, 2004 at 09:42:21AM +0100, Howard Wilkinson wrote: > Stanley, > > I intend to produce a design/suage document shortly. It will be small > with dot points if I can get it out shortly. The rational for this > approach is 2 fold. > Adding the burden to the plugin writer to produce > the output of the usage, help, version and other standard function in a > consistent and complete fashion seems to me to be unnecessary which has > led to the thinking that perhaps a framework for the entire operation of > a plugin would be a good idea, which has led to this approach being > adopted. Unfortunately, I don't find this a compelling reason largely because usage, otions help etc are so easy to change and far less important than the check logic. Constructing a Perl plugin can be currently done by 1 replacing the check logic in an existing plugin 2 replacing the option processing 3 replacing the usage information to reflect the new options and plugin function. 4 replacing the help info as for 3. I agree that this approach provides no consistency between options, help and usage but don't find inconsistencies costly. OTOH, with this proposal I will have to abandon my investment in learning the Getopt:: modules and learn this one. In fact, using an accessor usage ($obj->usage("foo")) sounds harder than editing the text in sub print_usage, although after I have one with the new framework, my editing will be similar to that above (but in less familiar places). In principal, the new framework simplifies option processing, but this is an area that does not cost nearly as much as the service check logic. What at least seems evident without much looking at the code is the new framework eliminates or reduces the cost of option checking by associating edit checks with the options. The other neat thing appears to be the timeout processing. I don't understand how it does it but it seems neat to avoid thealarm($TIMEOUT); eval { #time sensitive op }; alarm(0); stuff. > The second is the thing that got me started on all of this, > which was needing to get consistent, complet and upto date usage > information and help information in machine processable form for entry > into a database. This database is then used to provide a user interface > that can prompt for data from the user when building Nagios > configurations. I need to be able to do type checking, provide value > checks where possible, confirm that parameters will be compatible (e.g. > SNMPv1 with SNMPv3 authorisation arguments do not make much sense) and > so on. > > Thus, I am led to the approach shown in the Plugin and Plugin::Parameter > modules. Probably coudl be done better, could certainly use Perl smarter > and give more consise files (but probably not faster executing) You could generate the accessors but as you say this will save source length without probably impacting parse/run time. OTOH, it may be a maintenance faciltator (see 'Sufficiently encapsulated hacks' by Michael Schwern). > but it > does have some industrial strength and will if finished provide a much > easier environment within which plugins of greater content can be > written. > I am working on standardising the SNMP framework to allow the > writer to concentrate on processing the MIB results, as well as, > providing a common error reporting framework and output production > framework. > > On a note I received from Karl and have responded to but is related to > peerformance. Our exeperience so far is that this has little eimpact on > a running monitor environment, where about 50% of our plugin executions > have now been changed to operate this. The cost of loading the Plugin > could be reduced considerabley if the POD is removed from the Plugin.pm > and Plugin::Parameter.pm files - this could be done at compile time by > fixing the Makefile. This would reduce the file size by > 50% thus the > overhead is about 35K source code. Further pounding on my style could > easily bring this down by 50% so for smaller machines we could make this > a not problem. Style and POD are I think irrelevant to speed since both of these are thrown away by the lexer. I like spaces; I usually understand those bits. The performance penalty will be in the extra subroutine calls. Anything you can inline in a module is worth it. > > I have not tested under ePN although I believe I have stuck to the rules > for compile once, run many operation. I can't see any obvious ePN problems although I am worried about taint checking for reasons that I can't recall. Try your plugins with contrib/mini_epn _more than once_ to get a basic feel for their compliance. > I would appreciate some live > running under ePN by someone and some feedback on what to fix, as we > will be implementign an ePN based environment later this year and I > would like to concentrate on getting working and not the plugin's. > If you A B them with the dotime program posted formerly, you will know precisely the difference between the old framework and the new. > Another note. All of the plugins now have taint checking on by default, > and have been fixed to work in this environment. > One last comment, is that there are still folks using 5.005; you may want to consider replacing our by my. > Regards, Howard. -- ------------------------------------------------------------------------ Stanley Hopcroft ------------------------------------------------------------------------ '...No man is an island, entire of itself; every man is a piece of the continent, a part of the main. If a clod be washed away by the sea, Europe is the less, as well as if a promontory were, as well as if a manor of thy friend's or of thine own were. Any man's death diminishes me, because I am involved in mankind; and therefore never send to know for whom the bell tolls; it tolls for thee...' from Meditation 17, J Donne. From karl at debisschop.net Wed Mar 31 21:11:03 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Wed Mar 31 21:11:03 2004 Subject: [Nagiosplug-devel] small patches to check_nt In-Reply-To: References: <406A86DC.1000606@cohtech.com> Message-ID: <20040401001042.3bf8ad1e.karl@debisschop.net> On Thu, 1 Apr 2004 00:11:45 +0100 Ton Voon wrote: > Fixed the command line bug in v1.22 - thanks. > > I think I'll need Karl to adjudicate on the single line usage output > and the other patches with regards to the new perl framework. As far as the single line usage, I think we are still discussing that. As for perl farmework, I think trying to integrate those changes ath this point would mean we'd need to abandon the idea of a 1.4.0 beta release in April. I'd rather keep them pending. (I do think the framework has merit and is a likely candidate for post 1.4.0 work.) -- Karl From karl at debisschop.net Wed Mar 31 21:23:03 2004 From: karl at debisschop.net (Karl DeBisschop) Date: Wed Mar 31 21:23:03 2004 Subject: Perl v. C (was Re: [Nagiosplug-devel] Re: check_by_ssh patch) In-Reply-To: <1080756660.4236.32.camel@localhost> References: <4069C92C.40000@cohtech.com> <20040331015144.0a293d0e.karl@debisschop.net> <406A80A5.8090704@cohtech.com> <20040331074913.019de845.karl@debisschop.net> <406AC697.8080509@op5.se> <20040331154532.27457.qmail@minnow.softflare.net> <406AFAE5.7010908@op5.se> <1080756660.4236.32.camel@localhost> Message-ID: <20040401002216.4061b836.karl@debisschop.net> On Wed, 31 Mar 2004 12:11:00 -0600 Justin Ellison wrote: > On Wed, 2004-03-31 at 11:07, Andreas Ericsson wrote: > > > It depends very much on what you're doing with it. For > > > number-crunching it is slower, for uses where it runs, does a few > > > things, then terminates then the difference can be a lot smaller. > > > > > Datacrunching in general. check_ifoperstatus runs in 6 seconds real > > time whereas a shellscript checking multiple interfaces at the same > > time runs in 1 second. > > Ouch! I'm not getting into the C vs Perl argument, but you have > something not right if things run that slow. I am querying a remote > system 15 routers away from my Nag box: Relax guys. I didn't mean to say that C plugins would no longer be supported. Just that the focus of new development will move toward perl as epn gets more and more stable and trusted. It's hard to deny that C takes more effort to code, and you don't have the possibilty of memory allocation errors that have come up in the C plugins from time to time. But there will probably alway be a role for C plugins as well, where performance is critical or where perl libraries are not fully developed. It's just that the balance will move some. Add to that the fact that there are for more people comfortable coding a perl plugin than a C plugin, and I think there's little doubt that the number of perl plugins will increase faster than the number of C plugins. That's just reality, not a holy war. -- Karl