From 6015a3b52c3b155ac444aeb39950c38a5e653101 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Sat, 7 Dec 2019 15:40:15 +0100 Subject: Add mysql and redis monitoring --- .../monitoring/plugins/check_mysql_replication | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 modules/private/monitoring/plugins/check_mysql_replication (limited to 'modules/private/monitoring/plugins/check_mysql_replication') diff --git a/modules/private/monitoring/plugins/check_mysql_replication b/modules/private/monitoring/plugins/check_mysql_replication new file mode 100755 index 0000000..8923928 --- /dev/null +++ b/modules/private/monitoring/plugins/check_mysql_replication @@ -0,0 +1,35 @@ +#!/bin/bash + +STATE_OK=0 +STATE_WARNING=1 +STATE_CRITICAL=2 +STATE_UNKNOWN=3 + +socket=$1 +config_file=$2 +info=$(mysql --defaults-file=${config_file} -S $socket -e "show slave status" --vertical) +exit_code=$? + +lag=$(echo "$info" | grep Seconds_Behind_Master | cut -d':' -f2 | sed -e "s/\s//g") + +if [[ $exit_code -ne 0 ]]; then + echo "UNKNOWN - Impossible to run mysql command" + exit $STATE_UNKNOWN +elif [[ -z "$lag" ]]; then + echo "UNKNOWN - No replication found for mysql" + exit $STATE_UNKNOWN +else + output="Replication lag for mysql is ${lag}s" + LC_ALL=C lag=$(printf "%.*f" 0 $lag) + + if [[ $lag -lt 5 ]]; then + echo "OK - $output" + exit $STATE_OK + elif [[ $lag -lt 10 ]]; then + echo "WARNING - $output" + exit $STATE_WARNING + else + echo "CRITICAL - $output" + exit $STATE_CRITICAL + fi +fi -- cgit v1.2.3