Aller au contenu principal

Oracle Database

Contenu du Pack

Modèles

Le Plugin Pack Centreon Oracle Database apporte un modèle d'hôte :

  • App-DB-Oracle-custom

Il apporte les modèles de service suivants :

AliasModèle de serviceDescriptionDéfautDécouverte
ASM-Diskgroup-Usage-Generic-NameApp-DB-Oracle-ASM-Diskgroup-Usage-Generic-NameContrôle permettant de vérifier l'utilisation et le statut des groupes de disques ASM sur un serveur Oracle
ASM-Diskgroup-Usage-GlobalApp-DB-Oracle-ASM-Diskgroup-Usage-GlobalContrôle permettant de vérifier l'utilisation et le statut des groupes de disques ASM sur un serveur OracleX
Connection-NumberApp-DB-Oracle-Connection-NumberContrôle permettant de vérifier le nombre de connexions au serveur OracleX
Connection-TimeApp-DB-Oracle-Connection-TimeContrôle permettant de vérifier la durée de connexion au serveur. Ce temps est donné en secondesX
Corrupted-BlocksApp-DB-Oracle-Corrupted-BlocksContrôle permettant de vérifier le nombre de blocks corrompus du serveur.X
Data-Files-StatusApp-DB-Oracle-Data-Files-StatusContrôle permettant de vérifier le statut des fichiers de données Oracle
Datacache-HitratioApp-DB-Oracle-Datacache-HitratioContrôle permettant de vérifier le 'Data Buffer Cache Hit Ratio' du serveur. Aucunes alertes par défautX
Dictionary-Cache-UsageApp-DB-Oracle-Dictionary-Cache-UsageContrôle permettant de vérifier le 'dictionary cache'
Event-Waits-UsageApp-DB-Oracle-Event-Waits-UsageContrôle permettant de vérifier l'utilisation des 'event waits'.
Fra-UsageApp-DB-Oracle-Fra-UsageContrôle permettant de vérifier le 'fast recovery area space'
Invalid-ObjectApp-DB-Oracle-Invalid-ObjectContrôle permettant de vérifier l'utilisation des objets invalides.
Library-Cache-UsageApp-DB-Oracle-Library-Cache-UsageContrôle permettant de vérifier le 'library cache'
Long-QueriesApp-DB-Oracle-Long-QueriesContrôle permettant de vérifier les longues requêtes.
Process-UsageApp-DB-Oracle-Process-UsageContrôle permettant de vérifier l'utilisation des 'process' OracleX
Redolog-UsageApp-DB-Oracle-Redolog-UsageContrôle permettant de vérifier le 'redo log'
Rman-Backup-AgeApp-DB-Oracle-Rman-Backup-AgeContrôle permettant de vérifier l'ancienneté des sauvegardes 'RMAN'
Rman-Backup-Online-AgeApp-DB-Oracle-Rman-Backup-Online-AgeContrôle permettant de vérifier l'ancienneté des sauvegardes 'RMAN' en mode online
Rman-Backup-ProblemsApp-DB-Oracle-Rman-Backup-ProblemsContrôle permettant de vérifier les erreurs de sauvegarde 'RMAN' du serveur durant les 3 derniers joursX
Rollback-Segment-UsageApp-DB-Oracle-Rollback-Segment-UsageContrôle permettant de vérifier l'utilisation des 'rollback segment'.
Session-UsageApp-DB-Oracle-Session-UsageContrôle permettant de vérifier l'utilisation des sessionsX
SqlApp-DB-Oracle-Sql-Statement-GenericContrôle permettant d'exécuter une requête SQL personnalisée renvoyant une donnée numérique
Sql-StringApp-DB-Oracle-Sql-Statement-String-GenericContrôle permettant d'exécuter une requête SQL personnalisée renvoyant une chaine de caractères
Tablespace-Usage-GlobalApp-DB-Oracle-Tablespace-Usage-GlobalContrôle permettant de vérifier l'utilisation des 'tablespaces' du serveurXX
TnspingApp-DB-Oracle-TnspingContrôle permettant de vérifier la connexion à un 'listener' distantX

Règles de découverte

Nom de la règleDescription
App-DB-Oracle-ASM-Diskgroup-Usage-NameDiscover the disk partitions and monitor space occupation
App-DB-Oracle-Tablespaces-Usage-Name

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 nameDescriptionUnit
connection_timeConnection time to the databasems

