ONYX - MMC - ONYX Mapping Management Console

Différence entre versions

De MappingDoc
(Création d'une instance MAPPING)
(Cette version a été marquée pour être traduite)
Ligne 15 : Ligne 15 :
 
*Installer NodeJS (v14 minimum) (Node.js ) sur la ou les machines hébergeants les instances MAPPING à monitorer
 
*Installer NodeJS (v14 minimum) (Node.js ) sur la ou les machines hébergeants les instances MAPPING à monitorer
  
==NodeJS==  
+
==NodeJS== <!--T:31-->
 
NodeJS est un prérequis pour l'installation des APIs du spooler. Nous fournissons un exemple fonctionnant sur CENTOS.</br></br>
 
NodeJS est un prérequis pour l'installation des APIs du spooler. Nous fournissons un exemple fonctionnant sur CENTOS.</br></br>
 
Si vous êtes sur une autre distribution, merci de vous référez au guide d'installation de celle-ci
 
Si vous êtes sur une autre distribution, merci de vous référez au guide d'installation de celle-ci
  
===Exemple d'installataion sur centos===
+
===Exemple d'installataion sur centos=== <!--T:32-->
 
  curl -sL https://rpm.nodesource.com/setup_14.x | bash - &&  yum -y install nodejs
 
  curl -sL https://rpm.nodesource.com/setup_14.x | bash - &&  yum -y install nodejs
  
Ligne 26 : Ligne 26 :
 
Dans le cas où plusieurs serveurs (instances) MAPPING sont installés sur la même machine, alors il faudra bien installer les APIs Spooler <u>une seule fois</u> sur la machine et les démarrer sur chacunes des instances en exécutant un mappingenv au préalable pour sélectionner l'instance sur laquelle démarrer les APIs Spooler (voir le chapitre démarrage)</br>
 
Dans le cas où plusieurs serveurs (instances) MAPPING sont installés sur la même machine, alors il faudra bien installer les APIs Spooler <u>une seule fois</u> sur la machine et les démarrer sur chacunes des instances en exécutant un mappingenv au préalable pour sélectionner l'instance sur laquelle démarrer les APIs Spooler (voir le chapitre démarrage)</br>
  
===Installation sur une VM===
+
===Installation sur une VM=== <!--T:33-->
  
====Command de mapping-spooler-api====
+
====Command de mapping-spooler-api==== <!--T:34-->
 
Comme mentionné précédent, les APIs du spooler doivent être installée une fois par machine hostant le ou les environnements MAPPING à monitorer.
 
Comme mentionné précédent, les APIs du spooler doivent être installée une fois par machine hostant le ou les environnements MAPPING à monitorer.
  
 +
<!--T:35-->
 
La commande s’installe avec npm (gestionnaire de paquet, installé avec NodeJS).
 
La commande s’installe avec npm (gestionnaire de paquet, installé avec NodeJS).
  
 +
<!--T:36-->
 
Le registre npm utilisé est privé, et nécessite donc une authentification.
 
Le registre npm utilisé est privé, et nécessite donc une authentification.
  
Ligne 41 : Ligne 43 :
  
  
 +
<!--T:37-->
 
username : partnermappingsuite</br>
 
username : partnermappingsuite</br>
 
password : (voir sur LastPass : [M-S] IT> NPM Registry for Partner )</br>
 
password : (voir sur LastPass : [M-S] IT> NPM Registry for Partner )</br>
 
email : partner_mappingsuite@mappingsuite.com</br>
 
email : partner_mappingsuite@mappingsuite.com</br>
  
=====Installation=====  
+
=====Installation===== <!--T:38-->
  
  npm install -g mapping-spooler-api --registry http://npm-registry.mappingsuite.com:4873
+
  <!--T:39-->
 +
npm install -g mapping-spooler-api --registry http://npm-registry.mappingsuite.com:4873
  
  
  
===Installation Avec Docker===
+
===Installation Avec Docker=== <!--T:40-->
  
 +
<!--T:41-->
 
L’API Spooler doit absolument être installé sur le même hôte que le serveur Mapping Onyx.
 
L’API Spooler doit absolument être installé sur le même hôte que le serveur Mapping Onyx.
  
Ligne 106 : Ligne 111 :
  
  
===Configuration===
+
===Configuration=== <!--T:42-->
  
 
<!--T:13-->
 
<!--T:13-->
Ligne 147 : Ligne 152 :
  
  
==Mapping Management Console==
+
==Mapping Management Console== <!--T:43-->
 
===Installation===
 
===Installation===
 
L’installation de l’interface MMC ne peut se faire qu’avec Docker.</br>
 
L’installation de l’interface MMC ne peut se faire qu’avec Docker.</br>
  
 +
<!--T:44-->
 
'''Image : mappingsuite/management-console-full'''
 
'''Image : mappingsuite/management-console-full'''
  
 +
<!--T:45-->
 
username : partnermappingsuite</br>
 
username : partnermappingsuite</br>
 
password : (voir sur LastPass : [M-S] IT> DockerHub partner )</br>
 
password : (voir sur LastPass : [M-S] IT> DockerHub partner )</br>
  
 +
<!--T:46-->
 
Exécution sans aucune sauvegarde, avec le user admin par défaut (mapadmin/mapadmin), interface disponible sur le port 8003 :  
 
Exécution sans aucune sauvegarde, avec le user admin par défaut (mapadmin/mapadmin), interface disponible sur le port 8003 :  
 
  docker run -p 8003:80 mappingsuite/management-console-full
 
  docker run -p 8003:80 mappingsuite/management-console-full
  
 +
<!--T:47-->
 
Il est possible de définir le nom et le mot de passe du compte admin par défaut, via les variables d’environnement '''ADMIN_USERNAME''' et '''ADMIN_PASSWORD''', exemple :  
 
Il est possible de définir le nom et le mot de passe du compte admin par défaut, via les variables d’environnement '''ADMIN_USERNAME''' et '''ADMIN_PASSWORD''', exemple :  
  
  docker run -p 8003:80 -e ADMIN_USERNAME=MyAdmin -e ADMIN_PASSWOR=MyPassword  mappingsuite/management-console-full
+
  <!--T:48-->
 +
docker run -p 8003:80 -e ADMIN_USERNAME=MyAdmin -e ADMIN_PASSWOR=MyPassword  mappingsuite/management-console-full
  
  
 +
<!--T:49-->
 
Pour sauvegarder les données (users et instances mapping créés) il faut utiliser un volume sur le répertoire '''mapping/data'''
 
Pour sauvegarder les données (users et instances mapping créés) il faut utiliser un volume sur le répertoire '''mapping/data'''
  
  docker run -p 8003:80 -v /my/data/:/mapping/data mappingsuite/management-console-full
+
  <!--T:50-->
 +
docker run -p 8003:80 -v /my/data/:/mapping/data mappingsuite/management-console-full
  
 +
<!--T:51-->
 
<u>Note</u> : L’image docker utilise un user mapping, utiliser un chemin local comme volume risque de poser des problèmes de droits d’accès, il est préférable  d’utiliser un volume docker.</br>
 
<u>Note</u> : L’image docker utilise un user mapping, utiliser un chemin local comme volume risque de poser des problèmes de droits d’accès, il est préférable  d’utiliser un volume docker.</br>
  
 +
<!--T:52-->
 
Les logs peuvent aussi être sauvegardées avec un volume sur le dossier '''/mapping/logs'''.
 
Les logs peuvent aussi être sauvegardées avec un volume sur le dossier '''/mapping/logs'''.
  
  docker run -p 8003:80 -v /my/logs/:/mapping/logs mappingsuite/management-console-full
+
  <!--T:53-->
 +
docker run -p 8003:80 -v /my/logs/:/mapping/logs mappingsuite/management-console-full
  
 +
<!--T:54-->
 
Exemple de docker-compose .yml :  
 
Exemple de docker-compose .yml :  
  
  version: '3.2'
+
  <!--T:55-->
 +
version: '3.2'
  
  services:
+
  <!--T:56-->
 +
services:
 
   mmc:
 
   mmc:
 
   image: mappingsuite/management-console-full
 
   image: mappingsuite/management-console-full
Ligne 192 : Ligne 210 :
 
   mapping-data:
 
   mapping-data:
  
===Utilisation===
+
===Utilisation=== <!--T:57-->
  
====Création d'une instance MAPPING====
+
====Création d'une instance MAPPING==== <!--T:58-->
 
Une instance est un regroupement d'environnement MAPPING (ou service).
 
Une instance est un regroupement d'environnement MAPPING (ou service).
  
 +
<!--T:59-->
 
Menu '''Instances / +Add'''
 
Menu '''Instances / +Add'''
  
 +
<!--T:60-->
 
A l'intérieur il faut créer des services correspondant aux serveurs MAPPING à monitorer
 
A l'intérieur il faut créer des services correspondant aux serveurs MAPPING à monitorer
  
 +
<!--T:61-->
 
[[Fichier:MMC_1.jpg|600px|thumb|center|Screen of an instance creation]]
 
[[Fichier:MMC_1.jpg|600px|thumb|center|Screen of an instance creation]]
 
</translate>
 
</translate>

Version du 5 novembre 2021 à 10:35

Autres langues :
English • ‎français

Introduction

La console centralisée de MAPPING (Mapping Management Console : MMC) donne la possibilité de monitorer plusieurs serveurs MAPPING à la fois. Pour ce faire, il faut :

  • Installer NodeJS (v14 minimum) sur le et les machines hébergeant les serveurs MAPPING à monitorer (en prérequis pour les APIs Spooler)
  • Installer les APIs Spooler sur la machine hébergeant un ou plusieurs environnements MAPPING (un API spooler par machine) et les démarrer sur chacunes des instances
  • Installer la console centralisée

Prérequis

  • Un (ou plusieurs) serveur Mapping Onyx installé(s) et configuré(s) (APIs spooler disponibles et configuration faite)
  • Installer NodeJS (v14 minimum) (Node.js ) sur la ou les machines hébergeants les instances MAPPING à monitorer

NodeJS

NodeJS est un prérequis pour l'installation des APIs du spooler. Nous fournissons un exemple fonctionnant sur CENTOS.

Si vous êtes sur une autre distribution, merci de vous référez au guide d'installation de celle-ci

Exemple d'installataion sur centos

curl -sL https://rpm.nodesource.com/setup_14.x | bash - &&  yum -y install nodejs

APIs Spooler

Les APIs spooler s'installent sur chacune des machine MAPPING (et non instance) dont la MMC doit avoir accès.
Dans le cas où plusieurs serveurs (instances) MAPPING sont installés sur la même machine, alors il faudra bien installer les APIs Spooler une seule fois sur la machine et les démarrer sur chacunes des instances en exécutant un mappingenv au préalable pour sélectionner l'instance sur laquelle démarrer les APIs Spooler (voir le chapitre démarrage)

Installation sur une VM

Command de mapping-spooler-api

Comme mentionné précédent, les APIs du spooler doivent être installée une fois par machine hostant le ou les environnements MAPPING à monitorer.

La commande s’installe avec npm (gestionnaire de paquet, installé avec NodeJS).

Le registre npm utilisé est privé, et nécessite donc une authentification.

Authentification
 npm login --registry http://npm-registry.mappingsuite.com:4873


username : partnermappingsuite
password : (voir sur LastPass : [M-S] IT> NPM Registry for Partner )
email : partner_mappingsuite@mappingsuite.com

Installation
npm install -g mapping-spooler-api --registry http://npm-registry.mappingsuite.com:4873


Installation Avec Docker

L’API Spooler doit absolument être installé sur le même hôte que le serveur Mapping Onyx.

Il faut donc ajouter l’installation de l’api spooler à l’image docker Mapping Onyx.


Exemple de Dockerfile

# Base Image Mapping Suite Server
FROM mappingsuite.azurecr.io/onyxserver:10.2.0
# NPM Registry Token for Authentication
ARG npm_token
# Update & Supervisor (for running Onyx + Rest API in parrallel)
RUN yum -y install epel-release && \ 
   yum -y update && \
   yum -y install supervisor
# Install NodeJS
RUN curl -sL https://rpm.nodesource.com/setup_14.x | bash - && \ 
   yum -y install nodejs	
# NPM Private Registry Authentication 
RUN npm set //npm-registry.mappingsuite.com:4873//:_authToken ${npm_token}
# NPM install mapping-spooler-api with private NPM Registry
RUN npm install -g mapping-spooler-api --registry http://npm-registry.mappingsuite.com:4873
# Required env var for API REST 
ENV PORT=8080
ENV MAPPING_PATH=/apps/mapping/data/conf/mapping.conf
# Supervisor Configuration
RUN echo "[supervisord]" > /etc/supervisord.conf  && \
 echo "nodaemon=true" >> /etc/supervisord.conf  && \
 echo "[program:spooler-api]" >> /etc/supervisord.conf  && \
 echo "command=bash -c 'sleep 5 && exec mapping-spooler-api'" >> /etc/supervisord.conf  && \
 echo "[program:onyx-server]" >> /etc/supervisord.conf  && \
 echo "command=/home/docker/scripts/init.sh"  >> /etc/supervisord.conf 
EXPOSE 8080
# Run Supervisor
ENTRYPOINT ["/usr/bin/supervisord"]


Ce Dockerfile utilise un paramètre “npm_token” pour s’authentifier sur notre registre npm.

Un token peut être obtenu par la commande suivante :

curl -s -H "Accept: application/json" -H "Content-Type:application/json" -X PUT --data '{"name": "mappingdev", "password": "PASSWORD"}'  --user mappingdev:PASSWORD http://npm-registry.mappingsuite.com:4873/-/user/org.couchdb.user:mappingdev

Construction de l’image :

docker build . -t onyxserver-api --build-arg npm_token=$TOKEN


Configuration

Une fois la commande installée il faut configurer chaque serveur (instance) Onyx pour définir le port http utilisé par l’api Spooler.

Ceci peut se faire en ajoutant une entrée SPOOLER_API_PORT au mapping.conf de chacun des serveurs MAPPING à monitorer.

Cette valeur doit être unique pour chaque serveur Onyx présent sur la VM.


Exemple

<block name="WEB CONFIG">
 <group>
  <element>
   <info name="[SPOOLER_API_PORT]">8080</info>
  </element>
 </group>
</block>

Note : Ces numéros de port seront utiles lors de l’ajout du serveur dans l’interface de la MMC.

Démarrage

Pour démarrer l’api http il suffit de lancer la commande mapping-spooler-api, en ayant au préalable défini la variable d’environnement MAPPING_PATH correspondant au serveur Onyx désiré.

Cela peut se faire en appelant la commande mappingenv pour sélectionner l’environnement Onyx, puis lancer la commande mapping-spooler-api.


Note:La commande mapping-spooler-api ne rend pas la main et ne dispose pas d’option natives pour s’exécuter en arrière plan. Pour lancer la commande en arrière plan on peut utiliser ce genre de chose :

mapping-spooler-api > /dev/null 2>&1 &

(Ou utiliser un outils comme supervisor) L’option SPOOLER_API_PORTdu mapping.conf est optionnelle. Si l’entrée n’est pas trouvé l’api cherchera une variable d’environnement PORT.


Mapping Management Console

Installation

L’installation de l’interface MMC ne peut se faire qu’avec Docker.

Image : mappingsuite/management-console-full

username : partnermappingsuite
password : (voir sur LastPass : [M-S] IT> DockerHub partner )

Exécution sans aucune sauvegarde, avec le user admin par défaut (mapadmin/mapadmin), interface disponible sur le port 8003 :

docker run -p 8003:80 mappingsuite/management-console-full

Il est possible de définir le nom et le mot de passe du compte admin par défaut, via les variables d’environnement ADMIN_USERNAME et ADMIN_PASSWORD, exemple :

docker run -p 8003:80 -e ADMIN_USERNAME=MyAdmin -e ADMIN_PASSWOR=MyPassword  mappingsuite/management-console-full


Pour sauvegarder les données (users et instances mapping créés) il faut utiliser un volume sur le répertoire mapping/data

docker run -p 8003:80 -v /my/data/:/mapping/data mappingsuite/management-console-full

Note : L’image docker utilise un user mapping, utiliser un chemin local comme volume risque de poser des problèmes de droits d’accès, il est préférable d’utiliser un volume docker.

Les logs peuvent aussi être sauvegardées avec un volume sur le dossier /mapping/logs.

docker run -p 8003:80 -v /my/logs/:/mapping/logs mappingsuite/management-console-full

Exemple de docker-compose .yml :

version: '3.2'
services:
 mmc:
  image: mappingsuite/management-console-full
   ports:
     - "8003:80"
   environment:
     - ADMIN_USERNAME=admin
     - ADMIN_PASSWORD=Mapping1234
   volumes:
     - mapping-data:/mapping/data
     - "/home/mmc/logs:/mapping/logs"
volumes:
 mapping-data:

Utilisation

Création d'une instance MAPPING

Une instance est un regroupement d'environnement MAPPING (ou service).

Menu Instances / +Add

A l'intérieur il faut créer des services correspondant aux serveurs MAPPING à monitorer

Screen of an instance creation