22
0
Fork 0

Ajout doc check_pgactivity pour réplication logique

This commit is contained in:
emorino 2020-10-23 15:35:05 +02:00
parent d288921d80
commit f19628e793
1 changed files with 25 additions and 1 deletions

View File

@ -140,7 +140,7 @@ Sur le réplica on aura des erreurs de ce type :
## Monitoring
Sur le serveur replica, on peut surveiller le bon fonctionnement de la réplication ainsi :
Sur le serveur secondaire, on peut surveiller le bon fonctionnement de la réplication ainsi, mais cela indique celement l'état sur le secondaire, il ne surveille pas la réplication par rapport au primaire :
~~~
postgres=# select * from pg_subscription ;
@ -155,4 +155,28 @@ postgres=# select * from pg_stat_subscription ;
16388 | mysub | 12767 | | 0/16A58D8 | 2019-09-17 21:09:16.512057+00 | 2019-09-17 21:09:16.512241+00 | 0/16A58D8 | 2019-09-17 21:09:16.512057+00
~~~
### check_pgactivity
Pour surveiller la réplication logique depuis le primaire on utilise le check_pgactivity :
<https://github.com/OPMDG/check_pgactivity>
On l'utilise avec le service *replication_slots* qui regarde le nombre de fichier WAL et le nombre de fichier dans pg_replslot pour chaque slot de réplication.
Si les fichiers WAL s'accumule ainsi que les fichiers dans pg_replslot/ c'est qu'il y a un problème de réplication, le check passe en critique est indique quel slot est impacté.
On positionne des valeurs de *warning* et *critique* comme ceci :
~~~
postgres@serv:~$ /usr/lib/nagios/plugins/check_pgactivity -s replication_slots -w 'wal=250,replslot=40' -c 'wal=350,replslot=80'
~~~
Pour que ce check fonctionne, il faut utiliser un utilisateur sans privilège particulier, mais avec le droit EXECUTE sur la fonction *pg_ls_dir(text)*
On peut créer l'utilisateur comme ceci :
~~~
postgres=# CREATE ROLE monitor WITH LOGIN PASSWORD 'foo';
postgres=# GRANT EXECUTE ON FUNCTION pg_ls_dir(text) TO monitor;
~~~