Les données issues des applications (sécurité, licences...) sont répliquées et stockées dans un entrepôt de données. Actuellement, une base Oracle est un pré-requis pour la base servant d'entrepôt de données. Il est possible d'utiliser une base "Always Free Oracle Autonomous Database" dans le cas où une licence supplémentaire est nécessaire.
I. Pré-requis (ORACLE)
Il est nécessaire de créer un schéma et un utilisateur pour l'application.
La taille du schéma dépend de la volumétrie des données sources à charger et de la durée de rétention des données dans l'application. Une taille de 10Go initiale est toutefois recommandée.
L'utilisateur doit être défini avec un quota illimité sur le schéma. Il doit avoir les droits de création de tables, d'index, de collecter les statistiques et également la possibilité d'exécuter la bibliothèque DBMS_CRYPTO.
Un exemple de script est disponible sur cette page.
II. Installation des composants
II.a Répertoire d'installation
Créer un répertoire pour l'installation de l'ensemble des composants :
- Les logiciels pré-requis ci-dessous
- L'application NOMASX-1
Ce répertoire sera appelé <NOMASX1_HOME> dans la suite de ce guide.
Exemple de répertoire pour Windows :
c:\nomasx1
Exemple de répertoire pour Linux :
/app/nomasx1
Dé préférence pour Linux un utilisateur spécifique pour l'application est à créer.
II.b Node JS
NOMASX-1 étant entièrement développé avec Node JS, c'est un composant indispensable dans l'installation. Celui-ci peut être installé avec les options par défaut, l'ensemble des modules nécessaires pour la suite étant inclus dans l'archive fournie.
La version LTS est la version recommandée qui peut se télécharger à l'adresse suivante : https://nodejs.org/en/download/
Choisir la version en fonction de l'architecture sur laquelle déployer NOMASX-1.
II.c InstantClient pour Oracle
Les connexions à la base de données sont réalisées en utilisant un client JDBC pour Oracle. InstantClient est le client recommandé pour établir les connexions. L'outil est disponible à l'adresse suivante :
https://www.oracle.com/database/technologies/instant-client/downloads.html
Choisir la version en fonction de l'architecture sur laquelle déployer NOMASX-1 et télécharger le "Basic Package".
Une fois le fichier téléchargé, décompresser l'archive dans le répertoire <NOMASX1_HOME>/instantclient
Créer le répertoire <NOMASX1_HOME>/instantclient/network/admin et copier le tnsnames.ora de connexion à votre base de données.
II.d JDK 1.8
Certaines fonctionnalités étant basées sur du Java, il est indispensable d'installer un JDK sur le serveur contenant l'application NOMASX-1.
La version recommandée étant JDK 1.8_202 ou ultérieure, téléchargeable à l'adresse suivante :
https://www.oracle.com/java/technologies/javase-jdk8-downloads.html
II.e Autres (Windows seulement)
Deux autres utilitaires sont nécessaires pour le fonctionnement :
- NSSM (outil utilisé pour la création des services) : https://nssm.cc/ci/nssm-2.24-101-g897c7ad.zip
- Visual Studio 2017 Redistribuable pour une version InstantClient 19c ou plus
- Visual Studio 2013 Redistribuable pour une version InstantClient inférieure à 19c
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
II.f Installation NOMASX-1
Décompresser l'archive fournie nomasx1_<version>.zip dans le répertoire <NOMASX1_HOME>. L'arborescence obtenue devrait être comme suit :
---- <NOMASX1_HOME>
----- nodejs
----- instantclient
----- java
----- nomasx1w-agent
----- nomasx1w-backend
----- nomasx1w-frontend
----- agent.properties
----- nomasx1.ini
L'ensemble des pré-requis pour l'installation est terminée. Vous pouvez passer à l'étape de configuration.
III. Paramétrage
III.a Fichier de configuration
III.a.i nomasx1.ini
Le fichier de configuration sera à modifier deux fois. A cette étape pour pouvoir démarrer l'ensemble des utilitaires permettant de réaliser le setup complet puis à l'issue pour sauvegarder le mot de passe crypté.
Un exemple de fichier est disponible sur cette page.
III.a.ii agent.properties
Le fichier de configuration est utilisé par les scripts Talend permettant d'alimenter les données de l'application. Un exemple de fichier est disponible sur cette page. Le mot de passe sera à renseigner à la dernière étape après l'encryptage de ce dernier.
III.b Rundeck et Tomcat
Rundeck est un produit open source utilisé pour l'ordonnancement des travaux. Il permet également de réaliser la configuration initiale de l'application NOMASX1, à savoir :
- Encryptage des mots de passes
- Installation des services (Windows et Linux)
III.b.i Configuration Tomcat
Par défaut le port d'écoute TOMCAT a été paramétré sur le port 3001. Il est possible de le modifier en suivant la procédure ci-dessous :
Ouvrir le fichier de configuration suivant
<NOMASX1_HOME>/nomasx1w-agent/rundeck/tomcat/conf/server.xml
Modifier les lignes suivantes avec les ports souhaités
<Connector port="3001" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
III.b.ii Configuration Rundeck
Pour réaliser la configuration de Rundeck, un premier démarrage est nécessaire afin de déployer l'application dans un container Tomcat.
Se positionner dans le répertoire <NOMASX1_HOME>
Exécuter la commande
node nomasx1w-agent/nomasx1-agent.js
Vérifier le démarrage en consultant le fichier tomcat.log se trouvant dans le répertoire <NOMASX1_HOME/nomasx1w-agent/tomcat.log. La ligne suivant indique le démarrage de l'application :
[2020-02-27 08:56:52.109] INFO BootStrap --- [ost-startStop-1] Rundeck startup finished in 611ms
Arrêter l'exécution de l'agent via CTRL-C afin de configurer correctement l'application Rundeck (nom du serveur, port d'écoute).
Deux fichiers sont à modifier :
- <NOMASX1_HOME>/nomasx1w-agent/rundeck/base/etc/framework.properties
Modifier les lignes suivantes avec le nom du serveur et le port d'écoute :
framework.server.name = localhost
framework.server.hostname = localhost
framework.server.port = 3001
framework.server.url = http://localhost:3001/rundeck
- <NOMASX1_HOME>/nomasx1w-agent/rundeck/base/server/config/rundeck-config.properties
grails.serverURL=http://localhost:3001/rundeck
server.contextPath=/rundeck
Relancer l'agent afin de finaliser l'installation et la configuration
node nomasx1w-agent/nomasx1-agent.js
III.c Finalisation de l'installation
Ouvrir un navigateur internet et se rendre à l'URL suivante (remplacer localhost par le nom de votre serveur défini à l'étape précédente)
http://localhost:3001/rundeck/
L'utilisateur et le mot de passe par défaut sont admin / admin. Le mot de passe pourra être modifié par la suite.
Créer un nouveau projet
Importer les templates de script. Le fichier de template est disponible sur cette page. Sélectionner le fichier puis cliquer sur "Import" en bas de page.
Une fois l'import terminé, les jobs suivants seront disponibles dans l'interface d'administration Rundeck
III.c.i Encryption du mot de passe pour l'agent
En fonction du type plateforme, exécuter le script approprié : 01_ENCRYPT_PASSWORD_AGENT
Cliquer sur la flèche, renseigner le mot de passe de l'utilisateur de la base de données et cliquer sur "Run Job Now".
A la fin de l'exécution, copier-coller le mot de passe affiché à l'écran comme ci-dessous et le renseigner dans le fichier de configuration <NOMASX1_HOME>/agent.properties
III.c.ii Encryption du mot de passe pour le backend
En fonction du type plateforme, exécuter le script approprié : 02_ENCRYPT_PASSWORD_BACKEND
Cliquer sur la flèche, renseigner le mot de passe de l'utilisateur de la base de données et cliquer sur "Run Job Now".
A la fin de l'exécution, copier-coller le mot de passe affiché à l'écran comme ci-dessous et le renseigner dans le fichier de configuration <NOMASX1_HOME>/nomasx1.ini
III.c.iii Création des services
En fonction du type plateforme, exécuter le script approprié : 03_CREATE_SERVICES.
Pour linux, vous devez spécifiez l'utilisateur qui exécutera les services.
III.c.iv Modification du script 00_J_AGENT (Windows uniquement)
Pour des raisons liées aux variables d'environnement sous Windows, le script doit être modifié afin de remplacer chacune des variables nommés $VARIABLE par %VARIABLE%
Cliquer sur le script, dans "Action" cliquer sur "Edit this Job"
Aller dans l'onglet "Workflow" puis cliquer sur la commande. Modifier chaque variable d'environnement et sauvegarder
L'installation est terminée. Vous pourrez arrêter l'agent et redémarrer en utilisant les services.