-#!/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 "\bSeconds_Behind_Master\b" | cut -d':' -f2 | sed -e "s/\s//g")
-
-IO_running=$(echo "$info" | grep "\bSlave_IO_Running\b" | cut -d':' -f2 | sed -e "s/\s//g")
-SQL_running=$(echo "$info" | grep "\bSlave_SQL_Running\b" | 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
-elif [[ "$IO_running" != "Yes" || "$SQL_running" != "Yes" ]]; then
- echo "UNKNOWN - Replication is not running"
- 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 | time=${lag}s;5;10;;"
- exit $STATE_OK
- elif [[ $lag -lt 10 ]]; then
- echo "WARNING - $output | time=${lag}s;5;10;;"
- exit $STATE_WARNING
- else
- echo "CRITICAL - $output | time=${lag}s;5;10;;"
- exit $STATE_CRITICAL
- fi
-fi