[debian-lan-devel] [debian-lan] 01/03: Do not send notifications for host that are switched on and off.

Andreas B. Mundt andi at moszumanska.debian.org
Tue Mar 25 19:21:05 UTC 2014


This is an automated email from the git hooks/post-receive script.

andi pushed a commit to branch master
in repository debian-lan.

commit ec7995817c8f6faaceabfc8d67818787ac23b650
Author: Andreas B. Mundt <andi at debian.org>
Date:   Thu Mar 20 23:10:54 2014 +0100

    Do not send notifications for host that are switched on and off.
    
    This should reduce the amount of email notifications sent by icinga.
---
 .../objects/hostgroups_icinga.cfg/LOG_SERVER       |  7 +++++-
 .../files/etc/icinga/objects/hosts.cfg/LOG_SERVER  |  3 +--
 .../icinga/objects/services_icinga.cfg/LOG_SERVER  | 25 ++++++++++++++--------
 .../files/usr/local/sbin/debian-lan/SERVER_A       |  5 ++---
 fai/config/scripts/LOG_SERVER/10-rsyslog_icinga    |  7 ++++++
 5 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/fai/config/files/etc/icinga/objects/hostgroups_icinga.cfg/LOG_SERVER b/fai/config/files/etc/icinga/objects/hostgroups_icinga.cfg/LOG_SERVER
