Hello, après l’installation d’Oracle Database 19c sous OEL7, je termine donc ce projet avec l’installation du client oracle sous CentOS 7 (Centreon). En effet, afin de pouvoir superviser les bases de données Oracle avec Centreon, il faut installer et configurer Oracle Client sur votre plate-forme de supervision.
Ce qu’il vous faut :
- Votre plate-forme de supervision Centreon :
- Centreon 18.10.5-el7 (CentOS 7) : installation-configuration-complete/
- N’hésitez pas à mettre à jour vers la dernière version : 18-10-2-vers-19-04-httpd2-4/
Remarque : Pour ma part, j’ai mis en place une nouvelle VM avec la dernière version de Centreon (centreon-19.04-0.el7.x86_64.iso) sans rien installé de plus. Donc, je pars de ZERO.
- Oracle Client for Linux : downloads/oracle19c-linux
- Accepter la licence pour débloquer les liens de téléchargement.
- Tout en bas, sous la ligne : Oracle Database 19c Client (19.3) for Linux x86-64
- Télécharger le fichier : LINUX.X64_193000_client.zip (64-bit) (1,134,912,540 bytes)
- Votre serveur de base de données Oracle pour tester la supervision.
- Pour moi c’est ce serveur : oracle-database-19c-installation-sous-oel7/
Configuration Serveur Centreon
Mettez à jour votre serveur Centreon si c’est nécessaire.
Attention, cette commande mettra à jour également Centreon si vous l’avez installé depuis l’ISO CES.
[root@centreon ~]# yum update -y
Installer les packages suivant :
Remarque : Si vous êtes en PROD n’hésitez pas à faire une sauvegarde avant d’installer d’autres packages sur votre plateforme de supervision.
[root@centreon ~]# yum groupinstall -y "X Window System"
[root@centreon ~]# yum install zip unzip git wget mlocate nano binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64
Création de groupe et l’utilisateur Oracle :
[root@centreon ~]# groupadd oinstall [root@centreon ~]# [root@centreon ~]# groupadd dba [root@centreon ~]# [root@centreon ~]# useradd -g oinstall -G dba oracle [root@centreon ~]#
Ajouter un mot de passe pour l’user Oracle :
[root@centreon ~]# passwd oracle Changement de mot de passe pour l'utilisateur oracle. Nouveau mot de passe : Retapez le nouveau mot de passe : passwd : mise à jour réussie de tous les jetons d'authentification. [root@centreon ~]#
Installation Oracle Client
Télécharger l’archive ZIP et le transférer dans le dossier /tmp de votre serveur Centreon. Utilisez MobaXterm, c’est plus simple :
Une fois le transfère terminé, appliquer les droits nécessaires :
[root@centreon tmp]# chmod 775 LINUX.X64_193000_client.zip
Dézipper l’archive :
[root@centreon tmp]# unzip LINUX.X64_193000_client.zip
Passer sous l’utilisateur ORACLE :
[root@centreon tmp]# su - oracle [oracle@centreon ~]$
Lancer l’installation :
[oracle@centreon ~]# cd /tmp/client/ [oracle@centreon client]$ ll total 20 drwxr-xr-x 4 root root 221 17 avril 10:28 install drwxrwxr-x 2 root root 49 17 avril 12:40 response -rwxr-xr-x 1 root root 8854 17 avril 10:28 runInstaller drwxr-xr-x 15 root root 4096 17 avril 12:41 stage -rwxrwxr-x 1 root root 500 6 févr. 2013 welcome.html [oracle@centreon client]$
[oracle@centreon client]# ./runInstaller Démarrage d'Oracle Universal Installer... Vérification de l'espace temporaire : doit être supérieur à 415 Mo. Réel 22430 Mo Succès Vérification de l'espace de swap : il doit être supérieur à 150 Mo. Réel 3071 Mo Succès Vérification de l'écran : doit être configuré pour afficher au moins 256 couleurs >>> Impossible d'exécuter la vérification automatique des couleurs d'affichage à l'aide de la commande /usr/bin/xdpyinfo. Vérifiez que la variable DISPLAY est définie. Echec <<<< Echec de la vérification de certaines exigences. Vous devez répondre à ces exigences pour pouvoir poursuivre l'installation, Voulez-vous poursuivre ?# (o/n) [n] n
Si vous avez le message :
>>> Impossible d’exécuter la vérification automatique des couleurs d’affichage à l’aide de la commande /usr/bin/xdpyinfo. Vérifiez que la variable DISPLAY est définie. Echec <<<<
Annuler l’installation et déconnectez-vous totalement de votre serveur avec la commande EXIT (si vous êtes directement sur le serveur, redémarrer) puis reconnectez-vous directement avec l’utilisateur ORACLE :
Lancer les commandes suivantes. L’adresse IP est celle de votre propre machine.
[oracle@centreon client]# DISPLAY=192.168.1.30:0.0 [oracle@centreon client]# export DISPLAY [oracle@centreon client]# xhost + 192.168.1.30 192.168.1.30 being added to access control list [oracle@centreon client]#
export DISPLAY permet de lancer une application en mode graphique !
Toujours sous l’utilisateur Oracle, lancer l’installation et patienter un petit moment :
[oracle@centreon client]# ./runInstaller
- Laisser Administrateur et cliquer sur Suivant >
- Personnaliser l’emplacement si vous le souhaiter :
- Cliquer su Suivant >
- Laisser l’emplacement de l’inventaire par défaut ainsi que le groupe :
- Cliquer sur Suivant >
- Après vérification, cliquer sur Installer
- Vers la fin de l’installation, une fenêtre s’affiche. Il faut exécuter le script indiqué sous ROOT sur un nouveau Terminal (SSH).
- Ouvrir une nouvelle connexion SSH
- Exécuter le script directement à la racine :
[root@centreon ~]# /home/oracle/oraInventory/orainstRoot.sh Modification des droits d'accès de /home/oracle/oraInventory. Ajout de droits d'accès en lecture/écriture pour le groupe. Suppression des droits d'accès en lecture/écriture/exécution pour le monde. Modification du nom de groupe de /home/oracle/oraInventory en oinstall. L'exécution du script est terminée. [root@centreon ~]#
- Retourner sur la fenêtre et cliquer sur OK
- C’est terminé
- Cliquer sur Fermer
Passons à la configuration.
Configuration des ENV
Voici les variables d’environnement qu’il faut configurer :
- ORACLE_HOME =
/home/oracle/app/product/19.0.0/client64
- TNS_ADMIN =
/home/oracle/app/product/19.0.0/client64/network/admin
- LD_LIBRARY_PATH =
/home/oracle/app/product/19.0.0/client64/lib
Utilisateur et groupe par défaut :
- User : oracle
- Groupe : oinstall
Ajouter les variables d’environnement Oracle pour les 3 utilisateurs :
Utilisateur ROOT : à la racine du serveur
[root@centreon ~]# nano .bash_profile
Ajoutez-y :
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export LD_LIBRARY_PATH=/home/oracle/app/product/19.0.0/client64/lib:$LD_LIBRARY_PATH export TNS_ADMIN=/home/oracle/app/product/19.0.0/client64/network/admin export ORACLE_HOME=/home/oracle/app/product/19.0.0/client64 export NLS_LANG=FRENCH_FRANCE.WE8MSWIN1252 PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH
Reload :
[root@centreon ~]# source ~/.bash_profile [root@centreon ~]#
Utilisateur ORACLE :
[root@centreon ~]# su - oracle [oracle@centreon ~]# nano .bash_profile
la même chose :
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export LD_LIBRARY_PATH=/home/oracle/app/product/19.0.0/client64/lib:$LD_LIBRARY_PATH export TNS_ADMIN=/home/oracle/app/product/19.0.0/client64/network/admin export ORACLE_HOME=/home/oracle/app/product/19.0.0/client64 export NLS_LANG=FRENCH_FRANCE.WE8MSWIN1252 PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH
Reload :
[oracle@centreon ~]$ source ~/.bash_profile [oracle@centreon ~]$
Utilisateur CENTREON-ENGINE : copier le .bash_profile de l’utilisateur ROOT :
[root@centreon ~]# cp .bash_profile /var/lib/centreon-engine [root@centreon ~]#
Reload :
[root@centreon ~]# su - centreon-engine Dernière connexion : mardi 9 juillet 2019 à 13:48:13 CEST sur pts/1 -bash-4.2$ source ~/.bash_profile -bash-4.2$ exit déconnexion [root@centreon ~]#
TNSNames & SQLnet
Nous allons copier les fichiers tnsnames.ora et sqlnet.ora depuis le serveur Oracle vers le serveur Centreon. Sur votre serveur Oracle, les fichiers se trouvent dans : /u01/app/oracle/product/19.2.0/dbhome_1/network/admin/
Sur votre serveur Centreon, le fichier doit être placé dans le répertoire : TNS_ADMIN=/home/oracle/app/product/19.0.0/client64/network/admin
Utilisez SCP pour copier les fichiers depuis votre serveur Oracle vers votre serveur Centreon : (à lancer depuis votre serveur Centreon) :
[root@centreon ~]# scp root@192.168.1.22:/u01/app/oracle/product/19.2.0/dbhome_1/network/admin/tnsnames.ora root@192.168.1.30:/home/oracle/app/product/19.0.0/client64/network/admin/ [...] Are you sure you want to continue connecting (yes/no)? yes root@192.168.1.22's password: [...] Are you sure you want to continue connecting (yes/no)? yes root@192.168.1.30's password: tnsnames.ora 100% 435 341.0KB/s 00:00 Connection to 192.168.1.22 closed. [root@centreon ~]#
Faire la même chose pour le fichier sqlnet.ora
- 192.168.1.22 = serveur Oracle
- 192.168.1.30 = serveur Centreon
Installation Oracle Module Perl
Installer les modules perl suivants dans l’ordre :
[root@centreon plugins]# cpan -i Test::NoWarnings [root@centreon plugins]# cpan -i CPAN::Meta [root@centreon plugins]# cpan -i DBD::Oracle [root@centreon plugins]# cpan -i DBI
Remarque : si au lancement de la commande CPAN pose des questions, laissez tout par défaut et Entrée.
Test de supervision
Nous allons maintenant tester la supervision en ligne de commande.
Placez-vous dans le répertoire des plugins Centreon et lancer la commande suivante :
Check TNSPing :
[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::oracle::plugin --mode=tnsping --hostname=192.168.1.22 --sid=PIXEL --port=1521 OK: Connection established to listener 'PIXEL'. | [root@centreon plugins]#
Check TableSpace Usage :
[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::oracle::plugin --mode=tablespace-usage --hostname=192.168.1.22 --port=1521 --sid=PIXEL --username=system --password=Oracle19! --warning-tablespace=90 --critical-tablespace=95 --verbose OK: All tablespaces are OK | 'tbs_sysaux_usage_sysaux'=552075264B;0:27536154624;0:29065940992;0;30595727360 'tbs_system_usage_system'=945684480B;0:27536154624;0:29065940992;0;30595727360 'tbs_temp_usage_temp'=0B;0:27536080896;0:29065863168;0;30595645440 'tbs_users_usage_users'=2818048B;0:27536154624;0:29065940992;0;30595727360 Tablespace 'sysaux' Total: 28.49 GB Used: 526.50 MB (1.80%) Free: 27.98 GB (98.20%) Tablespace 'system' Total: 28.49 GB Used: 901.88 MB (3.09%) Free: 27.61 GB (96.91%) Tablespace 'temp' Total: 28.49 GB Used: 0.00 B (0.00%) Free: 28.49 GB (100.00%) Tablespace 'users' Total: 28.49 GB Used: 2.69 MB (0.01%) Free: 28.49 GB (99.99%) [root@centreon plugins]#
La suite est ici : supervision-oracle-database-avec-centreon/
C’est terminé les amis. Fin de mon projet Oracle Database. Amusez-vous bien.
Bonne journée et à bientôt.
Hello,
Could you please help me, the tsping works but when I make the query with the oracle user it doesn’t work, I don’t know where the error can be. Could you help me.
Thanks
Hello,
TNSping its a sample PING, user and password not needed.
For other mods, user and password its required :
Password wrong or user not allowed or user locked.
Try also with user system
Thank you very much I found the error in the sqlnet.ora file.
#NAMES.DIRECTORY_PATH= (TNSNAMES)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
I added EZCONNECT
Thank you for the contribution
Thanks for feedback 🙂
Bonjour,
Avant tout, merci pour cette article.
Par contre je rencontre un soucis c’est que lorsque je fais les tests depuis l’utilisateur centreon-engine j’ai un message d’erreur : » install_driver(Oracle) failed ».
ça fonctionne très bien en tant que root. Visiblement l’utilisateur centreon-engine n’a pas accès au dossier /home/oracle.
Comment puis-je résoudre le problème ?
Merci d’avance
Salut,
Vérifies bien les variables d’environnement (le chemin d’installation Oracle) pour les trois utilisateurs.
Pour l’user Centreon-Engine, le .bash_profile doit se trouver dans
/var/lib/centreon-engine
Tu as bien installé le module Perl : DBD::Oracle ?
Je pense que ce n’est pas nécessaire. Pour en avoir le coeur net, essaies de mettre en place la supervision sous Centreon-web.
Si tout fonctionne en ligne de commande, je pense que ça doit fonctionner depuis l’interface web.
Tu as l’article ici : https://pixelabs.fr/supervision-oracle-database-avec-centreon/
Bonne journée.
-sysadmin
Depuis l’interface web il m’indique le message
"(No output returned from plugin)"
et c’est pourquoi j’ai fait le test en ligne de commande depuis l’utilisateur centreon-engine. En tant qu’utilisateur root je n’ai pas de soucis.Voici le message d’erreur :
As-tu installé les modules perl (oracle) ?
ça doit marcher depuis l’interface web. Le message
No output returned from plugin
indique qu’il ne trouve pas les plugins Centreon.Il faut revoir la configuration de tes plugins (Configuration > Collecteurs > Ressources).