Oracle Enterprise Manager Cloud Control, l’évolution d’ORACLE EM Grid Control tel que nous l’avons déjà présenté et installé est maintenant bien stabilisé dans une version « 12.1.0.2 Plug In Update One » (qui fait partie des téléchargements les plus populaires du site Oracle Technologie Network).
Ses attraits sont nombreux et en dehors de la nécessité de disposer de son propre serveur , voire de plusieurs, si on souhaite un peu de disponibilité et de la performance (ce qui peut se comprendre pour superviser et gérer un parc croissant de bases de données) on peut s’appuyer franchement sur cette architecture pour se simplifier la vie dans ses tâches routinières d’administrateur de SI. Plus je le pratique et plus j’en suis persuadé, c’est pourquoi je continue de faire des posts sur le sujet. Celui-ci reprend plus spécialement les solutions de déploiement des agents.
Les possibilités de déployer un agent (OMA, Oracle Management Agent) dans la version 12c sont nombreuses et outre le fait que les fonctionnalités de détection des serveurs sur le réseau sont maintenant possibles ont peut retenir principalement :
- Méthode PUSH depuis le serveur OMS , à condition d’avoir une configuration SSH vers la machine où réaliser l’opération ;
- Clonage d’un agent existant vers une nouvelle machine (la configuration est faîte automatiquement) ;
- Installation depuis le serveur cible avec une distribution (personnellement celle que je préfère car si le fait de passer sur chaque machine reste un inconvénient, on garde la maitrise totale du processus et la certitude qu’il se déroule correctement de bout en bout tout en ayant la possibilité de limiter au minimum les actions manuelles).
Dans ce dernier cas, une des possibilités des versions précédentes, était de récupérer le script de téléchargement correspondant à la bonne distribution via une commande wget puis d’exécuter ce script. Les différents binaires utilisables étant stockés sous le serveur comme dépôt dans une arborescence de type OMS_HOME/agent_download/<version>/<OS>.
Pour la version 12C , les binaires des agents ne sont plus directement accessibles, le stockage et le déploiement des logiciels étant plus évolués , il faut au préalable extraire la version souhaitée avant de la transférer sur le serveur cible et de l’utiliser. Voici comment :
Récupération de la distribution de l’agent
Le premier point à prendre en compte est l’ utilisation de l’utilitaire du produit nommé “emcli” (outil client en java), disponible d’office sur le serveur où la partie OMS est installée, mais pouvant être présent sur n’importe quelle machine du réseau ayant un accès au serveur OMS en le téléchargeant depuis celui-ci (pour retrouver les nombreuses fonctionnalités et leurs détails, allez voir la documentation associée).
La méthode est d’abord de se connecter, de synchroniser les informations, puis de passer les commandes (attention on ne passe pas sous un prompt spécifique) :
a) Connexion
[ServeurOMS:bin]$ ./emcli login -username=sysman Enter password Login successful
b) Synchronisation des informations en provenance de l’application OMS
[ServeurOMS:bin]$ ./emcli sync Synchronisation réussie
c) Obtention de la liste des distributions disponibles
[ServeurOMS:bin]$ ./emcli get_supported_platforms Getting list of platforms ... Check the logs at /u01/oracle/em/gc_inst/em/EMGC_OMS1/sysman/emcli/setup/.emcli/agent.log About to access self-update code path to retrieve the platforms list.. Getting Platforms list ... ----------------------------------------------- Version = 12.1.0.2.0 Platform = Linux x86-64 ----------------------------------------------- Platforms list displayed successfully.
d) Extraction de la version associée à la plateforme dans le répertoire choisi
[ServeurOMS:bin]$ ./emcli get_agentimage -destination=/tmp -platform="Linux x86-64" -version=12.1.0.2.0 Platform:Linux x86-64 Destination:/tmp === Partition Detail === Space free : 1 GB Space required : 1 GB Check the logs at /u01/oracle/em/gc_inst/em/EMGC_OMS1/sysman/emcli/setup/.emcli/get_agentimage_2012-09-15_08-57-32-AM.log Setting property ORACLE_HOME to:/u01/oracle/em/oms calling pulloneoffs with arguments:/u01/oracle/em/oms/u01/oracle/em/oms/sysman/agent/12.1.0.2.0_AgentCore_226.zip12.1.0.2.0linux_x64 Check this logs for more information: /u01/oracle/em/oms/sysman/prov/agentpush/logs
Transfert et installation
Une fois le fichier zip sous le répertoire , il faut le transférer sur le serveur où l’installation de l’agent va se faire, décompresser la distribution et lancer l’installation en passant en paramètre les informations sur le nom, le port et le mot de passe du serveur oms et le répertoire où sera installé l’agent.
a) Décompression des fichiers pour l’installation
[ServeurCible:Distrib]$ mkdir agent12c [ServeurCible:Distrib]$ cd agent12c [ServeurCible:Distrib]$ unzip ../12.1.0.2.0_AgentCore_226.zip Archive: ../12.1.0.2.0_AgentCore_226.zip inflating: unzip inflating: agentDeploy.sh inflating: agentimage.properties inflating: agent.rsp extracting: agentcoreimage.zip extracting: 12.1.0.2.0_PluginsOneoffs_226.zip
b) Déploiement de l’agent
Exécution du script agentDeploy.sh qui réalise l’ensemble des opérations
[ServeurCible:Distrib]$ ./agentDeploy.sh AGENT_BASE_DIR=/u01/oracle/agent OMS_HOST=OEL63B.ele.com EM_UPLOAD_PORT=4904 AGENT_REGISTRATION_PASSWORD=xxxxxx Validating the OMS_HOST & EM_UPLOAD_PORT Executing command : /u01/oracle/agent/core/12.1.0.2.0/jdk/bin/java -classpath /u01/oracle/agent/core/12.1.0.2.0/jlib/agentInstaller.jar:/u01/oracle/agent/core/12.1.0.2.0/oui/jlib/OraInstaller.jar oracle.sysman.agent.installer.AgentInstaller /u01/oracle/agent/core/12.1.0.2.0 /media/sf_D_DRIVE/Distrib/agent12c /u01/oracle/agent -prereq Validation de l'hôte et du port OMS avec l'URL : http://OEL63B.ele.com:4904/empbs/genwallet Validation de l'hôte et du port OMS avec l'URL : https://OEL63B.ele.com:4904/empbs/genwallet Return status:3 Unzipping the agentcoreimage.zip to /u01/oracle/agent .... 12.1.0.2.0_PluginsOneoffs_226.zip Executing command : /media/sf_D_DRIVE/Distrib/agent12c/unzip -o /media/sf_D_DRIVE/Distrib/agent12c/12.1.0.2.0_PluginsOneoffs_226.zip -d /u01/oracle/agent Executing command : /u01/oracle/agent/core/12.1.0.2.0/jdk/bin/java -classpath /u01/oracle/agent/core/12.1.0.2.0/oui/jlib/OraInstaller.jar:/u01/oracle/agent/core/12.1.0.2.0/oui/jlib/xmlparserv2.jar:/u01/oracle/agent/core/12.1.0.2.0/oui/jlib/srvm.jar:/u01/oracle/agent/core/12.1.0.2.0/oui/jlib/emCfg.jar:/u01/oracle/agent/core/12.1.0.2.0/jlib/agentInstaller.jar:/u01/oracle/agent/core/12.1.0.2.0/oui/jlib/share.jar oracle.sysman.agent.installer.AgentInstaller /u01/oracle/agent/core/12.1.0.2.0 /media/sf_D_DRIVE/Distrib/agent12c /u01/oracle/agent /u01/oracle/agent/agent_inst AGENT_BASE_DIR=/u01/oracle/agent AGENT_BASE_DIR=/u01/oracle/agent OMS_HOST=OEL63B.ele.com EM_UPLOAD_PORT=4904 AGENT_REGISTRATION_PASSWORD=easyteam1 Exécution des prérequis pour l'installation de l'agent... Exécution de la commande : /u01/oracle/agent/core/12.1.0.2.0/oui/bin/runInstaller -ignoreSysPrereqs -prereqchecker -silent -ignoreSysPrereqs -waitForCompletion -prereqlogloc /u01/oracle/agent/core/12.1.0.2.0/cfgtoollogs/agentDeploy -entryPoint oracle.sysman.top.agent_Complete -detailedExitCodes PREREQ_CONFIG_LOCATION=/u01/oracle/agent/core/12.1.0.2.0/prereqs -J-DAGENT_BASE_DIR=/u01/oracle/agent Prereq Logs Location:/u01/oracle/agent/core/12.1.0.2.0/cfgtoollogs/agentDeploy/prereq<timestamp>.log Les prérequis pour l'installation de l'agent ont été appliqués Clonage du répertoire d'origine Oracle Home de l'agent... Exécution de la commande : /u01/oracle/agent/core/12.1.0.2.0/oui/bin/runInstaller -ignoreSysPrereqs -clone -forceClone -silent -waitForCompletion -nowait ORACLE_HOME=/u01/oracle/agent/core/12.1.0.2.0 AGENT_BASE_DIR=/u01/oracle/agent AGENT_BASE_DIR=/u01/oracle/agent OMS_HOST=OEL63B.ele.com EM_UPLOAD_PORT=4904 AGENT_REGISTRATION_PASSWORD=easyteam1 -noconfig ORACLE_HOME_NAME=agent12c1 -force b_noUpgrade=true AGENT_PORT=-1 Clone Action Logs Location:/u01/oraInventory/logs/cloneActions<timestamp>.log Attachement du répertoire d'origine Oracle Home sbin... Exécution de la commande : /u01/oracle/agent/core/12.1.0.2.0/oui/bin/runInstaller -ignoreSysPrereqs -attachHome -waitForCompletion -nowait ORACLE_HOME=/u01/oracle/agent/sbin ORACLE_HOME_NAME=sbin12c1 -force Attach Home Logs Location:/u01/oracle/agent/core/12.1.0.2.0/cfgtoollogs/agentDeploy/AttachHome<timestamp>.log Répertoire d'origine Oracle Home attaché au répertoire d'origine Oracle Home sbin. Updating home dependencies... Exécution de la commande : /u01/oracle/agent/core/12.1.0.2.0/oui/bin/runInstaller -ignoreSysPrereqs -updateHomeDeps -waitForCompletion HOME_DEPENDENCY_LIST={/u01/oracle/agent/sbin:/u01/oracle/agent/core/12.1.0.2.0,} -invPtrLoc /u01/oracle/agent/core/12.1.0.2.0/oraInst.loc -force Update Home Dependencies Location:/u01/oracle/agent/core/12.1.0.2.0/cfgtoollogs/agentDeploy/UpdateHomeDeps<timestamp>.log Dépendance du répertoire d'origine Oracle Home mise à jour. Configuration de l'agent en cours... Exécution de la commande : /u01/oracle/agent/core/12.1.0.2.0/oui/bin/runConfig.sh ORACLE_HOME=/u01/oracle/agent/core/12.1.0.2.0 RESPONSE_FILE=/u01/oracle/agent/core/12.1.0.2.0/agent.rsp ACTION=configure MODE=perform COMPONENT_XML={oracle.sysman.top.agent.11_1_0_1_0.xml} RERUN=true Configuration Log Location:/u01/oracle/agent/core/12.1.0.2.0/cfgtoollogs/cfgfw/CfmLogger<timestamp>.log Agent Configuration completed successfully Les scripts de configuration suivants doivent être exécutés en tant qu'utilisateur "root". #!/bin/sh #Script root à exécuter /u01/oracle/agent/core/12.1.0.2.0/root.sh Pour exécuter les scripts de configuration, procédez comme suit : 1. Ouvrez une fenêtre de terminal 2. Connectez-vous en tant que "root" 3. Exécutez les scripts Agent déployé. Agent deployment log location: /u01/oracle/agent/core/12.1.0.2.0/cfgtoollogs/agentDeploy/agentDeploy_2012-09-16_08-34-51-AM.log Agent deployment completed successfully.
Finalisation et vérification
Il reste l’exécution du script root.sh (pour le positionnement des droits)
[ServeurCible:Distrib]# /u01/oracle/agent/core/12.1.0.2.0/root.sh Finished product-specific root actions. /etc exist Creating /etc/oragchomelist file... Finished product-specific root actions
Et la vérification du bon fonctionnement (notez le changement dans l’arborescence du produit avec la présence du sous répertoire “core” qui représente le tronc principal de l’application)
[ServeurCible:Distrib]$ cd core/12.1.0.2.0/bin/ [ServeurCible:Distrib]$ ./emctl status agent Oracle Enterprise Manager Cloud Control 12c Release 2 Copyright (c) 1996, 2012 Oracle Corporation. All rights reserved. --------------------------------------------------------------- Agent Version : 12.1.0.2.0 OMS Version : 12.1.0.2.0 Protocol Version : 12.1.0.1.0 Agent Home : /u01/oracle/agent/agent_inst Agent Binaries : /u01/oracle/agent/core/12.1.0.2.0 Agent Process ID : 27353 Parent Process ID : 27311 Agent URL : https://ServeurCible:3872/emd/main/ Repository URL : https://ServeurOMS:4904/empbs/upload Started at : 2012-09-16 08:42:19 Started by user : oracle Last Reload : (none) Last successful upload : 2012-09-16 09:24:24 Last attempted upload : 2012-09-16 09:24:24 Total Megabytes of XML files uploaded so far : 0,25 Number of XML files pending upload : 0 Size of XML files pending upload(MB) : 0 Available disk space on upload filesystem : 32,18 % Collection Status : Collections enabled Heartbeat Status : Ok Last attempted heartbeat to OMS : 2012-09-16 09:25:34 Last successful heartbeat to OMS : 2012-09-16 09:25:34 Next scheduled heartbeat to OMS : 2012-09-16 09:26:34 --------------------------------------------------------------- Agent is Running and Ready
L’agent est opérationnel, il faut ensuite découvrir les cibles associées depuis l’interface EM Cloud Control.
Utilisation d’un package RPM
Un atout supplémentaire pour les systèmes sous linux est la possibilité de créer un package de type rpm et de le déployer ainsi (avec un répertoire dépôt, l’installation ne peut être plus simple). Dans ce cas il faut suivre les étapes ci dessous:
Création du RPM
En pré requis pour pouvoir créer le rpm, il faut que le répertoire /usr/lib/oracle existe et qu’il soit bien accessible:
[ServeurCible:Distrib]# mkdir /usr/lib/oracle [ServeurCible:Distrib]# chmod 777 /usr/lib/oracle
Il faut aussi disposer d’au moins 1Go de libre sous le système de fichier cible et de 1,7Go sous /usr/lib/oracle
Ensuite, s’il n’est pas déjà présent, il faut que le package rpm-build soit présent sur votre serveur :
S’il y est, il est visible :
[ServeurOMS]# yum info rpm-build Loaded plugins: refresh-packagekit, security ol6_UEK_latest | 1.2 kB 00:00 ol6_UEK_latest/primary | 7.7 MB 00:14 ol6_UEK_latest 176/176 ol6_ga_base | 1.1 kB 00:00 ol6_latest | 1.4 kB 00:00 ol6_latest/primary | 29 MB 00:56 ol6_latest 21431/21431 ol6_u3_base | 1.4 kB 00:00 Installed Packages Name : rpm-build Arch : x86_64 Version : 4.8.0 Release : 27.el6 Size : 314 k Repo : installed From repo : anaconda-OracleLinuxServer-201206261930.x86_64 Summary : Scripts and executable programs used to build packages URL : http://www.rpm.org/ License : GPLv2+ Description : The rpm-build package contains the scripts and executable programs : that are used to build packages using the RPM Package Manager. Available Packages Name : rpm-build Arch : x86_64 Version : 4.8.0 Release : 32.el6 Size : 126 k Repo : ol6_latest Summary : Scripts and executable programs used to build packages URL : http://www.rpm.org/ License : GPLv2+ Description : The rpm-build package contains the scripts and executable programs : that are used to build packages using the RPM Package Manager.
S’il n’y est pas, on l’installe :
[ServeurOMS]# yum isntall rpm-build
Connexion à l’OMS
[ServeurOMS:bin]$ ./emcli login -username=sysman Enter password Login successful
On vérifie la aussi quelles sont les distributions présentes sur le serveur:
[ServeurOMS:bin]$ ./emcli get_supported_platforms Getting list of platforms ... Check the logs at /u01/app/oracle/product/12.1.0.2/middleware/gc_inst/em/EMGC_OMS1/sysman/emcli/setup/.emcli/agent.log About to access self-update code path to retrieve the platforms list.. Getting Platforms list ... ----------------------------------------------- Version = 12.1.0.1.0 Platform = Linux x86-64 ----------------------------------------------- Version = 12.1.0.2.0 Platform = Linux x86-64 ----------------------------------------------- Version = 12.1.0.1.0 Platform = Microsoft Windows x64 (64-bit) ----------------------------------------------- Version = 12.1.0.2.0 Platform = Linux x86 ----------------------------------------------- Platforms list displayed successfully.
Après un peu d’existence, les versions et les plateformes peuvent s’accumuler, nous prendrons la version linux 64bits la plus récente et création du rpm dans le répertoire voulu (ici /tmp) :
[OMS12C ~]$ emcli get_agentimage_rpm -destination=/tmp -platform="Linux x86-64" -version=12.1.0.2.0 Platform:Linux x86-64 Destination:/tmp Exalogic:false Checking for disk space requirements... === Partition Detail === Space free : 3 GB Space required : 1 GB Copying agent image from software library to /tmp Setting property ORACLE_HOME to:/u01/app/oracle/product/12.1.0.2/middleware/oms calling pulloneoffs with arguments:/u01/app/oracle/product/12.1.0.2/middleware/oms/u01/app/oracle/product/12.1.0.2/middleware/oms/sysman/agent/12.1.0.2.0_AgentCore_226.zip12.1.0.2.0Linux x86-64/tmptrue Agent Image copied successfully... Creation of RPM started... RPM creation successful. Agent image to rpm conversion completed successfully
Au final /tmp contient le fichier oracle-agt-12.1.0.2.0-1.0.x86_64.rpm d’une taille de 220Mo
Transfert et installation sur le serveur cible
Il faut ensuite transférer le rpm sur le serveur cible, par exemple sous /home/oracle/depot
– Se connecter root sur le serveur cible et faire l’installation
[ServeurCible] # cd /home/oracle/depot [ServeurCible] #rpm –i oracle-agt-12.1.0.2.0-1.0x86_64.rpm Running the prereq Agent RPM installation is completed successfully. Now to configure the agent follow the below steps: 1. Edit the properties file: /usr/lib/oracle/agent/agent.properties with the correct values 2. Execute the script /etc/init.d/oracle-agt RESPONSE_FILE=/usr/lib/oracle/agent/agent.properties
– Une fois que c’est fait suivre les étapes 1. et 2. :
1) Editer le fichier agent.properties sous /usr/lib/oracle/agent (c’est le répertoire HOME de l’agent) et positionner les variables en fonction de votre environnement (décommenter et positionner chaque variable).
OMS_HOST=ServeurOMS OMS_PORT=7799 AGENT_REGISTRATION_PASSWORD=<mot de passe de l’agent> AGENT_USERNAME=oracle AGENT_GROUP=dba AGENT_PORT=3872 ORACLE_HOSTNAME=ServeurCible.domain.com
2) Terminer par la configuration de l’agent à l’aide du script oracle-agt sous /etc/init.d
[ServeurCible] # /etc/init.d/oracle-agt RESPONSE_FILE=/usr/lib/oracle/agent/agent.properties
Il ne reste plus qu’à vérifier que l’agent fonctionne correctement et que le dialogue se déroule bien avec l’OMS (connexion avec le compte oracle)
[ServeurCible] $ /usr/lib/oracle/agent/core/12.1.0.2.0/bin/emctl status agent
Et de réaliser la découverte des cibles depuis l’interface EM Cloud Control.
Voilà, tout cela fait partie d’une des nombreuses possibilités et subtilités de l’infrastructure Enterprise Manager Cloud Control 12C, nous vous en ferons découvrir d’autres régulièrement, n’hésitez à nous faire des demandes plus précises dans vos commentaires.
1 réflexion sur “Enterprise Manager 12C : Déploiement des Agents, mode "Pull"”
Pour en savoir plus sur Oracle Enterprise Manager 12C, vous pouvez suivre le cours Oracle Enterprise Manager Cloud Control 12c: Install & Upgrade dont le descriptif est accessible sur ce lien : https://easyteam.fr/formation-oracle/Catalogue/oracle-enterprise-manager-cloud-control-12c-install-upgrade-D73067
Les commentaires sont fermés.