]> git.immae.eu Git - perso/Immae/Projets/Puppet.git/blame - modules/profile/files/monitoring/check_postgres_replication
Add monitoring for cryptoportfolio
[perso/Immae/Projets/Puppet.git] / modules / profile / files / monitoring / check_postgres_replication
CommitLineData
b5305b5c
IB
1#!/bin/bash
2
3STATE_OK=0
4STATE_WARNING=1
5STATE_CRITICAL=2
6STATE_UNKNOWN=3
7
8user=$1
9host=$2
10port=$3
11
12lag=$(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)
13exit_code=$?
14
15if [[ $exit_code -ne 0 ]]; then
a0df248a 16 echo "UNKNOWN - Impossible to run psql command"
b5305b5c
IB
17 exit $STATE_UNKNOWN
18elif [[ -z "$lag" ]]; then
a0df248a 19 echo "UNKNOWN - No replication found for $user"
b5305b5c
IB
20 exit $STATE_UNKNOWN
21else
22 output="Replication lag for $user is ${lag}s"
23 LC_ALL=C lag=$(printf "%.*f" 0 $lag)
24
25 if [[ $lag -lt 5 ]]; then
a0df248a 26 echo "OK - $output"
b5305b5c
IB
27 exit $STATE_OK
28 elif [[ $lag -lt 10 ]]; then
a0df248a 29 echo "WARNING - $output"
b5305b5c
IB
30 exit $STATE_WARNING
31 else
a0df248a 32 echo "CRITICAL - $output"
b5305b5c
IB
33 exit $STATE_CRITICAL
34 fi
35fi