blob: a550077dd579e48dae6833f5e1529f2fa4beffbf (
plain) (
tree)
|
|
#!/bin/bash
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
user=$1
host=$2
port=$3
lag=$(psql -h $host -p $port -A -t -c "SELECT COALESCE(EXTRACT(EPOCH FROM replay_lag),0) FROM pg_stat_replication WHERE usename='$user'" 2>/dev/null)
exit_code=$?
if [[ $exit_code -ne 0 ]]; then
echo "UNKNOWN - Impossible to run psql command"
exit $STATE_UNKNOWN
elif [[ -z "$lag" ]]; then
echo "UNKNOWN - No replication found for $user"
exit $STATE_UNKNOWN
else
output="Replication lag for $user 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
|