From c1a2904b5a0c901463e9a990b04e123c336de34b Mon Sep 17 00:00:00 2001 From: Alexander Swen Date: Thu, 26 Jan 2012 20:42:51 +0100 Subject: [PATCH] Check_s3: to check if Amazon S3 is working properly --- check_s3 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 check_s3 diff --git a/check_s3 b/check_s3 new file mode 100755 index 0000000..8780b0b --- /dev/null +++ b/check_s3 @@ -0,0 +1,54 @@ +#!/bin/sh +# +# check_s3 +# Nagios plugin to monitor S3 state +# +# Copyright (c) 2011 Alexander Swen +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# +# +# Example configuration +# +# commands.cfg: +# +# define command { +# command_name check_s3 +# command_line $USER1$/check_s3 -u $JOB1$ -m $JOB2$ +# } +# +# s3.cfg: +# +# define service { +# use generic-service +# service_description S3 state +# check_command check_s3!http://production.ioservice.net.s3.amazonaws.com/nagios-s3-uptime-checkfile!6befd8f2ee87d3bc0221eac310eb42e9 +#} + +# nagios-s3-uptime-checkfile should have the md5sum used as argument as last line +# and can have any comments before that line + +while getopts u:m: OPTNAME; do + case "$OPTNAME" in + u) URL="$OPTARG" ;; + m) MD5SUM="$OPTARG" ;; + esac +done + +if [ "$(wget -qO- ${URL}|tail -1)" = "${MD5SUM}" ];then + echo "OK - STATUS: S3 is up" + exit 0 +else + echo "CRITICAL - STATUS: S3 has some problem" + exit 1 +fi