Modifié par jhurst le 2020/10/29 13:32

Afficher les derniers auteurs
1 {{ddtoc/}}
2
3 ----
4
5 Ce document décrit les réglages avancés des paramètres du serveur DigDash Enterprise (DDE).
6
7 Les fichiers suivants seront modifiés :
8
9 * server.xml
10 ** Emplacement (Tomcat global) :
11 <DDE Install>/apache-tomcat/conf/server.xml
12
13 * system.xml
14 ** Emplacement : <utilisateur>/Application Data/Enterprise Server/ddenterpriseapi/config/**system.xml**
15
16 * web.xml
17 ** Emplacement (Tomcat global) :
18 <DDE Install>/apache-tomcat/conf/**web.xml**
19 ** Emplacement (ddenterpriseapi) :
20 <DDE Install>/apache-tomcat/webapps/**ddenterpriseapi**/WEB-INF/**web.xml**
21 ** Emplacement (dashboard) :
22 <DDE Install>/apache-tomcat/webapps/**digdash_dashboard**/WEB-INF/**web.xml**
23 ** Emplacement (adminconsole) :
24 <DDE Install>/apache-tomcat/webapps/**adminconsole**/WEB-INF/**web.xml**
25 ** Emplacement (adswrapper) :
26 <DDE Install>/apache-tomcat/webapps/**adswrapper**/WEB-INF/**web.xml**
27
28 * setenv.bat
29 ** Emplacement : <DDE Install>/configure/**setenv.bat**
30
31 * dashboard_system.xml
32 ** Emplacement : <utilisateur>/Application Data/Enterprise Server/**dashboard_system.xml**
33
34 = Réglages Tomcat =
35
36 == Allouer plus de mémoire à Tomcat ==
37
38 Fichier modifié : **setenv.bat**
39
40 Trouvez les lignes suivante au début du fichier :
41
42 {{code language="batch"}}
43 set JVMMS=512
44 set JVMMX=512
45 {{/code}}
46
47 Changer les 2 occurrences "512" en la quantité de mémoire (méga-octets) que vous voulez allouer à Tomcat. Par exemple "**4096**" allouera 4 Go de mémoire à Tomcat :
48
49 {{code language="batch"}}
50 set JVMMS=4096
51 set JVMMX=4096
52 {{/code}}
53
54 (% class="box errormessage" %)
55 (((
56 Important : Sur un Windows 64 bits il n'y a pas de limite autre que la mémoire physique de votre ordinateur. Si La valeur est trop haute, alors Tomcat ne démarrera pas.
57 )))
58
59 (% class="box infomessage" %)
60 (((
61 //Note pour Windows 32 bits //: Si vous avez une configuration 32 bits (machine/OS), ou si vous avez déployé la version 32 bits de DigDash enterpise sur votre machine 64 bits, alors vous êtes limité dans la quantité de mémoire que vous pouvez allouer à Tomcat. La limite dans ce cas est connue pour être approximativement 1,5Go. Cela dépend notamment de la fragmentation de la mémoire à cet instant. Nos tests montrent en général que nous pouvons allouer 1,4Go sur un Windows 32 bits. Pour cette raison, nous recommandons une combinaison machine/OS 64 bits.
62 )))
63
64 (% class="box infomessage" %)
65 (((
66 Note pour la mémoire « PermGen Space » : Si vous rencontrez une erreur dans les logs portant la mention de « PermGen Space » vous pouvez augmenter cette valeur via la variable JVMMPS (au même endroit que les JVMMS et JVMMX).
67 )))
68
69 (% class="box errormessage" %)
70 (((
71 Important : Lorsque vous installez Tomcat en tant que service Windows (voir document [[install_guide_windows_fr.pdf>>http://install_guide_windows_fr.pdf/]]), à l'aide de **servers_install_service.bat** ou **servers_install_service_64.bat**, c'est le paramétrage de **setenv.bat **qui sera appliqué //lors de l'installation du service//.
72
73 Ainsi si vous souhaiter changer la mémoire allouée à Tomcat, il est obligatoire de :
74
75 1. Désinstaller le service à l'aide de la commande **sc delete Tomcat7** (ou autre nom que vous auriez spécifié à l'installation)
76 1. Changer les variables JVMMS et JVMMX du fichier **setenv.bat**
77 1. Relancer** servers_install_service.bat **ou **servers_install_service_64.bat**
78 )))
79
80 == Changer les ports réseau Tomcat ==
81
82 Fichier modifié : **server.xml**
83
84 Si un des ports nécessaires à Tomcat est déjà utilisé par un autre processus, alors il ne se lancera pas. Il est nécessaire de vérifier la disponibilité des ports et si besoin de reconfigurer Tomcat. Par défaut les 3 ports suivants sont configurés : 8005, 8080 et 8009. Pour les modifier :
85
86 1. Ouvrez le répertoire **<install DDE>\apache-tomcat/conf** puis éditer le fichier **server.xml**
87 1. Chercher et remplacer les valeurs des ports 8005, 8080 et 8009**.**
88 par des numéros de port disponibles sur le système
89
90 == Changer la durée de vie des sessions inactives (timeout) ==
91
92 Fichier modifié : **web.xml** (configuration globale de Tomcat situé à l'emplacement <DDE Install>/apache-tomcat/conf/web.xml)
93
94 Trouvez les lignes suivantes dans le fichier :
95
96 {{code language="xml"}}
97 <session-config>
98 <session-timeout>30</session-timeout>
99 </session-config>
100 {{/code}}
101
102 Changer la valeur pour modifier la durée de vie en minutes d'une session inactive (timeout). Par défaut le timeout est de 30 minutes.
103
104 == Changer le nombre maximum de requêtes simultanées ==
105
106 Fichier modifié : **server.xml**
107
108 Par défaut Tomcat n’acceptera pas plus de 200 requêtes **simultanées**. Ce paramétrage peut se révéler limitant dans le cas d’un déploiement à un grand nombre d’utilisateurs (plusieurs milliers ou millions), ou lors d’un bench de performance (ex. jmeter) qui exécute des centaines ou des milliers de requêtes simultanées.
109
110 Pour augmenter cette limite, il faut ajouter un attribut **maxthreads** dans l’élément **Connector** correspondant au connecteur utilisé.
111
112 Exemple lorsque le connecteur utilisé est http (il n’y a pas d’Apache en front-end) :
113
114 {{code language="xml"}}
115 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" maxthreads="400" redirectPort="8443" maxPostSize="-1" URIEncoding="UTF-8" ></Connector>
116 {{/code}}
117
118 Exemple lorsque le connecteur utilisé est AJP (il y a un Apache en front-end) :
119
120 {{code language="xml"}}
121 <Connector port="8009" protocol="AJP/1.3" maxthreads="400" redirectPort="8443" maxPostSize="-1" URIEncoding="UTF-8" ></Connector>
122 {{/code}}
123
124 == Activer la compression HTTP ==
125
126 Fichier modifié : **server.xml**
127
128 La compression HTTP permet de diminuer la consommation de la bande passante du réseau en compressant les réponses HTTP. Par défaut cette option n’est pas activée dans Tomcat, même si tous les navigateurs modernes la supportent.
129
130 Cette option permet d’économiser parfois jusqu’à 90 % la bande passante sur certains types de fichiers : HTML, Javascript, CSS. En consommant peu de CPU sur le serveur et le client.
131
132 (% class="box errormessage" %)
133 (((
134 Important : Cette option ne fonctionne que si Tomcat est utilisé directement en serveur front-end via le connecteur HTTP/1.1. S’il y a un Apache httpd en front-end, alors il faudra activer l’option équivalente dans Apache httpd lui-même (voir la documentation directement sur le site Apache httpd).
135 La compression HTTP n’est pas supportée sur le connecteur AJP, ni sur aucun autre connecteur que HTTP(S)/1.1.
136 )))
137
138 Dans le fichier **server.xml** ajouter les attributs **compression="on"** et **compressionMinSize="40000"** sur le connecteur HTTP/1.1:
139
140 Exemple :
141
142 {{code language="xml"}}
143 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxPostSize="-1" URIEncoding="UTF-8" compression="on" compressionMinSize="40000"></Connector>
144 {{/code}}
145
146 L’attribut **compressionMinSize** définit une taille minimale de réponse (en octets) au dessous de laquelle la compression n’est pas utilisée. Il est conseillé de spécifier cet attribut à une valeur suffisante pour ne pas compresser des fichiers déjà très petits (icônes PNG…).
147
148 (% class="box infomessage" %)
149 (((
150 Note : Ce réglage n’a pas d’incidence si un navigateur utilisé ne supporte pas la compression HTTP. Tomcat décidera alors de ne pas compresser les réponses HTTP pour ce navigateur.
151 )))
152
153 = Paramètres de performance avancés =
154
155 Fichier modifié : **system.xml**
156
157 Exemple de syntaxe XML :
158
159 {{code language="xml"}}
160 <Property key="CORE_TP_EXECSIZE" value="64"></Property>
161 {{/code}}
162
163 == Threads utilisés pour l'exécution des flux programmés ==
164
165 Modifie le nombre de « threads » utilisés pour l'exécution des flux programmés (ordonnanceur) ou sur événement.
166
167 Paramètres disponibles :
168
169 * //Nom// : **MAX_TP_EXECSIZE**
170 * //Valeur //: entier > 0 (défaut : 16)
171 //Description// : Nombre de threads maximum de traitement des tâches de synchronisation.
172 * //Nom// : **TP_SYNC_PRIORITY**
173 //Valeur //: chaîne ("flow" ou "none") (défaut : flow)
174 //Description// : Mode de priorité des tâches. Valeur **flow **: Traite la synchronisation du flux le plus tôt possible après que le cube ait été généré pour ce flux. Valeur **none **: le flux sera synchronisé quand il y aura de la place dans la file de threads. Ce paramètre n'est pris en compte que lorsque que le paramètre **TP_PRIORITYPOOL **est à **true**.
175 * //Nom// : **TP_SYNC_GROUPFLOWBYCUBE**
176 //Valeur //: booléen (défaut : false)
177 //Description// : Change le mode de traitement des tâches en attente. Valeur **false **: les tâches de traitements des flux sont répartis sur tous les threads disponibles quel que soit le cube utilisé. Cela entraine un traitement en parallèle des flux au détriment des cubes, recommandé lorsqu'il y a peu de cubes mais beaucoup de flux. Valeur **true **: regroupe les traitements des flux d'un même cube sur un seul thread. Cela entraine un traitement en parallèle des cubes au détriment des flux, recommandé lorsqu'il y a beaucoup de cubes différents et peu de flux utilisant les même cubes. Ce paramètre n'est pris en compte que lorsque que le paramètre **TP_PRIORITYPOOL **est à **true**.
178
179 == Threads utilisés pour l'exécution des flux interactifs ==
180
181 Modifie le nombre de « threads » utilisés pour l'exécution interactive des flux (Studio, tableau de bord, mobile, etc).
182
183 Paramètres disponibles :
184
185 * //Nom// : **MAX_TP_PLAYSIZE**
186 * //Valeur //: entier > 0 (défaut : 16)
187 //Description// : Nombre de threads maximum de traitement des tâches de synchronisation.
188 * //Nom// : **TP_PLAY_PRIORITY**
189 //Valeur //: chaine ("flow" ou "none") (défaut : flow)
190 //Description// : Mode de priorité des tâches. Valeur **flow **: Traite la synchronisation du flux le plus tôt possible après que le cube ait été généré pour ce flux. Valeur **none **: le flux sera synchronisé quand il y aura de la place dans la file de threads. Ce paramètre n'est pris en compte que lorsque que le paramètre **TP_PRIORITYPOOL **est à **true**.
191 * //Nom// : **TP_PLAY_GROUPFLOWBYCUBE**
192 //Valeur //: booléen (défaut : false)
193 //Description// : Change le mode de traitement des tâches en attente. Valeur **false **: les tâches de traitements des flux sont répartis sur tous les threads disponibles quel que soit le cube utilisé. Cela entraine un traitement en parallèle des flux au détriment des cubes, recommandé lorsqu'il y a peu de cubes mais beaucoup de flux. Valeur **true **: regroupe les traitements des flux d'un même cube sur un seul thread. Cela entraine un traitement en parallèle des cubes au détriment des flux, recommandé lorsqu'il y a beaucoup de cubes différents et peu de flux utilisant les même cubes. Ce paramètre n'est pris en compte que lorsque que le paramètre **TP_PRIORITYPOOL **est à **true**.
194
195 == Délais de suppression des cubes en mémoire ==
196
197 Modifie la manière dont le Cube Manager supprime les cubes inutilisés en mémoire.
198
199 Les paramètres suivants modifient la manière dont les cubes non utilisés depuis un certain temps sont supprimés, même si la session est toujours active.
200
201 Paramètres disponibles :
202
203 * //Nom// : **CUBE_TIMEOUT_INTERACTIVE**
204 //Valeur// : minutes > 0 (défaut : 10 minutes)
205 //Description// : Durée de la période d'inactivité pour un cube chargé en mode interactif (navigation du cube sur le serveur)
206 * //Nom// : **CUBE_TIMEOUT_SYNC**
207 //Valeur// : minutes > 0 (défaut : 4 minutes)
208 //Description// : Durée de la période d'inactivité pour un cube chargé en mode programmé (génération d'un flux programmé)
209 * //Nom //: **CUBE_TIMEOUT_PERIOD**
210 //Valeur// : minutes > 0 (défaut : 2 minutes)
211 //Description// : Intervalle de vérification de l'inactivité des cubes, devrait être au moins **CUBE_TIMEOUT_SYNC** / 2
212
213 == Performance des cubes de données ==
214
215 Ces paramètres affecteront le traitement interactif des cubes de données (aplatissement en cubes résultats pendant l'affichage). Ces paramètres n'affectent pas la génération des cubes de données.
216
217 Paramètres disponibles :
218
219 * //Nom// : **CUBEPART_MAXSIZEMB**
220 //Valeur// : méga-octets > 0 (défaut : 100 Mo)
221 //Description// : Taille d'une part de cube en méga-octets. Une part de cube est une partie du cube de données qui peut être traitée (aplatie) en parallèle ou distribuée sur d'autres serveur DigDash Enterprise en mode cluster (voir chapitre "//Utilisation de plusieurs serveurs en mode cluster//" dans ce document).
222 * //Nom// : **TP_MCUBESIZE**
223 //Valeur// : threads > 0 (défaut : 64 threads)
224 //Description// : Taille de la file de threads utilisés pour le traitement en parallèle des parts de cube. Les gros cubes (ex: plusieurs millions/milliards de lignes) sont traités en parallèle par le serveur, et/ou par d'autres serveurs (en mode cluster). Ce paramètre est le nombre d'unités parallèle de traitement (thread) sur une machine. Chaque part de cube occupe une unité de la file le temps de son traitement, si la file est pleine les unités supplémentaires sont mises en attente.
225 * //Nom// : **MCUBE_ROWS_PER_THREAD**
226 //Valeur// : lignes > 0 (défaut : 100000)
227 //Description// : C'est la limite du nombre de ligne d'un cube de données au delà de laquelle le serveur DigDash Enterprise activera le traitement parallèle des parts du cube (s'il y a plus d'une part pour ce cube). En dessous de cette limite, le traitement du cube n'est pas parallélisé mais séquentiel.
228
229 == Autres paramètres de performance ==
230
231 Les paramètres suivants servent à analyser ou optimiser les performances du système.
232
233 Paramètres disponibles :
234
235 * //Nom// : **LOW_MEMORY_THRESHOLD**
236 //Valeur// : pourcentage > 0 (défaut : 10%)
237 //Description// : C’est le seuil en pourcentage de mémoire libre restante au dessous duquel le système émettra une alerte de mémoire basse. Cette alerte est visible dans la page d’état du serveur pendant 24 heures. Elle est aussi enregistrée dans la base de données DDAudit si le service d’audit système est démarré.
238 Enfin, un événement DigDash est aussi déclenché lorsque le seuil est atteint : SYSCHECK_LOWMEM. Un exemple d’utilisation de cet événement est donné dans le document de déploiement du module DDAudit.
239 * //Nom// : **TP_PRIORITYPOOL**
240 //Valeur// : booléen (défaut : true)
241 //Description// : Utilise un pool de threads de rafraîchissements avec gestion de priorité pour les rafraîchissements de flux et cubes. Voir paramètres **TP_PLAY_GROUPFLOWBYCUBE, TP_SYNC_GROUPFLOWBYCUBE, TP_PLAY_GROUPFLOWBYCUBE, TP_SYNC_GROUPFLOWBYCUBE**
242
243 = Service de maintenance Automatique =
244
245 DigDash Enterprise fournit un service de maintenance composé :
246
247 * D’un nettoyeur de fichiers (connu aussi en tant que Files GC) nettoyant l'ensemble des fichiers inutilisés : vieux fichiers de l'historique, cubes et autres fichiers dépendant des flux.
248 * D’une sauvegarde automatique de la configuration
249
250 Nettoyeur de fichiers
251
252 Le nettoyeur nettoie les fichiers non utilisés par les portefeuilles des utilisateurs et des rôles.
253
254 Le nettoyage parcourt les index de tous les utilisateurs, ainsi que le disque, afin de trouver les fichiers qui ne sont plus liés aux index. Les fichiers identifiés sont supprimés. Les fichiers effacés sont les suivants : fichiers de cubes (.dcg), fichiers js des cubes (cube_data_id.js), modèles (cube_dm_id.js) et flux (cube_view_id_js).
255
256 Cette opération présente l'avantage de libérer de l'espace disque et potentiellement d'accélérer les recherches de fichiers js, qui peuvent devenir non négligeables sur des volumétries importantes (nombre de cubes personnels * nb historiques > 100000)
257
258 Selon l'âge du serveur et la volumétrie des fichiers concernés (nombre de rafraîchissements effectués...), l'opération peut prendre beaucoup de temps lors de sa première exécution (sur certains déploiements comportant beaucoup d'utilisateurs et beaucoup de cubes personnalisés, une à deux heures).
259
260 Ensuite, si le nettoyage est fait de manière régulière, le temps d'exécution sera moins long. Ce temps dépend énormément de la performance du système de fichiers et de la machine, ce qui le rend difficilement estimable.
261
262 Sauvegarde automatique
263
264 La sauvegarde automatique est effectuée avant le nettoyage des fichiers. Le fichier générés est copié dans le dossier de configuration **<digdash.appdata>/Enterprise Server/<domaine>/backups/<date du jour>.zip**
265
266 Par défaut, la maintenance se fait tous les jours à minuit.
267
268 (% class="box errormessage" %)
269 (((
270 Important : Par défaut le service de maintenance ne se lance que si aucune session utilisateur n'est active à ce moment. De plus, pendant son fonctionnement aucun utilisateur ne peut se connecter à DigDash Enterprise. Attention donc à bien le programmer pour qu'il n'interfère pas avec l'utilisation normale de DigDash Enterprise par les utilisateurs, ni par l'ordonnanceur. Selon les cas nous conseillons de programmer le service de maintenance la nuit, et à des plages horaires différentes des plages de l'ordonnanceur.
271 )))
272
273 Ce paragraphe décrit comment activer et programmer le service de maintenance.
274
275 == Activation, désactivation et/ou nettoyage au démarrage ==
276
277 L'activation du nettoyeur de fichiers peut se faire de deux manières :
278
279 === 1- //Depuis la page état du serveur //: ===
280
281 La page Etat du serveur est accessible depuis la page d'accueil de DigDash Enterprise puis en cliquant successivement sur les liens **Configuration **et **Etat du serveur**.
282
283 Dans la rubrique Etat du nettoyeur de fichiers, cliquez sur la flèche verte figurant à côté de **Nettoyeur de fichier démarré** pour démarrer le nettoyeur :
284
285 [[image:1599031610206-294.png||queryString="width=529&height=157" height="157" width="529"]]
286 Le prochain nettoyage aura lieu à minuit. Pour démarrer le nettoyeur de fichiers immédiatement, cliquez sur l’icône [[image:1599031692012-960.png]].
287
288 === 2- //Depuis le fichier web.xml// : ===
289
290 Fichier modifié : **web.xml / ddenterpriseapi.properties (ddenterpriseapi)**
291
292 Active ou non le module Files GC et/ou lance le nettoyage au démarrage du serveur
293
294 Paramètres disponibles :
295
296 * //Nom// : **startCleaner**
297 //Valeur// : booléen (défaut : false)
298 //Description// :
299 * true : nettoyage automatique des fichiers programmé.
300 //Note: l'heure du nettoyage est définie dans **system.xml**, par le paramètre **FILESGC_SCHEDXML**.
301 L'heure de nettoyage par défaut (si aucune n'est spécifiée dans system.xml, FILESGC_SCHEDXML) est tous les jours à 0:00//
302 * false (défaut) : pas d'utilisation du nettoyeur de fichiers
303 * //Nom// : **cleanOnStart**
304 //Valeur// : booléen (défaut : false)
305 //Description// :
306 * true : nettoie les fichiers inutilisés au démarrage du serveur (fichiers de l'historique, cubes, fichiers résultats,...)
307 * false (défaut) : ne nettoie pas les fichiers inutilisés au démarrage du serveur
308 * //Nom// : **autoBackup**
309 //Valeur// : booléen (défaut : false)
310 //Description// :
311 ** ***. true : active la sauvegarde automatique programmée**
312 *** false (défaut) : n’active pas la sauvegarde automatique programmée
313
314 == Programmation et options de la maintenance automatique ==
315
316 Fichier modifié : **system.xml**.
317
318 Paramètres disponibles :
319
320 * //Nom// : **FILESGC_SCHEDXML**
321 //Valeur// : phrase XML (encodée) (défaut : aucune)
322 //Description// : Ce paramètre contient une phrase XML //encodée// décrivant la fréquence de programmation.
323
324 Exemple :
325
326 {{code language="xml"}}
327 <Property key="FILESGC_SCHEDXML"
328 value="&lt;Schedule frequency=&quot;daily&quot;
329 fromDay=&quot;11&quot; fromHour=&quot;0&quot;
330 fromMinute=&quot;0&quot; fromMonth=&quot;7&quot;
331 fromYear=&quot;2011&quot; periods=&quot;1&quot;
332 time=&quot;0:0&quot;/&gt;"></Property>
333 {{/code}}
334
335 Les attributs intéressants sont : **frequency** (**hourly**, **daily** ou **monthly**), **periods** (nombre d'heures, jours ou mois entre 2 nettoyages) et **time** (heure du nettoyage pour les fréquences daily et monthly). Cet exemple signifie tous les jours (frequency="daily" et periods="1") à 0:00 (time="0:0").
336
337 * //Nom// : **FILESGC_SESSIONSCHECK**
338 //Valeur// : true/false (booléen) (défaut : aucune, équivaut à true)
339 //Description// : Ce paramètre indique si le nettoyeur de fichiers doit vérifier les sessions actives avant de se lancer (true), ou s'il se lance qu'elle que soit l'état des sessions actives (false). Dans ce dernier cas, toutes les sessions seront déconnectées instantanément.
340
341 Exemple :
342
343 {{code language="xml"}}
344 <Property key="FILESGC_SESSIONSCHECK" value="false"></Property>
345 {{/code}}
346
347 * //Nom// : **USEAUTOBACKUP**
348 //Valeur// : true/false (booléen) (défaut : aucune, équivaut à false)
349 //Description// : Ce paramètre indique si le service de maintenance effectue aussi une sauvegarde complète de la configuration avant d’exécuter le nettoyage des fichiers.
350
351 = Utilisation de plusieurs serveurs en mode "Cluster" =
352
353 Pour gérer un plus grand volume de données (milliard de lignes), il est possible d'utiliser plusieurs serveurs en mode "Cluster". Chaque serveur devient un nœud de calcul du cluster. Ce dernier regroupe un serveur maître et des serveurs esclaves.
354
355 Le serveur maître s'occupe de gérer les modèles, les documents, les rôles, les utilisateurs, les sessions et de générer les cubes et les flux (rafraîchissement). A l'identique d'un serveur Digdash Enterprise en mode standard mono-machine.
356
357 Les serveurs esclaves additionnels ne sont utilisés que pour aider à l’aplatissement interactif des cubes de données volumineux, lors de l'affichage de flux, filtrage, drills, etc.
358
359 Il existe deux architectures de clustering dans DigDash Enterprise :
360
361 * Clustering interne : Décrit dans ce chapitre
362 * Cluster Apache Ignite : [[Module Cluster Apache Ignite>>doc:.ignite_cluster_guide.WebHome]]
363
364 == Installer DigDash Enterprise en mode "Cluster" ==
365
366 Pré-requis: plusieurs machines connectées entre elles par le réseau
367
368 === Serveur maître (sur la machine la plus puissante du cluster): ===
369
370 1. Installation standard de DigDash Enterprise (voir la documentation).
371 1. Démarrer le serveur normalement avec **start_servers.bat**
372
373 === Serveur esclave (sur chacune des autres machines du cluster): ===
374
375 1. Installation standard de DigDash Enterprise (voir la documentation).
376 La différence est qu'un serveur esclave n'a pas besoin de licence pour servir d'unité de calcul au cluster. Il n'a pas besoin non plus d'annuaire LDAP, ni de serveur de document SVN. Il n'a pas besoin non plus de l'application digdash_dasboard dont le war pourrait être accessoirement supprimé de Tomcat.
377 1. Démarrer uniquement le module Tomcat, avec **start_tomcat.bat**
378
379 == Configurer le cluster ==
380
381 Procédure à répéter sur chaque serveur du cluster
382
383 1. Avec un navigateur, se connecter à la page principale de DigDash Enterprise (ex: http:~/~/<serveur>:8080)
384 1. Cliquer sur **Configuration**, puis **Paramètres Serveur**
385 1. S'identifier en tant qu'administrateur de DigDash Enterprise (admin/admin par défaut) pour afficher la page des paramètres du serveur
386 1. Cliquer en bas de page sur le lien **Paramètres du cluster**
387 1. Remplir les différents champs en fonction de chaque machine serveur (voir explications ci-dessous)
388
389 === Section Performance du système ===
390
391 [[image:1599031761946-310.png||queryString="width=529&height=116" height="116" width="529"]]
392 La section **Performance du système** définit les capacités de la machine courante dans le cluster. Les paramètres **Nombre de CPU**, **Score CPU** et **Mémoire allouée** permettent de répartir au mieux la charge de calcul.
393
394 1. **Nombres de CPU **: le nombre de processeurs * nombre de cœurs sur chaque processeurs. Potentiellement multiplié par un facteur si les processeurs bénéficient d'une technologie type Hyper-threading. Par défaut -1, s'appuie sur les données renvoyées par le système d'exploitation
395 1. **Score CPU **: c'est une note entre 1 et 10 qui permet de relativiser la performance d'un noeud du cluster par rapport aux autres (cas d'un cluster hétérogène). Par défaut -1 donne une note moyenne (5).
396 1. **Mémoire allouée **: la fraction de la mémoire maximale autorisée dans le cadre d'utilisation du serveur comme unité de calcul. Cette valeur est inférieure ou égale à la mémoire allouée au serveur Tomcat. Par défaut -1 autorise toute la mémoire.
397
398 === Section Clusters autorisés ===
399
400 [[image:1599031821272-770.png||queryString="width=667&height=184" height="184" width="667"]]
401 La section **Clusters autorisés** permet de spécifier si la machine courante peut être utilisée comme esclave d'un ou plusieurs cluster(s), et si oui lesquels. En effet une machine peut servir à plusieurs clusters DigDash Enterprise. Cette section restreint cette utilisation en tant qu'esclave à seulement certains clusters (liste **Sélection**) ,
402
403 C'est également dans cette section que nous définissons le **Mot de passe** du serveur courante dans le cluster sélectionné. Sans mot de passe le serveur ne peut être esclave dans ce cluster.
404
405 Pour ajouter un cluster autorisé à utiliser ce serveur esclave:
406
407 1. **Nom **: nom du cluster (arbitraire)
408 1. **Adresse IP du serveur maître** : adresse IP du serveur maître du cluster autorisé à utiliser ce serveur comme esclave (ex: http:~/~/192.168.1.1)
409 1. **Mot de passe** : Mot de passe de l'esclave dans le contexte du cluster sélectionné
410 1. Cliquer sur le bouton **Ajouter** pour ajouter ce cluster à la liste des clusters autorisés
411
412 (% class="box infomessage" %)
413 (((
414 Note : Vous pouvez éditer ou supprimer des cluster autorisés en les sélectionnant dans la liste **Sélection**, puis en cliquant sur les boutons **Editer** ou **Supprimer**.
415 )))
416
417 === Section Définition du cluster ===
418
419 A renseigner seulement sur le serveur Maître du cluster
420
421 [[image:1599031869523-186.png||queryString="width=686&height=254" height="254" width="686"]]
422 La section **Définition du cluster** //ne concerne que le serveur maître// du cluster. C'est ici que nous créons un cluster en listant les serveurs esclaves du cluster ainsi que le maître lui-même (liste **Sélection**, champs **Nom**, **Adresse**, **Domaine** et **Mot de passe**). Le serveur maître est implicitement le serveur via lequel vous vous êtes connecté à cette page.
423
424 Pour ajouter une machine esclave au cluster:
425
426 1. **Nom **: nom de machine esclave (arbitraire)
427 1. **URL du serveur** : URL du serveur esclave (ex: http:~/~/192.168.1.123:8080)
428 1. **Domaine** : Domaine DigDash Enterprise (par défaut ddenterpriseapi)
429 1. **Mot de passe** : Mot de passe de l'esclave tel que vous l'avez précédemment tapé lors de la configuration de la machine esclave (section **Clusters autorisés**, champ **Mot de passe**)
430 1. Cliquer sur le bouton **Ajouter** pour ajouter cette machine à votre cluster.
431
432 (% class="box infomessage" %)
433 (((
434 Note : Vous pouvez éditer ou supprimer des machines du cluster en les sélectionnant dans la liste **Sélection**, puis en cliquant sur les boutons **Editer** ou **Supprimer**.
435 )))
436
437 Utilisation de plusieurs maîtres dans un cluster
438
439 Certain déploiements nécessitent l’utilisation de plusieurs serveurs maîtres au sein d’un même « cluster ». Par exemple dans le cas d’un load balancer HTTP en amont qui envoie les sessions utilisateurs sur l’une ou l’autre machine maître. Ce mode est supporté dans DigDash en définissant plusieurs clusters identiques (un par machine maître). La liste des machines (Section Définition du cluster) doit être strictement identique sur toutes les définitions des clusters. C’est pour cela qu’il est possible de changer l’ordre des machines dans cette liste.
440
441 Exemple : On souhaite définir un cluster qui consiste en deux machines A et B. Chacune des deux machines est maître et esclave de l’autre.
442
443 On doit définir non pas un mais deux clusters A et B :
444
445 Dans la définition du cluster A :
446
447 1. [[Digdash 2019R2.Guide avancé.Serveur courant.WebHome]] : machine A (maître de ce cluster)
448 1. machine B (esclave de ce cluster)
449
450 Dans la définition du cluster B :
451
452 1. machine A (esclave de ce cluster)
453 1. [[Digdash 2019R2.Guide avancé.Serveur courant.WebHome]] : machine B (maître de ce cluster)
454
455 On voit que dans le cluster B, le maître (B) n’est pas la première machine de la liste. Ce qui est important ici c’est que la liste machine A, machine B est bien la même sur les deux clusters (qu’elle que soit leur fonction propre au sein de leur cluster respectif).
456
457 == Paramètres avancés spécifiques au clusters ==
458
459 Fichier modifié : **system.xml**
460
461 Exemple de syntaxe XML :
462
463 {{code language="xml"}}
464 <Property key="CLUSTER_TIMEOUT" value="45000"></Property>
465 {{/code}}
466
467 Paramètres disponibles :
468
469 * //Nom// : **CUBE_UPLOAD_MODE**
470 //Valeur// : entier : 0, 1 ou 2 (défaut : 1)
471 //Description// : Spécifie si les parts de cube doivent être téléchargées du serveur maître vers les serveurs esclaves au moment ou un utilisateur interagit avec le cube (1), quand le cube est généré par le serveur maître (2), ou jamais (0). Voir également le chapitre suivant : "//Utiliser le cluster//".
472 * Nom : **CLUSTER_TIMEOUT**
473 Valeur : entier : (millisecondes, défaut: 30000)
474 Description : Spécifie le timeout de toutes les requêtes intra-cluster (entre le maître et les esclaves), à l’exception de la requête de vérification de disponibilité d’un esclave (voir ci-dessous)
475 * Nom : **CLUSTER_CHECK_TIMEOUT**
476 Valeur : entier : (millisecondes, défaut: 5000)
477 Description : Spécifie le timeout de la requête de vérification de disponibilité d’un esclave. Ce timeout est plus court pour empêcher de bloquer trop longtemps le maître dans le cas ou un esclave est déconnecté du réseau.
478
479 == Utiliser le cluster ==
480
481 Dans un déploiement simple en mode cluster il n'y a rien à faire de plus que ce qui a été écrit précédemment.
482
483 Malgré tout, il y a certains détails intéressants qui peuvent aider à améliorer la performance d'un cluster.
484
485 Le cluster est utilisé en fonction de la taille du cubes de données. En dessous d'un certain seuil, dépendant du cube, de la machine maître et des esclaves, il est possible que le cluster ne soit pas utilisé. Par contre si la taille d'un ou plusieurs cubes de données devient importante, par exemple au delà de plusieurs centaines de millions de lignes, ceux-ci seront découpés en plusieurs parties et leur calcul (aplatissement) sera réparti en parallèle sur tous les processeurs disponibles du cluster pour diminuer le temps de réponse global. Et ceci pour chaque aplatissement d'un gros cube par un utilisateur du tableau de bord, du mobile, etc.
486
487 Il est à noter que la génération des cubes est de la responsabilité du serveur maître. Les esclaves n'interviennent que lors des aplatissements interactifs de cubes déjà générés (ex: affichage d'un flux, filtrage, drill...)
488
489 Les morceaux de cubes sont envoyés aux esclaves à la demande (s'ils ne les ont pas déjà). Ceci peut induire un ralentissement du système sur un premier aplatissement demandé par un utilisateur, notamment si la bande passante du réseau est faible (< 1 gigabit).
490
491 Il y a toutefois différents moyens d'éviter cet encombrement du réseau. Voici quelques suggestions :
492
493 Un premier moyen est de disposer du dossier **cubes** (sous-dossier de Application Data/Enterprise Server/ddenterpriseapi par défaut) sur un disque réseau accessible à toutes les machines du cluster. Par exemple via un lien symbolique (Linux, NFS). Ce lien devra être établi pour toutes les machines du cluster. Le principe est que le serveur maître générera les cubes dans ce dossier réseau, et lors de l'interaction d'un utilisateur avec le système, maître et esclaves auront tous une vue //commune// des cubes. La lecture des cubes du disque n'étant faite qu'une fois dans le cycle de vie d'un cube (cube //in-memory//), l'impact du dossier réseau sur les performances est négligeable.
494
495 Un autre moyen, est d'utiliser un outil tierce de synchronisation automatique de dossiers entre plusieurs machines, qui pourra copier l'ensemble du dossier cubes du serveur, après leur génération, vers les machines esclaves. Le principe est que le serveur maître générera les cubes dans son dossier local, puis l'outil de synchronisation copiera ce dossier sur toutes les machines esclaves. Tout ceci en dehors des périodes d'activité du serveur. Maître et esclaves auront tous une vue //identique// des cubes.
496
497 = Autres réglages avancés =
498
499 == Changement du chemin des fichiers de données ==
500
501 Le chemin dans lequel DigDash Enterprise stocke les informations de configuration, les modèles de données, les portefeuilles d'information, les cubes, l'historique des flux et d'autres fichiers de travail se trouve par défaut dans le **dossier de l'utilisateur du système d'exploitation**, dans un sous dossier **Application Data/Enterprise Server/<domaine>**.
502
503 Par exemple sous Windows, ce dossier est :
504
505 C:\Users\<utilisateur>\AppData\Roaming\Enterprise Server\ddenterpriseapi
506
507 Dans certains cas il est souhaitable de modifier ce dossier, soit pour avoir plus d'espace de stockage disponible, soit pour des raisons d'organisation, de scripting, etc.
508
509 Il existe plusieurs moyen de modifier ce chemin.
510
511 === Au niveau global (Tomcat): ===
512
513 Fichier à modifier : **setenv.bat**
514
515 La variable système optionnelle **digdash.appdata** permet de spécifier un dossier où DigDash Enterprise stockera ses fichiers de données.
516
517 Dans le fichier **<DDE Install>/configure/setenv.bat** ajouter la ligne:
518
519 {{code language="batch"}}
520 @set CATALINA_OPTS=-Ddigdash.appdata=<chemin du nouveau dossier de données>
521 {{/code}}
522
523 (% class="box errormessage" %)
524 (((
525 Important : Le chemin est interprété comme une variable Java, les séparateurs de dossiers doivent être des / et non des \ et ce même sous Windows. Il n'y a pas d'espace entre -D et digdash.appdata.
526 Cette méthode ne fonctionnera pas si Tomcat est installé en tant que service.
527 )))
528
529 Si ce dossier n'existe pas, DigDash Enterprise le créé. Les données ne seront pas stockées directement dans ce dossier, mais dans un sous dossier **<digdash.appdata>/Enterprise Server/<domaine>**
530
531 Exemple:
532
533 Pour stocker les données Digdash Enterprise sur un autre disque dur que le disque système:
534
535 1. Modifier **<DDE Install>/configure/setenv.bat** en ajoutant la ligne :(((
536 {{code language="batch"}}
537 @set CATALINA_OPTS=-Ddigdash.appdata=D:/digdashdata
538 {{/code}}
539 )))
540 1. Relancer le serveur Tomcat
541 1. Un dossier **D:\digdashdata\Enterprise Server\ddenterpriseapi** se créé et contiendra toute l'arborescence des données de DigDash Enterprise
542
543 Avantage : La configuration se faisant au niveau du script **setenv.bat**, elle ne sera pas écrasée lors de la mise à jour de DigDash Enterprise par déploiement de nouveaux fichiers WAR.
544
545 Inconvénient : Cette configuration est globale au Tomcat de DigDash Enterprise, donc tous les domaine DigDash Enterprise de ce serveur sont concernés. Cependant les données des différents domaines DigDash Enterprise déployés dans ce Tomcat ont bien leur sous-dossier propre, il n'y a aucun risque d'écrasement des données.
546
547 === Au niveau d'un domaine (web.xml du contexte concerné): ===
548
549 Fichier modifié : **web.xml** (ddenterpriseapi)
550
551 La variable **AppDataPath** définie dans ce fichier (valeur vide par défaut) a le même comportement que la variable système décrite ci-dessus.
552
553 La différence est que ce paramétrage est spécifique à un domaine DigDash Enterprise.
554
555 Avantage : Configuration locale à un domaine
556
557 Inconvénient : La mise à jour de DigDash Enterprise par déploiement d'un nouveau fichier WAR écrasera cette configuration (web.xml est écrasé lors du déploiement du WAR).
558
559 === Au niveau d'un domaine (fichier externe ddenterprise.properties): ===
560
561 Fichier modifié : **ddenterpriseapi.properties**
562
563 Ce fichier n’existe pas par défaut : lire le [[chapitre V.5>>||anchor="V.5"]] pour plus d’information sur les fichier //properties.//
564
565 La variable **AppDataPath** définie dans ce fichier a le même comportement que la variable système ou contexte décrite ci-dessus.
566
567 La différence est que ce paramétrage est spécifique à un domaine DigDash Enterprise //et// externalisée dans un fichier //properties//, et donc, non impacté par lors du déploiement du WAR mis à jour.
568
569 Avantages :
570
571 * Configuration locale à un domaine
572 * Fichier externe au WAR
573
574 Inconvénient : Il faut créer ce fichier.
575
576 == Règlages LDAP (adswrapper) : Port et nom d'instance ==
577
578 === Port Réseau du serveur LDAP (adswrapper) ===
579
580 Fichier modifié : **web.xml** (adswrapper) ou **adswrapper.properties**
581
582 La variable **ads.ldap.port** (valeur par défaut : **11389**) défini le port réseau utilisé par le serveur LDAP intégré à DigDash Enterprise. Il faut changer cette valeur si elle est déjà utilisé par un autre process sur la machine, ou une autre instance LDAP (d'un autre domaine DigDash sur la même machine par exemple).
583
584 === Chemin et nom d'instance LDAP (adswrapper) ===
585
586 Fichier modifié : **web.xml** (adswrapper) ou **adswrapper.properties**
587
588 La variable **ads.instance.name** (valeur par défaut : **ldapdigdash**) défini le chemin et le nom de l'instance de l'annuaire LDAP utilisé par DigDash Enterprise. Il faut changer cette valeur si deux domaines DigDash dans le même Tomcat veulent utiliser chacun leur propre instance LDAP.
589
590 (% class="box errormessage" %)
591 (((
592 Important : Cette variable sert aussi à définir le chemin du dossier contenant les données de l’instance LDAP. Si sa valeur est un chemin absolu sur le disque alors les données de l’instance seront stockées dans ce chemin.
593
594 Exemple : //ads.instance.name=/path/to/ldapdigdash//
595 )))
596
597 == Paramètres avancés de l'éditeur / viewer de tableaux de bord ==
598
599 === Paramètres dashboard_system.xml ou digdash_dashboard.properties ===
600
601 Fichier modifié : **dashboard_system.xml** ou **digdash_dashboard.properties**
602
603 Ce fichier se trouve dans le dossier **<utilisateur>/Application Data/Enterprise Server/dashboard_system.xml**. Par défaut ce fichier n'existe pas, il faudra donc le créer. C'est un fichier XML au format suivant :
604
605 {{code language="xml"}}
606 <SystemProperties>
607 <Property key="<nom paramètre>" value="<valeur paramètre>"/>
608 <Property key="<nom paramètre>" value="<valeur paramètre>"/>
609 <Property key="<nom paramètre>" value="<valeur paramètre>"/>
610 </SystemProperties>
611 {{/code}}
612
613 (% class="box infomessage" %)
614 (((
615 Note : Tous ces paramètres peuvent également être spécifié dans **<DDE Install>/apache-tomcat/webapps/digdash_dashboard/WEB-INF/web.xml** ou un fichier **digdash_dashboard.properties** si spécifié (voir chapitre V.5)
616 )))
617
618 Paramètres disponibles :
619
620 * //Nom// : **SERVERURL**
621 //Valeur// : URL du serveur DigDash Enteprise
622 //Description// : URL du serveur sur lequel le tableau de bord doit se connecter en priorité.
623 * //Nom// : **DOMAIN**
624 //Valeur// : Nom du domaine DigDash Enterprise
625 //Description// : Nom du domaine sur lequel le tableau de bord doit se connecter en priorité.
626 * //Nom// : **FORCESERVERURL**
627 //Valeur// : Booléen (défaut : false)
628 //Description// : Utilisé avec le paramètre **SERVERURL**. Force le serveur sur lequel le tableau de bord se connecte. L'utilisateur ne peut pas choisir un autre serveur.
629 * //Nom// : **FORCEDOMAIN**
630 //Valeur// : Booléen (défaut : false)
631 //Description// : Utilisé avec le paramètre **DOMAIN**. Force le domaine sur lequel le tableau de bord se connecte. L'utilisateur ne peut pas choisir un autre domaine.
632 * //Nom// : **GRIDSIZEEDITOR**
633 //Valeur// : Entier (défaut: 10)
634 //Description// : Taille en pixel de la grille magnétique d'édition du tableau de bord.
635 * //Nom// : **THEME**
636 //Valeur// : Nom du thème (défaut: vide)
637 //Description// : Nom du thème par défaut utilisé pour les utilisateur n'ayant pas de thème spécifique spécifié.
638
639 * //Nom //: **urlLogout**
640 //Valeur// : URL
641 //Description //: Spécifie une URL de sortie vers laquelle est redirigé l’utilisateur après une déconnexion du tableau de bord. Voir le paragraphe « //Redirection lors de la déconnexion du tableau de bord// ».
642 * //Nom //: **CANCHANGEPASSWORD**
643 //Valeur //: Booléen (défault : false)
644 //Description //: Permet l’activation d’un hyperlien « Mot de passe perdu » dans la page de login du tableau de bord. Cet hyperlien envoie un code de réinitialisation par émail à l’utilisateur. Voir paragraphe « //Activation de la fonctionnalité de réinitialisation du mot de passe// »
645
646 Exemple de fichier **digdash_dashboard.properties** :
647
648 {{code language="properties"}}
649 SERVERURL=http://localhost:8080
650 FORCESERVERURL=true
651 DOMAIN=ddenterpriseapi
652 FORCEDOMAIN=true
653 GRIDSIZEEDITOR=15
654 THEME=Flat
655 CANCHANGEPASSWORD=true
656 {{/code}}
657
658 Exemple de fichier **dashboard_system.xml** :
659
660 {{code language="xml"}}
661 <SystemProperties>
662 <Property key="SERVERURL" value="http://localhost:8080"></Property>
663 <Property key="FORCESERVERURL" value="true"></Property>
664 <Property key="DOMAIN" value="ddenterpriseapi"></Property>
665 <Property key="FORCEDOMAIN" value="true"></Property>
666 <Property key="GRIDSIZEEDITOR" value="15"></Property>
667 <Property key="THEME" value="Flat"></Property>
668 <Property key="CANCHANGEPASSWORD" value="true"></Property>
669 </SystemProperties>
670 {{/code}}
671
672 === Redirection lors de la déconnexion du tableau de bord ===
673
674 Vous pouvez spécifier une URL qui sera affichée dans le navigateur quand l'utilisateur se déconnecte du tableau de bord (bouton Déconnexion).
675
676 Fichier modifié : **web.xml **(digdash_dashboard), **digdash_dashboard.properties** ou **dashboard_system.xml**
677
678 Modifier la valeur du paramètre **urlLogout** comme dans l'exemple suivant. Par défaut la valeur est vide, signifiant un retour à la page d'authentification du tableau de bord :
679
680 Dans **web.xml** (digdash_dashboard) :
681
682 {{code language="xml"}}
683 <init-param>
684 <param-name>urlLogout</param-name>
685 <param-value>http://www.digdash.com</param-value>
686 </init-param>
687 {{/code}}
688
689 Les URLs relatives sont autorisées, par rapport à l'url de index.html de l'application digdash_dashboard :
690
691 {{code language="xml"}}
692 <init-param>
693 <param-name>urlLogout</param-name>
694 <param-value>disconnected.html</param-value>
695 </init-param>
696 {{/code}}
697
698 Si **digdash_dashboard.properties **([[chapitre V.5>>doc:||anchor="V.5"]]) est utilisé, il faudra écrire :
699
700 {{code language="properties"}}
701 urlLogout=disconnected.html
702 {{/code}}
703
704 Enfin, vous aussi pouvez modifier cette valeur dans le fichier **dashboard_system.xml :**
705
706 {{code language="xml"}}
707 <Property key="urlLogout" value="disconnected.html"></Property>
708 {{/code}}
709
710 === Activation de la fonctionnalité de réinitialisation de mot de passe ===
711
712 Vous pouvez activer la fonctionnalité de réinitialisation de mot de passe perdu. Cette fonctionnalité affiche un hyperlien « **Mot de passe oublié **» dans la page de login du tableau de bord qui envoie à l’utilisateur un émail contenant un code de réinitialisation de son mot de passe. Ensuite l’utilisateur est redirigé vers une interface de réinitialisation pour saisir ce code et un nouveau mot de passe.
713
714 Fichier modifié : **web.xml** (digdash_dashboard), **digdash_dashboard.properties** ou **dashboard_system.xml**, et page de Configuration des serveur DigDash
715
716 Prérequis sur le serveur DigDash :
717
718 * La fonctionnalité doit être aussi activée via la page de **Configuration des serveurs** / **Avancé** / **Divers** / **Autoriser la réinitialisation de mot de passe**
719 * Un serveur émail valide doit être configuré dans la page **Configuration des serveurs** / **Avancé** / **Serveur émail système**
720 * Les utilisateurs doivent avoir une adresse émail valide dans le champ LDAP **digdashMail**
721
722 L’activation de la fonction coté tableau de bord se fait en passant la variable CANCHANGEPASSWORD à la valeur **true**
723
724 Dans **web.xml** (digdash_dashboard) :
725
726 {{code language="xml"}}
727 <init-param>
728 <param-name>CANCHANGEPASSWORD</param-name>
729 <param-value>true</param-value>
730 </init-param>
731 {{/code}}
732
733 Si **digdash_dashboard.properties **(chapitre V.5) est utilisé, il faudra écrire :
734
735 {{code language="properties"}}
736 CANCHANGEPASSWORD=true
737 {{/code}}
738
739 Enfin, vous pouvez aussi modifier cette valeur dans le fichier **dashboard_system.xml :**
740
741 {{code language="xml"}}
742 <Property key="CANCHANGEPASSWORD" value="true"></Property>
743 {{/code}}
744
745 __Optionnel : Customisation de l’émail du code de réinitialisation__
746
747 Le sujet et le corps de l’émail du code de réinitialisation peuvent être customisés de la manière suivante :
748
749 1. Démarrer le Studio DigDash
750 1. Menu **Outils** / **Gestionnaire de traductions...**
751 1. Clic-droit sur la section **GLOBAL** puis **Ajouter…**
752
753 Nom de la clé : **LostPasswordMailSubject**
754
755 Saisir le sujet de l’émail dans les langues qui vous intéressent.
756
757 1. Clic-droit sur la section **GLOBAL** puis **Ajouter…**
758
759 Nom de la clé : **LostPasswordMailText**
760
761 Saisir le corps de l’émail dans les langues qui vous intéressent. Attention le corps de l’émail doit contenir au moins le mot-clé **${code}** qui sera substitué par le code de réinitialisation. Un autre mot-clé disponible est **${user}**.
762 Nous déconseillons d’indiquer trop d’informations dans cet émail, c’est pourquoi dans le message par défaut nous n’indiquons que le code de réinitialisation.
763
764
765 __Paramètres avancés spécifiques à la fonctionnalité de réinitialisation de mot de passe__
766
767 Fichier modifié : **system.xml**
768
769 Exemple de syntaxe XML :
770
771 {{code language="xml"}}
772 <Property key="PROP_RESET_PASS_HASH" value="dfrj65433lkloss!00"></Property>
773 {{/code}}
774
775 Paramètres disponibles :
776
777 * //Nom// : **PROP_RESET_PASS_HASH**
778 //Valeur// : Chaîne non vide (défaut : aléatoire)
779 //Description// : Spécifie le code sel à utiliser pour la génération du code de réinitialisation de mot de passe. Par défaut cette chaîne est aléatoire, générée au lancement du serveur. Vous pouvez spécifier une chaîne de caractère qui sera utilisée par l’algorithme de génération du code de réinitialisation. Ceci peut-être utile si vous avez plusieurs serveurs (load-balancing HTTP) et pour qu’un code généré sur un serveur soit utilisable sur un autre.
780 * //Nom// : **PROP_RESET_PASS_VALIDITY**
781 //Valeur// : entier positif (défaut : 1)
782 //Description// : Spécifie la durée de validité minimale du code par tranche de 10 minutes. Une valeur de 1 donne une validité du code entre 10 et 20 minutes, une valeur de 2 entre 20 et 30 minutes, etc. La validité est importante pour minimiser les risques de vol de code à postériori.
783 * //Nom// : **PROP_RESET_PASS_LENGTH**
784 //Valeur// : entier positif (défaut : 10)
785 //Description// : Spécifie la longueur du code de réinitialisation. Une valeur trop faible est sujette aux tentatives d’attaques dites de force brute. Une valeur trop importante est sujette à des erreurs de saisie de la part des utilisateurs.
786
787 == Réglages de sécurité internes ==
788
789 Des réglages sur les mécanismes de protection intégrés à DigDash sont possibles. Vous pouvez vous référer au document [[Réglages de sécurité avancés>>doc:Digdash.deployment.security.advanced_security_settings.WebHome]].
790
791 == Externalisation des paramètres dans des fichiers //properties// ==
792
793 Il est possible de spécifier les paramètres situés dans un fichier **web.xml** dans un fichier texte externe au format **properties**.
794
795 Ceci permet de pré-configurer des paramètres des applications web, parmi ceux listés dans ce document, avant de déployer les applications web. Ou encore de s’assurer que les paramètres ne seront pas écrasés lors d’une mise à jour des applications web de DigDash Enterprise.
796
797 Ces fichiers **.properties** sont ensuite mentionnés dans la ligne de commande de lancement de tomcat ou placés dans le répertoire de travail de tomcat.
798
799 Par exemple on peut créer un fichier **digdash_dashboard.properties** contenant les lignes suivantes :
800
801 {{code language="properties"}}
802 SERVERURL=http://localhost:8080
803 FORCESERVERURL=true
804 {{/code}}
805
806 Et un fichier **ddenterpriseapi.properties **:
807
808 {{code language="properties"}}
809 AppDataPath=/path/to/digdash_appdata
810 {{/code}}
811
812 (% class="box errormessage" %)
813 (((
814 Important : Le caractère anti-slash « \ » doit être doublé dans le fichier .properties. Exemple : //AppDataPath=C:~\~\path~\~\to~\~\digdash_data//
815 )))
816
817 Il y a deux manières existantes pour que ces fichiers soient pris en compte au lancement de tomcat :
818
819 * Implicite : Les fichiers **.properties** doivent être nommés de la même manière que les web application qu’ils concernent (Ex. **ddenterpriseapi.properties**, **digdash_dashboard.properties** ou **adswrapper.properties**). Ces fichiers doivent être placés dans le répertoire de travail de tomcat (qui dépend de votre installation tomcat)
820 * Explicite : La ligne de commande de tomcat doit contenir les paramètres :(((
821 {{code language="properties"}}
822 -Dddenterpriseapi.properties.path="/path/to/ddenterpriseapi.properties"
823 -Ddigdash_dashboard.properties.path="/path/to/digdash_dashboard.properties"
824 -Dadswrapper.properties.path="/path/to/adswrapper.properties"
825 -Dadminconsole.properties.path="/path/to/adminconsole.properties"
826 {{/code}}
827 )))Spécifier les paramètres de journalisation (//logging//) log4j.properties :
828
829 Les paramètres de //logging// sont définis dans un fichier **log4j.properties** disponible dans chaque application web déployée.
830
831 Nous avons ajouté des options sur la ligne de commande de tomcat pour permettre de spécifier des fichiers de paramétrage de //logging// externalisés :
832
833 {{code language="properties"}}
834 -Dddenterpriseapi.ddlog4j.properties.path="/path/to/log4j.properties"
835 -Ddigdash_dashboard.ddlog4j.properties.path="/path/to/log4j.properties"
836 -Dadswrapper.ddlog4j.properties.path="/path/to/log4j.properties"
837 {{/code}}
838
839 Vous pouvez aussi spécifier l’emplacement du fichier de log (global) sans avoir besoin de spécifier un fichier log4j.properties :
840
841 {{code language="properties"}}
842 -Dlog4j.appender.R.File="/home/ddapi.log"
843 {{/code}}
844
845 == Paramètres du Studio (JNLP + stand alone) ==
846
847 Le Studio DigDash Enterprise a aussi quelques paramètres optionnels spécifiés dans un fichier **adminconsole.properties** à placer au même endroit que les autres fichiers //properties// de DigDash Enterprise, ou à spécifier dans la ligne de commande Tomcat :
848
849 {{code language="properties"}}
850 -Dadminconsole.properties.path="/path/to/adminconsole.properties"
851 {{/code}}
852
853
854 Liste des paramètres :
855
856 * //Nom// : **ddserver**
857 //Valeur// : URL du serveur DigDash Enterprise (défaut : vide)
858 //Description// : Spécifie l’URL du serveur auquel le Studio se connectera. Si non spécifié, le Studio utilisera le serveur de l’URL du fichier JNLP.
859 * //Nom// : **domain**
860 //Valeur// : Nom du domaine DigDash Enterprise
861 //Description// : Spécifie le nom du domaine DigDash Enterprise auquel le Studio se connectera. Si non spécifié, le Studio utilisera le domaine spécifié dans la page d’accueil de DigDash Enterprise.
862 * //Nom// : **forceServerDomain**
863 //Valeur// : Booléen (défaut : false)
864 //Description// : Indique au Studio que l’URL du serveur et le domaine sont modifiables (false) ou non (true) via le bouton **Avancé** dans la fenêtre de login du Studio. Si ce paramètre est activé, il est conseillé de spécifier les paramètres **ddserver** et **domain**.
865 * //Nom// : **dashboard**
866 //Valeur// : Nom de l’application tableau de bord
867 //Description// : Permet de spécifier le nom du de l’application du tableau de bord. Si non spécifié, le Studio utilisera le nom d’application spécifié dans la page d’accueil de DigDash Enterprise, par exemple « digdash_dashboard ».
868 * //Nom// : **authMode**
869 //Valeur// : Mode d’authentification du Studio (défaut : « default »)
870 //Description// : Mode d’authentification spécifique du Studio. Il faut que le serveur DigDash Enterprise reflète un mode d’authentification compatible (variable **authMethod** dans la configuration du serveur) : Consulter les documentations des add-ons liés à l’authentification et au SSO. Les valeurs possibles sont : « default », « NTUser », « NTUserOrLDAP » et « NTUserOrLDAP,loginForm ».
871 * //Nom// : **sslNoPathCheck**
872 //Valeur// : Booléen (défaut : false)
873 //Description// : Utilisé dans le cadre d’une connexion HTTPS. Indique au Studio de ne pas vérifier le chemin de certification du certificat de sécurité. Utilisé pour tester une configuration SSL avec un certificat auto-signé.// Ce setting n’est pas conseillé en production.//
874 * //Nom// : **sslNoHostNameCheck**
875 //Valeur// : Booléen (défaut : false)
876 //Description// : Utilisé dans le cadre d’une connexion HTTPS. Indique au Studio de ne pas vérifier le nom de domaine Internet. Utilisé pour tester une configuration SSL avec un certificat auto-signé.// Ce setting n’est pas conseillé en production.//
877
878 * //Nom// : **maxHeapSize**
879 //Valeur// : Quantité mémoire (défaut : en fonction de la JVM du poste client)
880 //Description// : Spécifie la quantité de mémoire du poste client allouée au Studio. La syntaxe est <quantité><unité>, où l’unité est une lettre « m » (mégaoctets) ou « g » (gigaoctets). Exemple : //maxHeapSize=2048m//
881
882 (% class="box errormessage" %)
883 (((
884 Important : Il est préférable de ne mettre dans le fichier adminconsole.properties que les paramètres dont vous voulez spécifier des valeurs différentes des valeurs par défaut.
885 )))
886
887 == Dossiers de données DigDash Enterprise ==
888
889 DigDash Enterprise stocke les données dans différents dossiers. Ce chapitre résume ces dossiers et liste les moyens de les modifier.
890
891 === Données de configuration ===
892
893 //Localisation (par défaut)// : Dossier « Application Data » de l’utilisateur qui lance Tomcat (Windows), ou dossier de l’utilisateur (linux).
894
895 //Contenu// : Sous-dossiers contenant les modèles de données, tableaux de bords, portefeuilles de flux, formats, formules, scripts, styles, chaînes de connexions, etc :
896
897 * config : données de configuration communes, données de configuration des rôles, sauvegardes, et dossiers web customisés
898 * datasources : fichiers du serveur de document par défaut
899 * **server : **données de configuration des utilisateurs : portefeuille, modèle de données et tableaux de bord personnels, et serveur de documents personnalisé
900
901 //Modification// : **web.xml** (ddenterpriseapi), **ddenterpriseapi.properties**, **setenv.bat** ou **ligne de commande Tomcat**
902
903 (% class="box infomessage" %)
904 (((
905 Note : La volumétrie des données générées peut-être importante notamment à cause des sous-dossiers **cubes** et **history**. Il est conseillé de placer ce dossier sur un disque disposant d’un quota d’espace important.
906 )))
907
908 === Données générées ===
909
910 //Localisation// : Sous dossiers **cubes** et **history** du dossier de **données de configuration**.
911
912 //Contenu// : Cubes, historiques de flux :
913
914 * **cubes **: sous-dossiers des cubes générés (un par modèle de données).
915 * **history **: historique de tous flux, fichiers javascripts générés (modèle de données, vues de flux).
916
917 //Modification// : Impossible directement. Il faut modifier la localisation du dossier parent (**Données de configuration**), ou créer des liens.
918
919 (% class="box errormessage" %)
920 (((
921 Important : La volumétrie des données générées peut-être importante. Il est conseillé de placer le dossier parent (**Données de configuration**) sur un disque disposant d’un quota d’espace important.
922 )))
923
924 (% class="box infomessage" %)
925 (((
926 Note : Les dossiers **cubes** et **history** peuvent être supprimés pour nettoyage (serveur Tomcat stoppé). Ils seront recréés et les données rafraîchies à nouveau par l’ordonnanceur, ou par l’envoi d’un événement de rafraîchissement.
927 )))
928
929 === Données LDAP ===
930
931 //Localisation (par défaut)// : répertoire de travail de Tomcat (« workdir »).
932
933 //Contenu// : Fichiers de la partition LDAP contenant les définitions des utilisateurs, des rôles et des droits DigDash
934
935 //Modification// : **web.xml** (adswrapper), **adswrapper.properties** (voir le chapitre V.2) ou **ligne de commande Tomcat**
936
937 * **web.xml** : voir chapitre V.2
938 * **adswrapper.properties** : voir chapitre V.2
939 * **Ligne de commande Tomcat** : (((
940 {{code language="properties"}}
941 -Dads.instance.name="/path/to/ldapdigdash"
942 {{/code}}
943 )))
944
945 === Base de données DDAudit ===
946
947 Localisation (par défaut) :
948
949 //Contenu// : Fichier de base de données (H2) contenant les tables des données DDAudit.
950
951 //Modification// : **web.xml** (ddenterpriseapi), **ddenterpriseapi.properties** ou **ligne de commande Tomcat** (Voir également la documentation de déploiement DDAudit)
952
953 * **web.xml** (ddenterpriseapi) :(((
954 {{code language="xml"}}
955 <context-param>
956 <param-name>audit.db.url</param-name>
957 <param-value>jdbc:h2:/path/to/DDAudit_${server.DomainName};AUTO_SERVER=TRUE</param-value>
958 </context-param>
959 {{/code}}
960 )))
961 * **ddenterpriseapi.properties** :
962
963 * **Ligne de commande Tomcat** :
964
965 Fichiers de journalisation (log)
966
967 //Localisation (par défaut)// : Fichier de log des modules de DigDash Enterprise (ddenterpriseapi, digdash_dashboard, adswrapper). Le nom est ddenterpriseapi.log par défaut.
968
969 //Contenu// : log applicatif
970
971 //Modification// : log4j.properties (toutes les webapps) ou ligne de commande Tomcat (voir chapitre V.5)
972
973 (% class="box infomessage" %)
974 (((
975 Note :Éditer le fichier log4j.properties permet aussi de changer le format des logs.
976 )))