Nagios plugin to check Postgres Streaming replication ===================================================== This script could be used as Nagios check plugin to verify Postgres Streaming replication state. This script : - check if Postgres is running (CRITICAL raise if not) - check if Postgres is in recovery mode : - if Postgres is in recovery mode : - retreive from Postgres the last xlog file receive and the xlog file replay - check if Postgres recovery configuration file is NOT present (CRITICAL raise if present) - retreive master connection informations from Postgres recovery configuration file (UNKNOWN raise on error). Default Postgres master TCP port will be used if port is not specify. - retreive current xlog file from Postgres master server (UNKNOWN raise on error). - check if the last receive xlog file is the last replay xlog file (WARNING raise if not) - Return OK state - if Postgres is not in recovery mode : - check if Postgres recovery configuration file is present (CRITICAL raise if present) - check if stand-by client(s) is connected (WARNING raise if not) - Return OK state with list and count of stand-by client(s) Requirements ------------ * On master node : Slaves node must be able to connect with user PG_USER to database postgres as trust. * On standby node : PG_USER must be able to connect localy as trust Usage ----- Usage : ./check_pg_streaming_replication [-h] [-d] [options] -u pg_user Specify Postgres user (Default : postgres) -b psql_bin Specify psql binary path (Default : /usr/bin/psql) -m pg_main Specify Postgres main directory path (Default : /var/lib/postgresql/9.1/main) -r recovery_conf Specify Postgres recovery configuration file path (Default : /var/lib/postgresql/9.1/main/recovery.conf) -p pg_port Specify default Postgres master TCP port (Default : 5432) -d Debug mode -h Show this message Copyright --------- Copyright (c) 2013 Benjamin Renard License ------- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.