check_pg_streaming_replication/README
2015-04-27 16:24:36 +02:00

70 lines
2.6 KiB
Text

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.