Fehleranalyse und Debugging
Im Folgenden wird das Vorgehen zur Identifizierung von Systemproblemen beschrieben.
- Laufen Arbeiten an anderen erforderlichen Systemen oder Infrastruktur parallel? Z.B. Netz, Storage, VM oder IDM
- Server-Überwachung checken:
- System überlastet? Storage voll gelaufen? CPU-Last?
- Webserver + DB überprüfen
- Läuft der Webserver?
- Ist genügend Speicherplatz frei?
df -h - Läuft die Datenbank und hat genügend Speicherplatz?
- Was wurde zuletzt geändert; mögliche Auslöser für Probleme? Changelog sichten.
- Cronjobs überprüfen
- Läuft der Linux-cron korrekt?
- Werden die "Geplanten Vorgänge" sauber abgearbeitet?
/admin/tool/task/scheduledtasks.php - Cron oder einzelne Tasks ggf. manuell ausführen?
- Log-Dateien analysieren + Moodle-Konfiguration
- Siehe auch Moodle Webserver
- Alle Systemklicks nachvollziehbar unter:
/report/log - Konfigurationsänderungen:
/report/configlog/index.php - Login via Debug-user ($CFG->debugusers = '2';), der für alle Aktionen im "Developer-Modus" agiert und Fehlermeldungen direkt im Browser anzeigt
- Moodle-Dateien
- Wurden Plugins aktualisiert?
- Haben die Moodle-Dateien die erforderlichen Rechte?
- Viren-Scanner
- Blockiert der Viren-Scanner etwas?
- Gibt es massive Performance-Beeinträchtigungen durch Viren-Scanner?
- Netzwerk + Firewall
- Sind alle benötigten Freigaben erteilt auf Webservern und ggf. Loadbalancer?
- IPv6/v4; funktioniert beides? Z.B. testen mit curl -4 https://moodle-an-hochschulen.de/
- Netzwerkverkehr analysieren, z.B. via
tcpdump -i any -nn host [Moodle-Server]
tcpdump-Erklärungen: https://xinux.net/index.php/Tcpdump_grundlagen + https://geekflare.com/tcpdump-examples/
in eine Datei schreiben:-w [Dateiname]
Debug-Modus aktivieren mittels config.php
//=========================================================================
// 7. SETTINGS FOR DEVELOPMENT SERVERS - not intended for production use!!!
//=========================================================================
//
// Force a debugging mode regardless the settings in the site administration
@error_reporting(E_ALL | E_STRICT); // NOT FOR PRODUCTION SERVERS!
@ini_set('display_errors', '1'); // NOT FOR PRODUCTION SERVERS!
$CFG->debug = (E_ALL | E_STRICT); // === DEBUG_DEVELOPER - NOT FOR PRODUCTION SERVERS!
$CFG->debugdisplay = 1; // NOT FOR PRODUCTION SERVERS!
siehe auch: https://docs.moodle.org/en/Debugging#In_config.php
Weiterführendes
Debugging allgemein: https://docs.moodle.org/en/Debugging
Debug-Informationen konfigurieren: https://docs.moodle.org/en/Debugging#Debug_messages
Autor: Klaus Steitz, Technische Universität Darmstadt
Keine Kommentare vorhanden
Keine Kommentare vorhanden