Aller au contenu principal

PostgreSQL DB

Contenu du Pack

Modèles

Le Pack Centreon PostgreSQL apporte un modèle d'hôte :

  • App-DB-Postgres-custom

Il apporte les modèles de service suivants :

Service AliasService TemplateService DescriptionDefaultDiscovery
BloatApp-DB-Postgres-BloatContrôle l'espace libre des tables et btrees
Cache-HitratioApp-DB-Postgres-Cache-HitratioContrôle permettant de vérifier le buffer cache hitratioX
CollectionApp-DB-Postgres-CollectionCollecte et calcule des données SQL
ConnectionApp-DB-Postgres-ConnectionContrôle la connexion à une base de donnéesX
Connection-NumberApp-DB-Postgres-Connection-NumberContrôle le nombre de connexion aux bases de donnéesX
Database-SizeApp-DB-Postgres-Database-SizeContrôle la taille des bases de donnéesX
LocksApp-DB-Postgres-LocksContrôle les verrous des bases de donnéesX
Query-TimeApp-DB-Postgres-Query-TimeContrôle permettant de vérifier le temps d'exécution des requêtes en cours sur les bases de donnéesX
Sql-StatementApp-DB-Postgres-Sql-StatementContrôle permettant d'exécuter une requête SQL personnalisée renvoyant une donnée numérique
StatisticsApp-DB-Postgres-StatisticsContrôle les statistiques des types de requêtes sur les bases de données
Tablespace-SizeApp-DB-Postgres-Tablespace-SizeContrôle l'utilisation des tablespaces
Time-SyncApp-DB-Postgres-Time-SyncContrôle la différence de temps entre le collecteur et la base de données
VacuumApp-DB-Postgres-VacuumContrôle la dernière exécution du vacuum

Règles de découverte

Nom de la règleDescription
App-DB-Postgres-Databases-SizeDécouvre les bases de données et supervise l'espace utilisé

Rendez-vous sur la documentation dédiée pour en savoir plus sur la découverte automatique de services et sa planification.

Métriques & statuts collectés

Metric NameUnit
db_name~table_name#table.space.usage.bytesB
db_name~table_name#table.space.free.bytesB
db_name~table_name#table.dead_tuple.bytesB
db_name~index_name#index.space.usage.bytesB
db_name~index_name#index.leaf_density.percentage%

Prérequis

Pour superviser votre serveur PostgreSQL, créez un utilisateur dédié en lecture seule :

CREATE USER centreonro WITH PASSWORD 'test';
GRANT CONNECT ON DATABASE postgres TO centreonro;
GRANT USAGE ON SCHEMA public TO centreonro;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO centreonro;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO centreonro;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO centreonro;

Pour utiliser le service Tablespace-Size, un utilisateur avec les droits de administrateurs est nécessaire.

Pour utiliser le service Bloat, veuillez installer l'extension pgstattuple (https://docs.postgresql.fr/13/pgstattuple.html) et ajoutez les privilèges :

GRANT EXECUTE ON FUNCTION pgstattuple(regclass) TO centreonro;
GRANT EXECUTE ON FUNCTION pgstatindex(regclass) TO centreonro;

Installation

  1. Installer le plugin Centreon sur tous les collecteurs Centreon devant superviser des ressources PostgreSQL :
yum install centreon-plugin-Applications-Databases-Postgresql
  1. Sur l'interface web de Centreon, installer le Pack PostgreSQL depuis la page Configuration > Packs de plugins.

Configuration

Hôte

  • Ajoutez un hôte à Centreon depuis la page Configuration > Hôtes.
  • Complétez les champs Nom, Alias et IP Address/DNS correspondant à votre serveur PostgreSQL.
  • Appliquez le Modèle d'Hôte App-DB-Postgres-custom.
  • Une fois le modèle appliqué, les macros ci-dessous indiquées comme requises (Obligatoire) doivent être renseignées.
ObligatoireMacroDescription
XPOSTGRESUSERNAME
XPOSTGRESPASSWORD
POSTGRESPORTPort used (Default: 5432)
POSTGRESDATABASEDatabase connection (Default: postgres)
POSTGRESEXTRAOPTIONSAny extra option you may want to add to every command line (eg. a --verbose flag)

Comment puis-je tester le Plugin et que signifient les options des commandes ?

Une fois le Plugin installé, vous pouvez tester celui-ci directement en ligne de commande depuis votre collecteur Centreon en vous connectant avec l'utilisateur centreon-engine (su - centreon-engine) :

/usr/lib/centreon/plugins/centreon_postgresql.pl \
--plugin=database::postgres::plugin \
--mode=connection-time \
--hostname=10.0.0.1 \
--database=postgres \
--port=5432 \
--username='centreonro' \
--password='test'

La commande devrait retourner un message de sortie similaire à :

OK: Connection established in 0.533s. | 'connection.time.milliseconds'=533ms;;;0;

La liste de toutes les options complémentaires et leur signification peut être affichée en ajoutant le paramètre --help à la commande :

/usr/lib/centreon/plugins/centreon_postgresql.pl \
--plugin=database::postgres::plugin \
--mode=connection-time \
--help

Tous les modes disponibles peuvent être affichés en ajoutant le paramètre --list-mode à la commande :

/usr/lib/centreon/plugins/centreon_postgresql.pl \
--plugin=database::postgres::plugin \
--list-mode

Diagnostic des erreurs communes

Rendez-vous sur la documentation dédiée pour le diagnostic des erreurs communes des plugins Centreon.