On Wed, 11 May 2005 19:51:56 -0400, sean finney wrote: > On Wed, May 11, 2005 at 08:23:36AM +0200, Turbo Fredriksson wrote: > > Note that the command THERE is '/etc/nagios/check_nagios_db', NOT > > the stated '/usr/lib/nagios/plugins/check_nagios_db'. The former location > > is a must (init script etc uses this - which is wrong in it self, it > > should extract the 'nagios_check_command' option if set from the config). > > yes, it should. ideally, check_nagios_db should be in /usr/lib/nagios, > but unfortunately it has some fields that must be edited for it to be > of any use,
That assumtion is wrong. There are nothing a user _have_ to change for their specific host. What to do (which I did in the package I handed over to you) was to distribute the unpatched script in the mysql package and a patched version in the pgsql package... That way, the script is NOT a config file, but a script as any one else and the init script (etc) can be hardcoded to use it (in /usr/lib/nagios or wherever - it's a _SCRIPT_ and hence not arch specific and should/could be located in /usr/share/nagios). > which is why i imagine this current setup was recommended. > what we *should* do is seperate out the config into an > /etc/nagios/check_nagios_db.pm Just to clarify. There are no configuration in the script, the patch is very simple/clear: ----- s n i p ----- --- /usr/share/doc/nagios-pgsql/check_nagios_db 2004-11-13 18:56:19.000000000 -0500 +++ /usr/lib/nagios/plugins/check_nagios_db 2004-12-31 09:16:16.000000000 -0500 @@ -11,10 +11,10 @@ use DBI; # Change this to Pg if you use postgresql. -my $driver = "mysql"; +my $driver = "Pg"; my $CFG_DEF = "/etc/nagios/cgi.cfg"; -my $QUERY = "select *, UNIX_TIMESTAMP(last_update) as ut from programstatus;"; +my $QUERY = "select *, date_part('epoch',last_update) as ut from programstatus;"; my $EXPIRE_DEF = 5; ## expressed in minutes my $PROCCNT = 0; @@ -51,7 +51,7 @@ # print "($dbhost, $dbport, $dbuser, $dbpass, $dbname)\n"; -my $dsn = "DBI:$driver:database=$dbname;host=$dbhost;port=$dbport"; +my $dsn = "DBI:$driver:dbname=$dbname;host=$dbhost;port=$dbport"; my $dbh = DBI->connect($dsn, $dbuser, $dbpass, {'RaiseError' => 1}); my $sth = $dbh->prepare($QUERY); ----- s n i p ----- NOTHING system specific there. Just make it a MySQL script _or_ a PgSQL script -> two versions, one in each sub-package. -- Rule Psix Clinton strategic Ft. Meade SEAL Team 6 ammunition [Hello to all my fans in domestic surveillance] spy NORAD KGB nitrate nuclear critical FBI Ortega [See http://www.aclu.org/echelonwatch/index.html for more about this] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]