index d6e1a43..6dc8c1b 100644
--- a/fai/config/files/etc/icinga/objects/hostgroups_icinga.cfg/LOG_SERVER
+++ b/fai/config/files/etc/icinga/objects/hostgroups_icinga.cfg/LOG_SERVER
@@ -16,7 +16,6 @@ define hostgroup {
        hostgroup_name    ssh-servers
        alias             SSH servers
        members           mainserver
-       hostgroup_members workstation
 }
 
 define hostgroup {
@@ -71,3 +70,9 @@ define hostgroup {
        hostgroup_name    diskless
        alias             Debian GNU/Linux Diskless
 }
+
+define hostgroup {
+       hostgroup_name    client-ssh-servers
+       alias             Client SSH servers
+       hostgroup_members workstation
+}
diff --git a/fai/config/files/etc/icinga/objects/hosts.cfg/LOG_SERVER b/fai/config/files/etc/icinga/objects/hosts.cfg/LOG_SERVER
index 93e70b7..066d61b 100644
--- a/fai/config/files/etc/icinga/objects/hosts.cfg/LOG_SERVER
+++ b/fai/config/files/etc/icinga/objects/hosts.cfg/LOG_SERVER
@@ -11,8 +11,7 @@ define host{
 }
 
 define host{
-        use                    generic-host
+        use                    client-host
         host_name              workstation00
         hostgroups             workstation
-        notifications_enabled  0
 }
diff --git a/fai/config/files/etc/icinga/objects/services_icinga.cfg/LOG_SERVER b/fai/config/files/etc/icinga/objects/services_icinga.cfg/LOG_SERVER
index 4a8836b..7248c0a 100644
--- a/fai/config/files/etc/icinga/objects/services_icinga.cfg/LOG_SERVER
+++ b/fai/config/files/etc/icinga/objects/services_icinga.cfg/LOG_SERVER
@@ -143,65 +143,72 @@ define service{
 
 
 #### nrpe (remote) machines
+define service {
+        hostgroup_name         client-ssh-servers
+        service_description    SSH
+        check_command          check_ssh
+        use                    client-service
+}
+
 define service{
         hostgroup_name         workstation
         service_description    APT
         check_command          check_nrpe_1arg!check_apt
-        use                    generic-service
+        use                    client-service
 }
 
 define service{
         hostgroup_name         workstation,diskless
         service_description    Current Load
         check_command          check_nrpe_1arg!debian-lan_check_load
-        use                    generic-service
+        use                    client-service
 }
 
 define service{
         hostgroup_name         workstation,diskless
         service_description    Current Users
         check_command          check_nrpe_1arg!debian-lan_check_users
-        use                    generic-service
+        use                    client-service
 }
 
 define service{
         hostgroup_name         workstation
         service_description    Disk Space
         check_command          check_nrpe_1arg!debian-lan_check_all_disks
-        use                    generic-service
+        use                    client-service
 }
 
 define service{
         hostgroup_name         workstation
         service_description    Kerberos Key
         check_command          check_nrpe_1arg!debian-lan_check_file_age
-        use                    generic-service
+        use                    client-service
 }
 
 define service{
         hostgroup_name         workstation,diskless
         service_description    Swap
         check_command          check_nrpe_1arg!debian-lan_check_swap
-        use                    generic-service
+        use                    client-service
 }
 
 define service{
         hostgroup_name         workstation,diskless
         service_description    Time
         check_command          check_nrpe_1arg!debian-lan_check_ntp_time
-        use                    generic-service
+        use                    client-service
 }
 
 define service{
         hostgroup_name         workstation,diskless
         service_description    Total Procs
         check_command          check_nrpe_1arg!debian-lan_check_procs
-        use                    generic-service
+        use                    client-service
 }
 
 define service{
         hostgroup_name         workstation,diskless
         service_description    Zombie Procs
         check_command          check_nrpe_1arg!debian-lan_check_procs_zombie
-        use                    generic-service
+        use                    client-service
 }
diff --git a/fai/config/files/usr/local/sbin/debian-lan/SERVER_A b/fai/config/files/usr/local/sbin/debian-lan/SERVER_A
index 0edf4cf..4a5c2e4 100755
--- a/fai/config/files/usr/local/sbin/debian-lan/SERVER_A
+++ b/fai/config/files/usr/local/sbin/debian-lan/SERVER_A
@@ -107,13 +107,12 @@ EOF
     CONF='/etc/icinga/objects/hosts.cfg'
     if ! grep -sq ${MACHINE} $CONF ; then
         cat >> $CONF <<EOF
+
 define host{
-        use                    generic-host
+        use                    client-host
         host_name              ${MACHINE}
         hostgroups             ${MACHINE%%[0-9]*}
-        notifications_enabled  0
 }
-
 EOF
         echo "${MACHINE} will be monitored by icinga from now on. "
     else
diff --git a/fai/config/scripts/LOG_SERVER/10-rsyslog_icinga b/fai/config/scripts/LOG_SERVER/10-rsyslog_icinga
index 27dbe82..5b5e95b 100755
--- a/fai/config/scripts/LOG_SERVER/10-rsyslog_icinga
+++ b/fai/config/scripts/LOG_SERVER/10-rsyslog_icinga
@@ -15,4 +15,11 @@ if [ "$FAI_ACTION" == "install" ] || [ "$CONVERT" == "true" ] ; then
     fcopy /etc/icinga/objects/hosts.cfg
     sed -i "s#\$GATEWAY#$GATEWAY#" $target/etc/icinga/objects/hosts.cfg
     mv $target/etc/icinga/objects/localhost_icinga.cfg $target/etc/icinga/objects/localhost_icinga.cfg_orig || true
+    ## Prepare templates with notifications disabled for the client machines:
+    sed -e "s/generic/client/" -e "s/Generic/Client/" \
+        -e "s/\(notifications_enabled[[:space:]]*\)1.*/\10       ; Host notifications are disabled/" \
+        $target/etc/icinga/objects/generic-host_icinga.cfg > $target/etc/icinga/objects/client-host_icinga.cfg
+    sed -e "s/generic/client/" -e "s/Generic/Client/" \
+        -e "s/\(notifications_enabled[[:space:]]*\)1.*/\10       ; Service notifications are disabled/" \
+        $target/etc/icinga/objects/generic-service_icinga.cfg > $target/etc/icinga/objects/client-service_icinga.cfg
 fi

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/debian-lan.git



More information about the debian-lan-devel mailing list