Vous êtes ici:

Menu


Stacks Image 16791
Le module database comme son nom l'indique va nous permettre de superviser les bases de données. Actuellement six types de bases de données vous sont proposés : MySQL, PostGres, Oracle, MS SQL, firebird et Informix. Par convention, nous utiliserons le chemin des plugins de la distribution Centreon. Adaptez votre chemin si besoin.

1 Découverte des plugins de base de données

Avant de commencer, vous pouvez visualiser avec cette commande, les types de base de données qui sont gérés par le plugin Centreon.
/usr/lib/nagios/plugins/centreon_plugins.pl --list-plugin | grep database
PLUGIN: database::informix::plugin
PLUGIN: database::firebird::plugin
            --database
PLUGIN: database::mysql::plugin
PLUGIN: database::oracle::plugin
PLUGIN: database::postgres::plugin
            --database
PLUGIN: database::mssql::plugin

2 Le module database::mysql::plugin

2.1 Connexion à la base de données

Avant de commencer, il faudra choisir le mode de connexion à la base de données. Afin de ne pas utiliser le compte root avec la base de données MySQL, nous créerons, tout d'abord, un utilisateur supervision, voir l'article spécialement réalisé pour la connexion MySQL. Dans notre exemple, nous utiliserons le serveur Weblamp de la maquette Duchmol.

2.2 Les modes du plugin database::mysql::plugin

Voici les principaux mode de supervision de ce plugin.
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --list-mode
....
Modes Available:
   connection-time
   databases-size
   innodb-bufferpool-hitrate
   long-queries
   myisam-keycache-hitrate
   open-files
   qcache-hitrate
   queries
   replication-master-master
   replication-master-slave
   slow-queries
   sql
   tables-size
   threads-connected
   uptime

2.3 Quelques exemples d’utilisation du module database::mysql

Voici une liste d’exemples avec une connexion locale (user supervision mdp centreon)

/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=connection-time --username supervision --password centreon
résultat
OK: Connection established in 0.014s.| 'connection_time'=14ms;;;0;;
Serveur supervision
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=databases-size --username supervision --password centreon
résultat
OK: All databases are ok. | 'centreon_size'=6750208B;;;0; 'centreon_storage_size'=5042604B;;;0; 'information_schema_size'=9216B;;;0; 'mysql_size'=707254B;;;0; 'performance_schema_size'=0B;;;0;
Serveur supervision, base centreon
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=databases-size --username supervision --password centreon --filter='centreon'
résultat
OK: All databases are ok. | 'centreon_size'=6750208B;;;0; 'centreon_storage_size'=5044756B;;;0;
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=innodb-bufferpool-hitrate --username supervision --password centreon
résultat
OK: innodb buffer pool hitrate at 100.00% | 'bufferpool_hitrate_now'=100.00%;;;0; 'bufferpool_hitrate'=99.97%;;;0;
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=long-queries --username supervision --password centreon
résultat
OK: 0 queries over 60 seconds | 'longqueries'=0;;;0;
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=myisam-keycache-hitrate --username supervision --password centreon
résultat
OK: myisam keycache hitrate at 100.00% | 'keycache_hitrate_now'=100.00%;;;0; 'keycache_hitrate'=99.96%;;;0;
/usr/lib/nagios/plugins/centreon_plugins.pl  --plugin=database::mysql::plugin --host localhost --mode=open-files --username supervision --password centreon
résultat
OK: 10.00% of the open files limit reached (106 of max. 1024)| 'open_files'=106;;;0;;
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=qcache-hitrate --username supervision --password centreon
résultat
OK: query cache hitrate at 100.00% | 'qcache_hitrate_now'=100.00%;;;0; 'qcache_hitrate'=80.10%;;;0;
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=queries --username supervision --password centreon
résultat
OK: Total requests = 7.| 'Com_delete_requests'=0;;;0;; 'Com_insert_requests'=0;;;0;; 'Com_select_requests'=0;;;0;; 'Com_truncate_requests'=0;;;0;; 'Com_update_requests'=2;;;0;; 'total_requests'=7;;;0;;
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=slow-queries --username supervision --password centreon
résultat
OK: 0 slow queries in 3 seconds (0.00/sec)| 'slow_queries_rate'=0.00;;;0;;
/usr/lib/nagios/plugins/centreon_plugins.pl  --plugin=database::mysql::plugin --host localhost --mode=threads-connected --username supervision --password centreon
résultat
OK: 3 client connection threads| 'threads_connected'=3;;;0;;

sql

/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=sql --username supervision --password centreon --sql-statement='select count(*) from contact;' --connect-options database=centreon
résultat
OK: SQL statement result : 6. | 'value'=6;;;;
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=uptime --username supervision --password centreon
résultat
OK: database is up since 8 days | 'uptime'=691388s;;;0;
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=tables-size --username supervision --password centreon --filter-table='^contact$'
résultat
OK: Total Size : 112.00KB - Table 'centreon.contact' size : 112.00KB | 'total'=114688B;;;0; 'table'=114688B;;;0;
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::mysql::plugin --host localhost --mode=threads-connected --username supervision --password centreon
résultat
OK: 4 client connection threads | 'threads_connected'=4;;;0;
Maintenant passons à un exemple pratique pour Mysql.
comments powered by Disqus
 Vous êtes ici: