Débogage des Installations de GeoNode¶
Il existe plusieurs mécanismes pour le de débogage des installations de GeoNode, les plus communs sont abordés dans les sections suivantes.
Visualisation des journaux¶
Il existe plusieurs types de journaux dans GeoNode, la plupart d’entre eux se trouvent dans /var/log/geonode/
et sera expliqué ci-dessous par ordre de pertinence :
GeoNode main log: Ceci est la sortie de l’application Django généré par Apache. Elle peut contenir des informations détaillées sur les téléchargements et les problèmes de haut niveau.
L’emplacement par défaut est
/var/log/geonode/apache.log
ou/var/log/apache2/error.log
.Il est fixé à un niveau très faible (pas beaucoup d’informations est enregistré) par défaut, mais il peut être augmentée en configurant le niveau d’enregistrement à
DEBUG
dans/etc/geonode/local_settings.py
.
Journal de GeoServer: il contient la plupart des informations liées à des problèmes de données, de rendu et d’erreurs de style.
Celui-ci peut être consulté à
GEOSERVER_DATA_DIR/logs/geoserver.log
, qui est habituellement:/var/lib/tomcat7/webapps/geoserver/data/logs/geoserver.log
ou/var/lib/geoserver/geonode-data/logs/geoserver.log
.Il peut également être un lien symbolique à
/var/log/geonode/geoserver.log
.Journaux de tomcat: journaux Tomcat peut indiquer des problèmes de chargement GeoServer.
Ils sont à
/var/lib/tomcat7/logs/catalina.out
ou/var/lib/tomcat/geoserver/logs/catalina.out
.Journaux de PostgreSQL: PostgreSQL est accessible par GeoServer et Django, donc informations relatives aux erreurs qui sont très difficiles à déboguer peuvent être trouvées en regardant journaux de PostgreSQL.
Ils sont situés à
/var/log/postgresql/postgresql-$(psql_version)-main.log
où $(psql_version) dépend de votre installation locale.
Activation du mode DEBUG¶
Django peut être réglé pour revenir exceptions correctement formatées qui sont utiles pour le débogage au lieu de générique 500 errors
.
Cette option est activée par la mise DEBUG=True
in /home/geonode/geonode/geonode/local_settings.py
(ou /etc/geonode/local_settings.py
si GeoNode a été installé en utilisant apt-get).
Après l’activation du DEBUG, le serveur Apache doit être redémarré pour que les modifications être ramassés. Dans Ubuntu:
service apache2 restart
Autres trucs et astuces¶
Modification de GeoServer sortie de stratégie¶
Jusqu’à la version 1.1, GeoNode utilisée par défaut de la stratégie de sortie SPEED
de GeoServer, cela signifie que des messages d’erreur appropriée ont été sacrifiés pour la performance. Malheureusement, cela a provoqué beaucoup d’erreurs à masquer au format XML parsing des erreurs lorsque les couches ne sont pas correctement configurés.
Il est recommandé de vérifier que la stratégie de sortie est réglée au moins sur PARTIAL_BUFFER2
(or a safer one, e.g. ``FILE``) à haute valeur pour la taille du tampon. Plus d’informations sur les différentes stratégies et le performances vs rectitude compromis sont disponibles dans le fichier web.xml de GeoServer.
L’emplacement typique du fichier qui doit être modifié est /var/lib/tomcat7/webapps/geoserver/WEB-INF/web.xml
comme indiqué ci-dessous:
<context-param>
<param-name>serviceStrategy</param-name>
<param-value>FILE</param-value>
</context-param>
Ajouter la barre d’outils de débogage de Django¶
Avertissement
Le module de la barre d’outils déboguer must être handicapée whe exécutant le serveur de production (avec Apache2 HTTPD serveur WSGI)
La barre d’outils de débogage de django offre beaucoup d’informations sur la façon dont la page que vous voyez est créée et utilisée. Depuis les coups de base de données pour les points de vue concernés. Il s’agit d’un ensemble configurable de panneaux qui s’affichent diverses informations de débogage sur l’actuelle demande/réponse et lorsque vous cliquez dessus, affiche plus de détails sur le contenu du panneau.
Pour l’installer:
$ pip install django-debug-toolbar
Puis modifiez vos paramètres
/home/geonode/geonode/geonode/settings.py
(ou/etc/geonode/settings.py
si GeoNode a été installé en utilisant apt-get) et ajoutez le code suivant à la fin du fichier:#debug_toolbar settings if DEBUG: INTERNAL_IPS = ('127.0.0.1',) MIDDLEWARE_CLASSES += ( 'debug_toolbar.middleware.DebugToolbarMiddleware', ) INSTALLED_APPS += ( 'debug_toolbar', ) DEBUG_TOOLBAR_PANELS = [ 'debug_toolbar.panels.versions.VersionsPanel', 'debug_toolbar.panels.timer.TimerPanel', 'debug_toolbar.panels.settings.SettingsPanel', 'debug_toolbar.panels.headers.HeadersPanel', 'debug_toolbar.panels.request.RequestPanel', 'debug_toolbar.panels.sql.SQLPanel', 'debug_toolbar.panels.staticfiles.StaticFilesPanel', 'debug_toolbar.panels.templates.TemplatesPanel', 'debug_toolbar.panels.cache.CachePanel', 'debug_toolbar.panels.signals.SignalsPanel', 'debug_toolbar.panels.logging.LoggingPanel', 'debug_toolbar.panels.redirects.RedirectsPanel', ] DEBUG_TOOLBAR_CONFIG = { 'INTERCEPT_REDIRECTS': False, }
Arrêtez Apache et démarrez le serveur en Development Mode:
$ service apache2 stop $ python manage.py runserver
Rediriger le navigateur de http://localhost:8000. Vous devriez être capable de voir le panneau Debug sur la droite de l’écran.
DJango Debug Toolbar Enabled In Devel Mode
- Plus: http://geoserver.org
Pour plus d’informations configurer et personnaliser les panneaux lire les docs officiels ici