From 6c97d87b7513848fc447c75a1fc62f3213bd4b81 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 28 Jun 2013 19:17:44 +0200 Subject: [debug] Added debug reporting script that will upload logs and system information --- .../debug/data/opt/openslx/bin/debug-report | 98 ++++++++++++++++++++++ remote/modules/debug/debug.conf | 13 ++- 2 files changed, 108 insertions(+), 3 deletions(-) create mode 100755 remote/modules/debug/data/opt/openslx/bin/debug-report (limited to 'remote/modules') diff --git a/remote/modules/debug/data/opt/openslx/bin/debug-report b/remote/modules/debug/data/opt/openslx/bin/debug-report new file mode 100755 index 00000000..52020783 --- /dev/null +++ b/remote/modules/debug/data/opt/openslx/bin/debug-report @@ -0,0 +1,98 @@ +#!/bin/bash + +TOOLS=" + journalctl + systemctl + loginctl + lspci + lsusb + lsmod + mount +" + +URL="http://132.230.8.113/error_report.php" + +if [ "$UID" != "0" ]; then + echo "Debug Reports können nur von root versendet werden" >&2 + exit 1 +fi + +if ! curl -H "Expect:" -f -s -S --connect-timeout 5 "$URL" > /dev/null; then + echo "Kann den Debug-Report-Server in Freiburg nicht erreichen. :-(" >&2 + exit 1 +fi + +rm -rf /tmp/debug-report +mkdir -p /tmp/debug-report/{static,generated} + +if [ ! -d /tmp/debug-report ]; then + echo "FEHLER: Konnte /tmp/debug-report nicht erstellen!" >&2 + exit 1 +fi + +cd /tmp/debug-report + +cat > err-desc < metadata +hwclock >> metadata +date >> metadata +for srv in 132.230.1.9 $SLX_NTP_SERVER 0.de.pool.ntp.org; do + ntpdate -u -q -p 2 -t 1 "$srv" >> metadata && break +done +echo -n "..." + +cp /opt/openslx/config /tmp/udhcpclog static/ 2> /dev/null +echo -n "." + +find /tmp/vmware* -name "*.log" -exec cp {} static/ \; 2> /dev/null +echo -n "." + +cp /var/log/Xorg.0.lo* static/ 2> /dev/null +cp /var/log/{auth.log,kdm.log,syslog,messages,user.log} static/ 2> /dev/null +cp /proc/cpuinfo static/ 2> /dev/null +echo -n "." + +for tool in $TOOLS; do + $tool > "generated/${tool}-out" 2> "generated/${tool}-err" + echo -n "." +done + +ip a > "generated/ip-a-out" 2> "generated/ip-a-err" +echo -n "." + +systemctl status > "generated/systemctl-status-out" 2> "generated/systemctl-status-err" +echo -n "." + +ps aux > "generated/ps-out" 2> "generated/ps-err" +echo -n "." + +echo "..fertig!" + +cd /tmp +rm -f error-report.tar.gz +echo -n "Packe Fehlerbericht ein..." +if ! tar czf error-report.tar.gz debug-report; then + echo "Fehler beim Packen des Berichts!" >&2 + exit 1 +fi +echo "....fertig!" + +echo -n "Lade Fehlerbericht hoch...." +if ! curl -H "Expect:" -f -s -S -F "file=@error-report.tar.gz;filename=report" "$URL" > /dev/null; then + echo "Fehler beim Hochladen des Fehlerberichts :-(" >&2 + exit 1 +fi + +echo "Fehlerbericht erfolgreich versendet!" + diff --git a/remote/modules/debug/debug.conf b/remote/modules/debug/debug.conf index 17b4ca60..a2db5dc0 100644 --- a/remote/modules/debug/debug.conf +++ b/remote/modules/debug/debug.conf @@ -1,4 +1,11 @@ -REQUIRED_BINARIES=" strace - ldd - setterm +REQUIRED_INSTALLED_PACKAGES=" + curl +" +REQUIRED_BINARIES=" + strace + ltrace + ldd + setterm + curl + nano " -- cgit v1.2.3-55-g7522