Administration de beCPG sous Docker¶
- Table of contents
- Administration de beCPG sous Docker
- Remarques
Installation¶
L’installation est constitué d’images docker qui sont construites et distribué par beCPG.
"Docker Compose" est utilisé pour débuter le téléchargement et la mise à jour de ces images.
Sur la machine Hôte, sous /opt/becpg-srv-instances, vous trouverez le dossier d’installation de beCPG. Les fichiers important sont :
/opt/becpg-srv-instances/inst1/.env
/opt/becpg-srv-instances/inst1/README.md
/opt/becpg-srv-instances/inst1/docker-compose.override.yml
/opt/becpg-srv-instances/inst1/docker-compose.yml
/opt/becpg-srv-instances/inst1/purge-logs.sh
/opt/becpg-srv-instances/inst1/ssl/000-default.conf
/opt/becpg-srv-instances/inst1/taillogs.sh
/opt/becpg-srv-instances/inst1/reindex.sh
/opt/becpg-srv-instances/inst1/stats.sh
Configuration de beCPG¶
Une grande partie des configuration sont inclues dans les conteneurs. Cependant, , vuos pouvez surcharger la configuration par défaut en éditant le fichier docker-compose.override.yml.
Le nom du service peut être changé dans le fichier .env et devrait correspondre au DNS et au certificat SSL :
SERVICE_NAME=inst1.becpg.fr
Vous pouvez changer l’allocation mémoire pour les services sous :
vi /opt/becpg-srv-instances/inst1/docker-compose.override.yml
CATALINA_OPTS : * -Xmx6G to -Xmx8G for example
Configuration SSL¶
Les certificats SSL sont stockés sous /opt/becpg-srv-instances/inst1/ssl/, pour mettre à jour le certificat, vous n’avez qu’a remplacer le certificat avec votre nouveau certificat, de même nom et de redémarrer le service.
Dans certaines installations, les chemins des certificats SSL sont différents et peuvent être changés dans /opt/becpg-srv-instances/inst1/ssl/000-default.conf.
Étendre beCPG¶
En un 1er temps, créer un dossier config:
cd /opt/becpg-srv-instances/inst1
mkdir config
Ensuite éditer le fichier docker-compose.override.yml :
vi /opt/becpg-srv-instances/inst1/docker-compose.override.yml
Et ajouter la déclaration de volumes sous la section «becpg:» :
volumes:
- ./config/becpg-config-custom.xml:/usr/local/tomcat/shared/classes/alfresco/web-extension/becpg-config-custom.xml:ro
Créer votre fichier becpg-config-custom.xml
touch config/becpg-config-custom.xml
Puis placez-y dedans :
<alfresco-config>
<config evaluator="string-compare" condition="wizard" replace="true">
<!-- Your code -->
</config>
</alfresco-config>
Tous les fichiers de configuration peuvent être surchargé de cette manière. Le service à besoin d’être redémarré (docker-compose up -d) pour prendre en compte la nouvelle configuration.
Administration de l’application¶
Démarrer et arrêté le service beCPG :
cd /opt/becpg-srv-instances/inst1
docker-compose stop
docker-compose up -d
Ou :
cd /opt/becpg-srv-instances/inst1
docker-compose restart
Regarder dans les logs :
cd /opt/becpg-srv-instances/inst1
./taillogs.sh
Ou :
cd /opt/becpg-srv-instances/inst1
docker-compose logs -f -t --tail="100"
Ou vous pouvez afficher les logs d’un conteneur en utilisant :
docker-compose logs becpg-mail
La commande ci-dessus affichera les logs du conteneur becpg-mail.
Pour en savoir plus sur les logs, allez sur la documentation officiel
Des logs additionnels sont disponibles dans chaque conteneur dans /var/lib/docker/volumes/_logs/**.
Déploiement d’une nouvelle version de beCPG¶
cd /opt/becpg-srv-instances/inst1
docker-compose pull
docker-compose up -d
Monitoring de l’application¶
Si vous souhaitez surveiller l’application, les mesures importantes sont :- La taille du disque (df -h)
- La mémoire disponible sur le serveur (no swapping) (top)
- Java Heap Size et les erreurs de dépassement de mémoire (docker-compose logs)
Sous beCPG admin, vous avez également accès à l’utilisation de la mémoire JAVA et aux utilisateurs connectés.
URL : https://*{instance}*/share/page/console/admin-console/becpg-admin
{instance} est à remplacer par l’adresse du serveur.
Vous pouvez également utiliser les outils de support
URL : https://{instance}/alfresco/s/ootbee/admin/admin-performance
Sur le serveur, vous pouvez utiliser docker pour avoir l’utilisatoin mémoire de chaque conteneur.
cd /opt/becpg-srv-instances/inst1
./stats.sh
Vous pouvez aussi utiliser top.
Afficher l’espace disponible sur le système:¶
df -h
du -ms /var/lib/docker/volumes
Réindexer en cas d’un crach du moteur d’index¶
cd /opt/becpg-srv-instances/inst1
./reindex.sh
Attention: Cela peut prendre beaucoup de temps pour la réindexation. >24h!
Sauvegarde¶
La sauvegarde dans beCPG est entièrement automatisé via un daemon (programme tournant constamment sur le système).
La sauvegarde inclue:
- une sauvegarde de l’index de recherche.
- Une sauvegarde des données des Bases de données.
- Une sauvegarde des contenus et des réglages des données.
L’ordre de la sauvegarde est important. Par défaut, l’ordre est garantie par les scripts beCPG et est exécuté dans cet ordre:
- 1. 00:00 Statistics update (Cube OLAP)
- 2. 03:00 Creation of the search index backups
- 3. 03:30 Creation of the databases backups
- 4. 04:00 Backups of contents and setting
Récupération des données¶
La récupération du système est réaliser pendant que le système est éteint.
Arrêter le service¶
Sur le serveur beCPG:
docker stop inst1_becpg_1
docker stop inst1_solr_1
Copie des fichiers¶
Sur le serveur beCPG:
mv /var/lib/docker/volumes/inst1_becpg_data to /var/lib/docker/volumes/inst1_becpg_data_old
cp $BACKUP_DIR/inst1_becpg_data to /var/lib/docker/volumes/
En utilisant rsync:
rsync -P --exclude 'solr4Backup' --exclude 'lucene-indexes' --exclude 'backup-lucene-indexes' --exclude 'keystore' -r -a --delete -v $BACKUP_DIR/inst1_becpg_data/_data/ /var/lib/docker/volumes/inst1_becpg_data/_data/
Récupération des bases de données MySQL¶
Les sauvegardes MySQL sont situées sous:
$BACKUP_DIR/inst1_becpg_backups/_data/:- becpg-db
- olap-db
Sélectionnez la sauvegarde que vous voulez restaurer et décompresser la sauvegarde.
gunzip db_18_01_17.gz
gunzip becpg_olap_18_01_17.gz
Importer de vielles bases de données vers MySQL:
Pour la base de données principale:
echo "DROP DATABASE db;" | docker exec -i inst1_becpg-db_1 mysql -u root -pbecpg
echo "CREATE DATABASE db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;" | docker exec -i inst1_becpg-db_1 mysql -u root -pbecpg
docker exec -i inst1_becpg-db_1 mysql -u root -pbecpg db < $BACKUP
$BACKUP se réfère à db_18_01_17
Pour la base de données Olap :
echo "DROP DATABASE becpg_olap;" | docker exec -i inst1_olap-db_1 mysql -u root -pbecpg
echo "CREATE DATABASE becpg_olap DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;" | docker exec -i inst1_olap-db_1 mysql -u root -pbecpg
mysqldump --host=$DB_IP -u becpg -pbecpg becpg_olap < $BACKUP
$BACKUP se réfère à becpg_olap_18_01_17
Redémarrer le service¶
cd /opt/becpg-srv-instances/inst1
docker-compose -f docker-compose.yml -f docker-compose.prod.yml restart
Remarques¶
- Il est important de garder une sauvegarde de la Machine Virtuelle configurée.
- Cette documentation ne couvre pas la récupération ou l’installation sur une Machine Virtuelle.