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$(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
  1. 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,
        }
    
  2. Arrêtez Apache et démarrez le serveur en Development Mode:

    $ service apache2 stop
    $ python manage.py runserver
    
  3. Rediriger le navigateur de http://localhost:8000. Vous devriez être capable de voir le panneau Debug sur la droite de l’écran.

    ../../_images/django_debug_toolbar.png

    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

http://django-debug-toolbar.readthedocs.org/en/latest/