From 522d18369277daf6c62c5ddb81d8256563b397cb Mon Sep 17 00:00:00 2001 From: zacheiss Date: Wed, 16 Jan 2008 16:56:09 +0000 Subject: [PATCH] WSH Nagios config. --- gen/Makefile.in | 9 +++-- gen/nagios-wsh.gen | 97 ++++++++++++++++++++++++++++++++++++++++++++++ gen/nagios-wsh.sh | 14 +++++++ 3 files changed, 116 insertions(+), 4 deletions(-) create mode 100755 gen/nagios-wsh.gen create mode 100644 gen/nagios-wsh.sh diff --git a/gen/Makefile.in b/gen/Makefile.in index 8828a553..6ae0e924 100644 --- a/gen/Makefile.in +++ b/gen/Makefile.in @@ -46,10 +46,11 @@ SCRIPTS=access.gen access.sh acl.sh aliases.sh boot.sh ca.gen calendar.gen \ dhcp.sh events.sh hesiod.sh ip-billing.gen \ ip-billing.sh ldap.gen longjobs.gen longjobs.sh mailhosts.gen \ mailhub.sh mailman.gen mailman.sh nagios-colo.gen nagios-colo.sh \ - nagios-printers.gen nagios-printers.sh ndb.sh nfs.sh null.sh \ - postoffice.sh print.sh rt.sh sapprint.gen sapprint.sh spwatch.gen \ - tsm.gen tsm.sh warehouse.gen warehouse.sh winstats.gen winstats.sh \ - www.sh zephyr.sh install_dirs install_quotas zero_quotas + nagios-printers.gen nagios-printers.sh nagios-wsh.gen nagios-wsh.sh \ + ndb.sh nfs.sh null.sh postoffice.sh print.sh rt.sh sapprint.gen \ + sapprint.sh spwatch.gen tsm.gen tsm.sh warehouse.gen warehouse.sh \ + winstats.gen winstats.sh www.sh zephyr.sh install_dirs \ + install_quotas zero_quotas .SUFFIXES: .pc .gen diff --git a/gen/nagios-wsh.gen b/gen/nagios-wsh.gen new file mode 100755 index 00000000..2b6567d0 --- /dev/null +++ b/gen/nagios-wsh.gen @@ -0,0 +1,97 @@ +#!/moira/bin/perl -Tw + +# $Id$ +# The following exit codes are defined and MUST BE CONSISTENT with the +# error codes the library uses: +$MR_DBMS_ERR = 47836421; +$MR_OCONFIG = 47836460; + +$outdir = '/moira/dcm/nagios-wsh'; + +use DBI; + +$dbh = DBI->connect("dbi:Oracle:moira", "moira", "moira") + || exit $MR_DBMS_ERR; + +$sth0 = $dbh->prepare("SELECT l.list_id, m.name " . + "FROM list l, machine m, serverhosts sh " . + "WHERE sh.value3 = l.name AND sh.service = " . + "'NAGIOS-WSH' AND m.mach_id = sh.mach_id") + || exit $MR_DBMS_ERR; +$sth0->execute; + +while (($root_list_id, $hostname) = $sth0->fetchrow_array) { + umask 022; + open(OUT, ">$outdir/$hostname") || exit $MR_OCONFIG; + print OUT "# This file is automatically generated by Moira. Do not edit.\n"; + $sth = $dbh->prepare("SELECT m.name FROM machine m, imembers i " . + "WHERE i.list_id = " . $dbh->quote($root_list_id) . + "AND i.member_type = 'MACHINE' AND m.status = 1 " . + "AND i.member_id = m.mach_id AND i.direct = 1 ORDER BY m.name") + || exit $MR_DBMS_ERR; + $sth->execute; + + while (($name) = $sth->fetchrow_array) { + next if $name eq "[NONE]"; + $name = lc($name); + push(@allwshhosts, $name); + print OUT <disconnect; + +exit 0; + + diff --git a/gen/nagios-wsh.sh b/gen/nagios-wsh.sh new file mode 100644 index 00000000..c38c5c9e --- /dev/null +++ b/gen/nagios-wsh.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# $Id$ + +file=/var/nagios/etc/moira-wsh-hosts.cfg + +if [ -d /var/athena ] && [ -w /var/athena ]; then + exec >/var/athena/moira_update.log 2>&1 +else + exec >/tmp/moira_update.log 2>&1 +fi + +chmod 644 $file + +exit 0 -- 2.45.2