Prérequis

Dépendances

dnf install gcc wget

Oracle instant client

Se connecter sur Instant Client Downloads. Choisir le groupe de paquets correspondant au système d'exploitation du collecteur et télécharger les paquets (RPM) suivants :

  • oracle-instantclient-basic
  • oracle-instantclient-sqlplus
  • oracle-instantclientdevel

Installer les paquets avec la commande suivante :

rpm -ivh oracle-*.rpm

Bibliothèque Perl pour Oracle

En tant que root, exécuter :

cd /usr/local/src 
wget https://www.cpan.org/modules/by-module/DBD/DBD-Oracle-1.83.tar.gz
tar xzf DBD-Oracle-1.83.tar.gz
cd DBD-Oracle-1.83
export ORACLE_HOME=/usr/lib/oracle/21/client64
export LD_LIBRARY_PATH=/usr/lib/oracle/21/client64/lib
export PATH=$ORACLE_HOME:$PATH
perl Makefile.PL -m /usr/share/oracle/21/client64/demo/demo.mk

Le message suivant devrait apparaître :

LD_RUN_PATH=/usr/lib/oracle/21/client64/lib
Using DBD::Oracle 1.83.
Using DBD::Oracle 1.83.
Using DBI 1.641 (for perl 5.026003 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/vendor_perl/auto/DBI/
Generating a Unix-style Makefile
Writing Makefile for DBD::Oracle

Si vous rencontrez une erreur durant l'étape du Makefile.PL, essayez de spécifier explicitement une version d'Oracle fonctionnelle pour la compilation (cela n'aura pas d'impact sur le fonctionnement): perl Makefile.PL -V 12.1.0 -m /usr/share/oracle/21/client64/demo/demo.mk

Compiler la bibliothèque :

make

Puis l'installer :

make install

Puis créer le fichier : /etc/ld.so.conf.d/oracle.conf. Éditer et ajouter un lien vers la bibliothèque Perl d’Oracle :

cat > /etc/ld.so.conf.d/oracle.conf <<EOF
/usr/lib/oracle/21/client64/lib/
EOF

Mettez à jour le cache avec la commande suivante :

/sbin/ldconfig

Compte d'utilisateur

La façon la plus sûre de récupérer des informations du serveur Oracle est de créer un utilisateur dédié à Centreon.

Ce compte utilisateur doit avoir la permission de lecture/READ (Oracle 12+) ou de sélection/SELECT (Oracle < 12) sur les tables suivantes :

  • dba_free_space
  • dba_data_files
  • dba_temp_files
  • dba_segments
  • dba_jobs
  • dba_objects
  • DBA_MVIEW_refresh_times
  • dba_indexes
  • dba_ind_partitions
  • dba_ind_subpartitions
  • dba_registry
  • dba_tablespaces
  • DBA_MVIEW_refresh_times
  • DBA_TABLESPACE_USAGE_METRICS
  • v_$sysstat
  • v_$sgastat
  • v_$parameter
  • v_$process
  • v_$session
  • v_$filestat
  • v_$log
  • v_$instance
  • V_$ASM_DISKGROUP
  • v_$database_block_corruption
  • v_$tempstat
  • v_$rowcache
  • v_$system_event
  • v_$recovery_area_usage
  • v_$librarycache
  • v_$sql_monitor
  • v_$resource_limit
  • v_$rman_status
  • v_$backup
  • v_$rman_status
  • v_$rollstat
  • v_$resource_limit
  • v_$tablespace
  • v_$event_name
  • v_$waitstat

Installation

Pack de supervision

Si la plateforme est configurée avec une licence online, l'installation d'un paquet n'est pas requise pour voir apparaître le pack dans le menu Configuration > Plugin Packs > Gestionnaire.

Au contraire, si la plateforme utilise une licence offline, installez le paquet sur le serveur central via la commande correspondant au gestionnaire de paquet associé à sa distribution :

dnf install centreon-pack-applications-databases-oracle

Quel que soit le type de la licence (online ou offline), installez le Pack Oracle Database depuis l'interface web et le menu Configuration > Plugin Packs > Gestionnaire.

Plugin

À partir de Centreon 22.04, il est possible de demander le déploiement automatique du plugin lors de l'utilisation d'un pack. Si cette fonctionnalité est activée, et que vous ne souhaitez pas découvrir des éléments pour la première fois, alors cette étape n'est pas requise.

Plus d'informations dans la section Installer le plugin.

Utilisez les commandes ci-dessous en fonction du gestionnaire de paquets de votre système d'exploitation :

dnf install centreon-plugin-Applications-Databases-Oracle

Configuration

Hôte

  • Ajoutez un hôte à Centreon depuis la page Configuration > Hôtes.
  • Complétez les champs Nom, Alias & IP Address/DNS correspondant à votre base de données Oracle.
  • Appliquez le modèle d'hôte App-DB-Oracle-custom.
  • Une fois le modèle appliqué, les macros ci-dessous indiquées comme requises (Obligatoire) doivent être renseignées.
ObligatoireNameDescription
XORACLEPASSWORDMot de passe de l'utilisateur Oracle
XORACLEPORTPort de l'instance Oracle (par défaut: 1521)
XORACLESIDNom de l'instance Oracle
XORACLEUSERNAMENom de l'utilsateur Oracle
ORACLESERVICENAMENom du service Oracle

FAQ

Comment tester un contrôle en ligne de commandes et que signifient les options principales ?

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_oracle.pl \
--plugin=database::oracle::plugin \
--hostname='10.30.2.38' \
--port='1521' \
--sid='XE' \
--username='SYSTEM' \
--password='Centreon75' \
--mode='tablespace-usage' \
--warning-tablespace='90' \
--critical-tablespace='98' \
--verbose

Exemple de sortie :

OK: All tablespaces are OK | 'tbs_sysaux_usage_sysaux'=552075272B;0:27596154624;0:29069940992;0;30595726360 'tbs_system_usage_system'=945684080B;0:27636154624;0:29065940982;0;30595527360 'tbs_temp_usage_temp'=0B;0:27536080897;0:29065863169;0;30595645450 'tbs_users_usage_users'=2818049B;0:27536154625;0:29065940993;0;30595727460
Tablespace 'sysaux' Total: 29.48 GB Used: 527.60 MB (1.90%) Free: 27.88 GB (98.20%)
Tablespace 'system' Total: 29.48 GB Used: 902.76 MB (3.09%) Free: 27.71 GB (96.91%)
Tablespace 'temp' Total: 29.48 GB Used: 0.00 B (0.00%) Free: 28.59 GB (100.00%)
Tablespace 'users' Total: 29.48 GB Used: 2.78 MB (0.01%) Free: 28.48 GB (99.99%)

La commande ci-dessus contrôle l'espace utilisé dans les tablespaces (--mode='tablespace-usage') d'une base de données oracle installée sur l'hôte 10.30.2.38 (--hostname='10.30.2.38'). Il utilise les informations d'Oracle pour se connecter à la base de données (--username='SYSTEM' --password='Centreon75' --port='1521' --sid='XE').

Le seuil d'alerte est dépassé si le pourcentage d'espace utilisé dans une tablespace dépasse 90% (--warning-tablespace='90'). Le seuil critique est dépassé si ce pourcentage dépasse 98% (--critical-tablespace='98').

Toutes les options et leur utilisation peuvent être consultées avec le paramètre --help ajouté à la commande :

/usr/lib/centreon/plugins//centreon_oracle.pl \
--plugin=database::oracle::plugin \
--mode='tablespace-usage' \
--help

Tous les modes fournis avec le plugin peuvent être consultés avec le paramètre --list-mode :

/usr/lib/centreon/plugins//centreon_oracle.pl \
--plugin=database::oracle::plugin \
--list-mode

Diagnostic des erreurs communes

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

UNKNOWN: Cannot connect: (no error string) |

Ce message d'erreur signifie que le plugin Centreon n'a pas pu se connecter à la base de données Oracle. Vérifier qu'une base de données Oracle est installée sur cet hôte. Vérifier également qu'aucun pare-feu ne bloque la connexion.

DBD::Oracle is not root directory |

Ce message d'erreur signifie que le module DBD::Oracle est installé sous le répertoire /root. Supprimer la variable d'environnement shell avec PERL et compiler DBD::Oracle Perl Module.