[Nagiosplug-devel] check_mssql
Jonathan Rozes
jrozes at vinton.com
Tue May 13 09:27:23 CEST 2003
This is the third version of a check_mssql plugin I've seen now. Why does
everybody insist on reinventing the wheel (and poorly, at that)?
jonathan
> -----Original Message-----
> From: Roy Sigurd Karlsbakk [mailto:roy at karlsbakk.net]
> Sent: Tuesday, May 13, 2003 2:09 AM
> To: NagiosPlug Devel
> Subject: [Nagiosplug-devel] check_mssql
>
>
> hi
>
> just wrote this. works fine here. any chance to get this
> checked into cvs?
>
> roy
>
> #!/usr/bin/perl -w
>
> use DBI;
> use DBD::Sybase;
> use Getopt::Long;
> use Date::Parse;
> use strict;
>
> my (
> $server,$database,$username,$password,$query,$help,$verbose,
> $dbh,$sth,$lasterror,
> $nagline,
> $s
> );
> my $exitcode = 0;
> my $lastread = 0;
> my $data_returned = 0;
>
> sub syntax {
> $s = shift or $s = 'Unknown';
> printf("Error: ($s)\n") unless ($help);
> printf("Syntax: %s -s <server> -d <database> -u <username> -p
> <password> -q <query> [-v]\n", $0);
> printf("* --database -d Database name\n");
> printf("* --server -s Server name\n");
> printf("* --username -u Username\n");
> printf("* --password -p Password\n");
> printf("* --query -q SQL query to run\n");
> printf(" --verbose -v verbose\n");
> exit(3);
> }
>
> Getopt::Long::Configure('bundling');
> GetOptions
> ("p=s" => \$password, "password=s" => \$password,
> "u=s" => \$username, "username=s" => \$username,
> "s=s" => \$server, "server=s" => \$server,
> "d=s" => \$database, "database=s" => \$database,
> "q=s" => \$query, "query=s" => \$query,
> "h" => \$help, "help" => \$help,
> "v" => \$verbose, "verbose" => \$verbose);
>
> syntax("Help:") if ($help);
> syntax("Missing username") unless (defined($username));
> syntax("Missing password") unless (defined($password));
> syntax("Missing server") unless (defined($server));
> syntax("Missing database") unless (defined($database));
> syntax("Missing query string") unless (defined($query));
>
> unless ($dbh = DBI->connect("dbi:Sybase:server=".uc($server),
> "$username",
> "$password")) {
> printf ("Can't connect to mssql server $dbh->errstr");
> exit(2);
> }
> unless ($dbh->do("use $database")) {
> printf ("Can't 'use $database': $dbh->errstr");
> exit(2);
> }
> $sth = $dbh->prepare($query);
> unless ($lasterror = $sth->execute()) {
> printf("Error in query: $dbh->errstr\n");
> exit(2);
> }
>
> exit($exitcode);
>
> --
> Roy Sigurd Karlsbakk, Datavaktmester
> ProntoTV AS - http://www.pronto.tv/
> Tel: +47 9801 3356
>
> Computers are like air conditioners.
> They stop working when you open Windows.
>
>
>
> -------------------------------------------------------
> Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara
> The only event dedicated to issues related to Linux
> enterprise solutions
> www.enterpriselinuxforum.com
>
> _______________________________________________
> Nagiosplug-devel mailing list
> Nagiosplug-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nagiosplug-devel
> ::: Please include plugins version (-v) and OS when reporting
> any issue.
> ::: Messages without supporting info will risk being sent to /dev/null
>
More information about the Devel
mailing list