aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetter Reinholdtsen <pere@hungry.com>2010-01-07 19:55:23 +0000
committerPetter Reinholdtsen <pere@hungry.com>2010-01-07 19:55:23 +0000
commit950c22b38bef72f68e9cf7ddb8927c1a3f82fe61 (patch)
treee21a184a3e07f75696d076df0c668438a876bc9f
parentfed33f63a27a2982554335dfa78261cae3867c30 (diff)
downloadsitesummary-950c22b38bef72f68e9cf7ddb8927c1a3f82fe61.tar.gz
sitesummary-950c22b38bef72f68e9cf7ddb8927c1a3f82fe61.tar.bz2
sitesummary-950c22b38bef72f68e9cf7ddb8927c1a3f82fe61.tar.xz
* Collect software raid status from /proc/mdstat if it exist.
* Generate Nagios checks for software raid, zombie processes, swap, dns, imaps, nfs and squid too. Rename Nagios services to use lower case characters.
-rw-r--r--collect.d/system5
-rw-r--r--debian/changelog9
-rw-r--r--nagios-templates.cfg35
-rwxr-xr-xsitesummary-nodes87
4 files changed, 123 insertions, 13 deletions
diff --git a/collect.d/system b/collect.d/system
index 2a43630..4ec5438 100644
--- a/collect.d/system
+++ b/collect.d/system
@@ -37,6 +37,11 @@ route -n > route-n
cat /proc/cpuinfo > cpuinfo
cat /proc/meminfo > meminfo
+# Collect software RAID status
+if [ -f /proc/mdstat ] ; then
+ cat /proc/mdstat > mdstat
+fi
+
# Collect mount points, for nagios configuration
cp /etc/fstab fstab
cat /proc/mounts > procmounts
diff --git a/debian/changelog b/debian/changelog
index b614134..6ddedc5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+sitesummary (0.0.53) UNRELEASED; urgency=low
+
+ * Collect software raid status from /proc/mdstat if it exist.
+ * Generate Nagios checks for software raid, zombie processes, swap,
+ dns, imaps, nfs and squid too. Rename Nagios services to use
+ lower case characters.
+
+ -- Petter Reinholdtsen <pere@debian.org> Thu, 07 Jan 2010 20:03:00 +0100
+
sitesummary (0.0.52) unstable; urgency=low
* Change cron job to only reload nagios when the sitesummary generated
diff --git a/nagios-templates.cfg b/nagios-templates.cfg
index eafcd74..9732e8e 100644
--- a/nagios-templates.cfg
+++ b/nagios-templates.cfg
@@ -118,6 +118,41 @@ define command{
}
define command{
+ command_name check_dns
+ command_line /usr/lib/nagios/plugins/check_dns -H $HOSTADDRESS$ -s $HOSTADDRESS$
+}
+
+define command{
+ command_name check_imaps
+ command_line /usr/lib/nagios/plugins/check_imap -p 993 -H $HOSTADDRESS$ -S
+}
+
+define command{
+ command_name check_nfs
+ command_line /usr/lib/nagios/plugins/check_rpc -H $HOSTADDRESS$ -C nfs -c2,3
+}
+
+define command{
+ command_name check_squid
+ command_line /usr/lib/nagios/plugins/check_http -H $HOSTADDRESS$ -p $ARG1$ -u $ARG2$ -e 'HTTP/1.0 200 OK'
+}
+
+define command{
+ command_name check_swap
+ command_line /usr/lib/nagios/plugins/check_swap -w $ARG1 -c $ARG2$
+}
+
+define command{
+ command_name check_procs_zombie
+ command_line /usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s Z
+}
+
+define command{
+ command_name check_linux_raid
+ command_line /usr/lib/nagios/plugins/check_linux_raid
+}
+
+define command{
command_name check-host-alive
command_line /usr/lib/nagios/plugins/check_ping -H $HOSTADDRESS$ -w 5000,100% -c 5000,100% -p 1
}
diff --git a/sitesummary-nodes b/sitesummary-nodes
index 64a8e36..0f1b5f3 100755
--- a/sitesummary-nodes
+++ b/sitesummary-nodes
@@ -123,9 +123,21 @@ define host {
define service {
use server-service
host_name $hostname
- service_description PING
+ service_description ping
check_command check_ping!100.0,20%!500.0,60%
}
+define service {
+ use server-service
+ host_name $hostname
+ service_description swap
+ check_command check_swap!10%!5%
+}
+define service {
+ use server-service
+ host_name $hostname
+ service_description zombie procs
+ check_command check_procs_zombie!20!100
+}
EOF
# check disk free space
@@ -158,7 +170,7 @@ EOF
define service {
use server-service
host_name $hostname
- service_description Disk $partition
+ service_description disk $partition
check_command check_disk!$warn%!$crit%!$partition
}
EOF
@@ -168,10 +180,11 @@ EOF
my %tcpservices =
(
139 => { name => 'samba', package => 'samba' },
+ 389 => { name => 'ldap', package => 'slapd' },
631 => { name => 'CUPS', package => 'cupsys' },
636 => { name => 'ldaps', package => 'slapd' },
- 3128 => { name => 'squid', package => 'squid' },
-# 10000 => { name => 'webmin', package => 'webmin' },
+ 4949 => { name => 'munin', package => 'munin-node' },
+ 7100 => { name => 'xfs', package => 'xfs' }, # check X font server
);
for my $port (sort { $a <=> $b } keys %tcpservices) {
@@ -188,19 +201,67 @@ define service {
}
EOF
}
+ # check software raid status
+ if ( -e get_filepath_current($hostid, "/system/mdstat") ) {
+ print <<EOF;
+define service {
+ use server-service
+ host_name $hostname
+ service_description sw-raid
+ check_command check_linux_raid
+}
+EOF
+ }
+
# check munin if munin-node is installed
- # check hw and sw raid status
+ # check hw raid status
# check hardware status
- # check free swap
- # check X font server
- # check LDAP
- # check DNS
+
+ # check LDAP and LDAPS using the protocol
+
+ # Check DNS server
+ print <<EOF if is_pkg_installed($hostid, "pdns-server");
+define service {
+ use server-service
+ host_name $hostname
+ service_description dns
+ check_command check_dns
+}
+EOF
+ # Check IMAPS server
+ print <<EOF if is_pkg_installed($hostid, "courier-imap-ssl");
+define service {
+ use server-service
+ host_name $hostname
+ service_description imaps
+ check_command check_imaps
+}
+EOF
+ # Check NFS server
+ print <<EOF if is_pkg_installed($hostid, "nfs-kernel-server");
+define service {
+ use server-service
+ host_name $hostname
+ service_description nfs
+ check_command check_nfs
+}
+EOF
+ # Check Squid web proxy
+ print <<EOF if is_pkg_installed($hostid, "squid");
+define service {
+ use server-service
+ host_name $hostname
+ service_description squid
+ check_command check_squid!3128!http://www
+
+}
+EOF
# Check SSH server
print <<EOF if is_pkg_installed($hostid, "openssh-server");
define service {
use server-service
host_name $hostname
- service_description SSH
+ service_description ssh
check_command check_ssh
}
EOF
@@ -208,7 +269,7 @@ EOF
define service {
use server-service
host_name $hostname
- service_description HTTP
+ service_description http
check_command check_http
}
EOF
@@ -217,7 +278,7 @@ EOF
define service {
use server-service
host_name $hostname
- service_description Time server NTP
+ service_description ntp time server
check_command check_ntp!-H!localhost
}
EOF
@@ -226,7 +287,7 @@ EOF
define service {
use server-service
host_name $hostname
- service_description Load as in top
+ service_description load as in top
check_command check_load!75,75,75!90,90,90
}
EOF