From 69e1b0fe391b611fed0dd57422dbff76d5ea9546 Mon Sep 17 00:00:00 2001 From: "M. Sean Finney" Date: Sun, 26 Jun 2005 16:27:05 +0000 Subject: spring cleaning of contrib directory from andreas git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1192 f882894a-f735-0410-b71e-b25c423dba1c --- contrib/check_mysqlslave.pl | 174 -------------------------------------------- 1 file changed, 174 deletions(-) delete mode 100644 contrib/check_mysqlslave.pl (limited to 'contrib/check_mysqlslave.pl') diff --git a/contrib/check_mysqlslave.pl b/contrib/check_mysqlslave.pl deleted file mode 100644 index ab7af89f..00000000 --- a/contrib/check_mysqlslave.pl +++ /dev/null @@ -1,174 +0,0 @@ -#!/usr/bin/perl -w -# -# check_mysqlslave.pl - nagios plugin -# -# -# Copyright 2002 Mario Witte -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# Credits: -# - Thanks to Christoph Kron for check_ifstatus.pl -# I used check_ifstatus.pl as a layout when writing this -# -# Report bugs to: chengfu@users.sourceforge.net -# -# 20.09.2002 Version 0.1 - - -use strict; -use lib "/usr/local/nagios/libexec"; -use utils qw($TIMEOUT %ERRORS &print_revision &support); - -use DBI; -use DBD::mysql; -use Getopt::Long; -Getopt::Long::Configure('bundling'); - -# Predeclare some variables -my $PROGNAME = 'check_mysqlslave'; -my $REVISION = '0.1'; -my $status; -my $state = 'UNKNOWN'; -my $opt_V; -my $opt_h; -my $port = 3306; -my $hostname; -my $user = 'root'; -my $pass = ''; -my $driver; -my $dbh; -my $query; -my $result; -my $data; - -# Just in case of problems, let's not hang Nagios -$SIG{'ALRM'} = sub { - print ("ERROR: No response from $hostname (alarm timeout)\n"); - exit $ERRORS{"UNKNOWN"}; -}; -alarm($TIMEOUT); - -$status = GetOptions( - "V" => \$opt_V, "version" => \$opt_V, - "h" => \$opt_h, "help" => \$opt_h, - "p=i" => \$port, "port=i" => \$port, - "H=s" => \$hostname, "hostname=s" => \$hostname, - "u=s" => \$user, "user=s" => \$user, - "P=s" => \$pass, "pass=s" => \$pass, - ); - - -if ($status == 0) { - print_help() ; - exit $ERRORS{'OK'}; -} - -if ($opt_V) { - print_revision($PROGNAME,'$Revision$REVISION .' $ '); - exit $ERRORS{'OK'}; -} - -if ($opt_h) { - print_help(); - exit $ERRORS{'OK'}; -} - -if (! utils::is_hostname($hostname)){ - usage(); - exit $ERRORS{"UNKNOWN"}; -} - - -$driver = 'DBI:mysql::'. $hostname; - -eval { - $dbh = DBI->connect($driver, $user, $pass, { RaiseError => 1, PrintError => 0}); -}; -if ($@) { - $status = $@; - if ($status =~ /^.*failed:\ (.+)\ at\ $0/i) { $status = $1; } - $state='CRITICAL'; - print $state .': Connect failed: '."$status\n"; - exit ($ERRORS{$state}); -} - -eval { - $query = 'SHOW SLAVE STATUS'; - $result = $dbh->prepare($query); - $result->execute; - $data = $result->fetchrow_hashref(); - $result->finish(); - $dbh->disconnect(); -}; -if ($@) { - $status = $@; - $status =~ s/\n/ /g; - if ($status =~ /^DB[ID].*(failed|prepare):\ (.+)\ at\ $0/i) { $status = $2; } - $state = 'CRITICAL'; - print $state .': Couldn\'t check slave: '."$status\n"; - exit($ERRORS{$state}); -} - -if ($data->{'Slave_Running'} eq 'Yes') { - $status = 'Replicating from '. $data->{'Master_Host'}; - $state = 'OK'; - print $state .': '. $status ."\n"; - exit($ERRORS{$state}); -} elsif ($data->{'Slave_Running'} eq 'No') { - if (length($data->{'Last_error'}) > 0) { - $status = 'Slave stopped with error message'; - $state = 'CRITICAL'; - print $state .': '. $status ."\n"; - exit($ERRORS{$state}); - } else { - $status = 'Slave stopped without errors'; - $state = 'WARNING'; - print $state .': '. $status ."\n"; - exit($ERRORS{$state}); - } -} else { - $status = 'Unknown slave status: (Running: '. $data->{'Slave_Running'} .')'; - $state = 'UNKNOWN'; - print $state .': '. $status ."\n"; - exit($ERRORS{$state}); -} - -sub usage { - printf "\nMissing arguments!\n"; - printf "\n"; - printf "check_mysqlslave -H [-p -u -P ]\n"; - printf "Copyright 2002 Mario Witte\n"; - printf "\n\n"; - support(); - exit $ERRORS{"UNKNOWN"}; -} - -sub print_help { - printf "check_mysqlslave plugin for Nagios checks \n"; - printf "if the replication on a backup mysql-server\n"; - printf "is up and running\n"; - printf "\nUsage:\n"; - printf " -H (--hostname) Hostname to query\n"; - printf " -p (--port) mysql port (default: 3306)\n"; - printf " -u (--user) username for accessing mysql host\n"; - printf " (default: root)\n"; - printf " -P (--pass) password for accessing mysql host\n"; - printf " (default: '')\n"; - printf " -V (--version) Plugin version\n"; - printf " -h (--help) usage help \n\n"; - print_revision($PROGNAME, '$Revision$REVISION .' $'); - -} -- cgit v1.2.3-74-g34f1