diff --git a/sensu/files/checks/check_kvm.sh b/sensu/files/checks/check_kvm.sh
deleted file mode 100644
index f40fb50..0000000
--- a/sensu/files/checks/check_kvm.sh
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/bin/bash
-#
-# Key for libvirt-client: command="sudo /srv/sensu/checks/check_virsh_list.sh $SSH_ORIGINAL_COMMAND",no-port-forwarding,no-x11-forwarding,no-agent-forwarding ssh-rsa ...
-#check_virsh_list.sh:
-#
-#!/bin/bash
-#case $1 in
-#    list) virsh list --all;;
-#    dumpxml) virsh dumpxml $2;;
-#    *) echo invalid option;exit 1;;
-#esac
-#
-#Usage:
-# check_kvm.sh -i instance_id -u user_name -p user_password -t tenant_name -w auth_url
-
-
-while getopts ":i:u:p:t:w:" opt; do
-    case $opt in
-        i)
-            inst_id=${OPTARG};;
-        u)
-            user=${OPTARG};;
-      	p)
-	          passwd=${OPTARG};;
-      	t)
-            tenant_name=${OPTARG};;
-	      w)
-            auth_url=${OPTARG};;
-        \?)
-            echo "Invalid option";exit 1;;
-        : ) echo "Option -"$OPTARG" requires an argument." >&2
-            exit 1;;
-    esac
-done
-#keystone:
-export OS_USERNAME=$user
-export OS_PASSWORD=$passwd
-export OS_TENANT_NAME=$tenant_name
-export OS_AUTH_URL=$auth_url
-
-#Clear getopts variables
-for ((i=1 ; i <= 9 ; i++))
-do
-      shift
-done
-
-#Get hypervisor name
-hypervisor=`nova show $inst_id | grep hypervisor_hostname | awk '{print $4}'`
-
-#Get kvm instance name
-inst_name=`ssh -i /opt/sensu/.ssh/id_rsa libvirt-client@$hypervisor "dumpxml $inst_id" | grep '<name>'`
-#inst_name=`ssh root@$hypervisor "virsh dumpxml $inst_id | grep '<name>'"`
-inst_name=`awk '{gsub("<name>", "");print}' <<< $inst_name`
-inst_name=`awk '{gsub("</name>", "");print}' <<< $inst_name`
-
-#Get state
-state=`ssh -i /opt/sensu/.ssh/id_rsa libvirt-client@$hypervisor "list" | sed '1,2d' | sed '/^$/d'| awk '{print $2" "$3}' | grep $inst_name `
-#state=`ssh root@$hypervisor "virsh list --all | sed '1,2d' | sed '/^$/d'| awk '{print $2" "$3}' | grep $inst_name "`
-state=$(echo $state | awk -F" " '{print $2}')
-
-OK=0
-WARN=0
-CRIT=0
-NUM=0
-
-  case "$state" in
-    running|blocked) OK=$(expr $OK + 1) ;;
-    paused) WARN=$(expr $WARN + 1) ;;
-    shutdown|shut*|crashed) CRIT=$(expr $CRIT + 1) ;;
-    *) CRIT=$(expr $CRIT + 1) ;;
-  esac
-
-if [ "$NUM" -eq "$OK" ]; then
-  EXITVAL=0 #Status 0 = OK (green)
-fi
-
-if [ "$WARN" -gt 0 ]; then
-  EXITVAL=1 #Status 1 = WARNING (yellow)
-fi
-
-if [ "$CRIT" -gt 0 ]; then
-  EXITVAL=2 #Status 2 = CRITICAL (red)
-fi
-
-echo hosts:$NUM OK:$OK WARN:$WARN CRIT:$CRIT - $LIST
-
-exit $EXITVAL
diff --git a/sensu/files/checks/check_log.sh b/sensu/files/checks/check_log.sh
deleted file mode 100644
index 193d724..0000000
--- a/sensu/files/checks/check_log.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/bash
-
-#check logs
-#usage: ./check_log.sh -p path_to_log -l check_for_last_x_minutes -r regular_expression_you_are_looking_for -c check_last_n_lines
-
-while getopts ":p:l:r:c:" opt; do
-    case $opt in
-        p)
-            LOGPATH=${OPTARG};;
-        l)
-            LAST=${OPTARG};;
-        r)
-            REGEXP=${OPTARG};;
-        c)
-            LINESCOUNT=${OPTARG};;
-       \?)
-            echo "Invalid option";exit 1;;
-        : ) echo "Option -"$OPTARG" requires an argument." >&2
-            exit 1;;
-    esac
-done
-
-NAME=$(echo "$LOGPATH" | sed "s/.*\///" | sed "s/\..*//")
-
-LASTCHANGED=$(expr `date +%s` - `stat -c %Y $LOGPATH`)
-
-LAST=$[LAST*60]
-
-if [[ $LASTCHANGED -gt $LAST ]]; then
-        echo No new lines in file.
-        exit 0
-fi
-
-tail -$LINESCOUNT $LOGPATH > LASTLINES_$NAME
-
-ERRCODE=0
-while read line; do
-        if [[ $line == *"$REGEXP"* ]]; then
-                EXITCODE=$[EXITCODE+1]
-        fi
-done < LASTLINES_$NAME
-
-rm -rf /etc/sensu/plugins/LASTLINES_$NAME
-
-if [[ $EXITCODE -gt 0 ]]; then
-        echo CRIT:$EXITCODE from last $LINESCOUNT lines.
-        exit 2
-else
-        echo OK:$EXITCODE
-        exit 1
-fi
\ No newline at end of file
diff --git a/sensu/files/checks/check_storwize_v7000_err_finder.sh b/sensu/files/checks/check_storwize_v7000_err_finder.sh
deleted file mode 100755
index 56df328..0000000
--- a/sensu/files/checks/check_storwize_v7000_err_finder.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-
-#check IBM v7000
-#usage: ./check_storwize_v7000_err_finder.sh -p password -h host_ip -u user
-
-while getopts ":u:p:h:" opt; do
-    case $opt in
-        u)
-            USER=${OPTARG};;
-        p)
-            PASSWD=${OPTARG};;
-        h)
-            HOST=${OPTARG};;
-       \?)
-            echo "Invalid option";exit 1;;
-        : ) echo "Option -"$OPTARG" requires an argument." >&2
-            exit 1;;
-    esac
-done
-
-command -v sshpass >/dev/null 2>&1 || { echo "Missing program sshpass. Aborting." >&2; exit 1; }
-
-ERRCODE=`sshpass -p "$PASSWD" ssh $USER@$HOST -o StrictHostKeyChecking=no "svctask finderr" | cut -d "[" -f2 | cut -d "]" -f1`
-
-if [[ ${ERRCODE[@]}="There are no unfixed errors" ]]; then
-	exit 0
-else
-	CONDITION=`cat ./svc_error_database | grep $ERRCODE`
-	echo "Storwize V7000 $HOST $CONDITION"
-	exit 2
-fi
-
-
