| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| serveurs:installation:web-srv:docker-glitchtip [2023/07/07 15:32] – [Créer un nouveau projet de surveillance sur GlitchTip] jpmilcent | serveurs:installation:web-srv:docker-glitchtip [2025/02/18 11:58] (Version actuelle) – [Mise à jour de Glitchtip] jpmilcent |
|---|
| * Il est embarqué dans un container //Docker// et fait partie de la //stack// //app-monitor//. | * Il est embarqué dans un container //Docker// et fait partie de la //stack// //app-monitor//. |
| * Le serveur //bkp-srv// devrait utiliser un container //nginx-proxy// comme serveur web pour tous les outils hébergés dessus. | * Le serveur //bkp-srv// devrait utiliser un container //nginx-proxy// comme serveur web pour tous les outils hébergés dessus. |
| * //GlitchTip// est un outil plus simple //Sentry// et demandant moins de ressource. Il se base sur le SDK de Sentry. Il est donc parfaitement compatible avec la méthode d'installation de Sentry pour GeoNature. | * //GlitchTip// est un outil plus simple que //Sentry// et demandant moins de ressource. Il se base sur le SDK de Sentry. Il est donc parfaitement compatible avec la méthode d'installation de //Sentry// pour //GeoNature//. |
| |
| **Ressources** : | **Ressources** : |
| * Vérifier que vous accédez à l'interface de connexion : https://app-monitor.<domaine-sino> | * Vérifier que vous accédez à l'interface de connexion : https://app-monitor.<domaine-sino> |
| * Si tout semble fonctionnel, l'arrêter et le relancer en tant que service : ''CTRL+C'' puis <code bash>docker compose up -d</code> | * Si tout semble fonctionnel, l'arrêter et le relancer en tant que service : ''CTRL+C'' puis <code bash>docker compose up -d</code> |
| * Appliquer les migrations de l'outil : <code bash>docker compose run --rm app-monitor-migrate ./manage.py migrate</code> | |
| * Créer un super utilisateur : <code bash>docker compose run --rm app-monitor-migrate ./manage.py createsuperuser</code> | * Créer un super utilisateur : <code bash>docker compose run --rm app-monitor-migrate ./manage.py createsuperuser</code> |
| * Utiliser l'email de l'admin système | * Utiliser l'email de l'admin système |
| * Stocker le mot de passe dans Keepass | * Stocker le mot de passe dans Keepass |
| |
| | ===== Mise à jour de Glitchtip ===== |
| | * Mettre à jour les version de l'outil dans le fichier ''docker-compose.yml'' puis le relancer |
| | * Appliquer les migrations de l'outil : <code bash>docker compose run --rm app-monitor-migrate ./manage.py migrate</code> |
| | * En cas d'erreur <code>Error response from daemon: manifest for glitchtip/glitchtip:v4.O.6 not found: manifest unknown: manifest unknown |
| | </code>, remplacer le numéro de version (ici ''v4.0.6'') de l'image par ''latest'' pour le service ''app-monitor-migrate''. |
| | * Si cela ne fonctionne pas, il est aussi possible de se connecter sur le service ''app-monitor-web'' avec : <code bash>docker exec -it app-monitor-web /bin/bash</code> |
| | * Lancer la migration avec : <code bash>./manage.py migrate</code> |
| | * En cas d'erreur <code>django.db.utils.ProgrammingError: relation "performance_transactionevent" already exists</code> : |
| | * Lancer la commande :<code>./manage.py migrate --fake-initial</code> |
| | * Tenter la migration en tant que root : <code>docker exec --user root -it app-monitor-web /bin/bash</code> |
| | * Lancer la commande : <code>./manage.py migrate</code> |
| | * Mettre à jour les fichiers statics (en tant que root) : <code>docker exec --user root -it app-monitor-web /bin/bash</code> |
| | * Lancer la commande : <code>./manage.py collectstatic</code> |
| ===== Créer un nouveau projet de surveillance sur GlitchTip ===== | ===== Créer un nouveau projet de surveillance sur GlitchTip ===== |
| |
| * Team : Equipe-SINP | * Team : Equipe-SINP |
| * Copier le DSN qui s'affiche sur la droite de l'interface du nouveau projet. | * Copier le DSN qui s'affiche sur la droite de l'interface du nouveau projet. |
| * Se rendre sur le servuer //web-srv// en tant que //geonat// : <code bash>ssh geonat@web-<region>-sinp </code> | * Se rendre sur le serveur //web-srv// en tant que //geonat// : <code bash>ssh geonat@web-<region>-sinp </code> |
| | * Activer le venv de GeoNature : ''source ~/geonature/backend/venv/bin/activate'' |
| | * Installer le paquet Python Sentry SDK pour Flask : ''%%pip install --upgrade sentry-sdk[flask]%%'' |
| | * Désactiver le venv de GeoNature : ''deactivate'' |
| * Éditer le fichier de configuration de GeoNature : <code bash>vi ~/geonature/config/geonature_config.toml</code> | * Éditer le fichier de configuration de GeoNature : <code bash>vi ~/geonature/config/geonature_config.toml</code> |
| * Ajouter une entrée au début du fichier : <code toml># Set Sentry DSN | * Ajouter une entrée au début du fichier : <code toml># Set Sentry DSN |
| * Redémarrer GeoNature : <code bash> sudo systemctl restart geonature </code> | * Redémarrer GeoNature : <code bash> sudo systemctl restart geonature </code> |
| * Générer une erreur pour tester le fonction en vous rendant dans un navigateur sur l'URL suivante : ''%%https://geonature.<domaine-sinp>/api/gn_commons/debug-glitchtip%%'' | * Générer une erreur pour tester le fonction en vous rendant dans un navigateur sur l'URL suivante : ''%%https://geonature.<domaine-sinp>/api/gn_commons/debug-glitchtip%%'' |
| * Si tout se passe bien, vous devriez voir apparaître l'erreur dans l'interface de //GlitchTip// au niveau du projet créé précédement. | * Si tout se passe bien, vous devriez voir apparaître l'erreur dans l'interface de //GlitchTip// au niveau du projet créé précédemment. |
| | * Pensez à supprimer le code ajouté à GeoNature ayant servi à tester la gestion d'erreur avec Glitchtip |
| | * En cas de problème : |
| | * Redémarrer GeoNature : <code bash>systemctl restart geonature</code> |
| | * Redémarrer la stack //app-monitor// : <code bash>docker compose down ; docker compose up -d</code> |
| | * A priori, un second redémarrage résoud l'erreur ''[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate'' |
| | * Vérifier les log des containers de la stack //app-monitor// sur : ''%%https://manager.<domaine-sinp>/%%'' |
| |