
Ich habe die Anweisungen befolgt von: http://www.rsyslog.com/doc/debug.html
Ich habe folgendes eingetragen /etc/rsyslog.conf
:
$DebugLevel 2
$DebugFile /root/RSYSLOG.txt
dann versuche ich:
kill -USR1 `cat /var/run/syslogd.pid`
kill -USR2 `cat /var/run/syslogd.pid`
Es scheint, als gäbe es keins rsyslogd.conf
.
Ich überprüfe das RSYSLOG.txt
, es ist immer noch 0 Byte groß. Ich weiß nicht, was ich sonst tun soll.
Antwort1
Dieser Artikel soll zeigen, wie die Funktion „Debug on Demand“ in rsyslog funktioniert. Sie wurde mit rsyslog 6.1.0 (v6-Devel) auf Fedora 13 getestet und verifiziert (die Schritte können auf verschiedenen Betriebssystemen abweichen). Es wird vorausgesetzt, dass rsyslog bereits auf dem System funktioniert. Hinweise zur Installation und Konfiguration finden Sie in der Dokumentation. Debug on Demand ist seit Version 4.5.7 verfügbar.
Damit diese Option funktioniert, müssen wir sie zuerst aktivieren. Dies geschieht, indem wir sie aktivieren und einen Pfad für die Debug-Protokolldatei angeben. Öffnen Sie ein Terminal mit Root-Rechten und verwenden Sie die folgenden Befehle:
export RSYSLOG_DEBUG="DebugOnDemand NoStdOut"
export RSYSLOG_DEBUGLOG=/somepath/example.log
Die erste Option aktiviert das "Debug on demand" selbst ohne Standardausgabe. Dies ist notwendig, um es beim Starten des Dienstes deaktiviert zu haben. Die zweite Option gibt den Pfad und den Namen der Protokolldatei an.
Nun müssen wir den rsyslog-Dienst stoppen, bevor wir fertig sind. Verwenden Sie dazu den folgenden Befehl:
/etc/rc.d/init.d/rsyslog stop
Wir haben den Dienst jetzt gestoppt und müssen ihn erneut starten. In der aktuellen Konfiguration müssen wir rsyslog als Vordergrundanwendung starten. Da es viel einfacher ist, es auf diese Weise zu konfigurieren, muss rsyslog eine Vordergrundanwendung sein, damit „Debuggen bei Bedarf“ funktioniert, statt ein Hintergrunddienst. Starten Sie es erneut als Vordergrundanwendung mit dem folgenden Befehl:
rsyslogd -n
Öffnen Sie ein zweites Terminal (wieder mit Root), damit wir „Debug on demand“ aktivieren oder deaktivieren können. Verwenden Sie diesen Befehl:
kill -USR1 `cat /var/run/rsyslogd.pid`
Wenn Sie diesen Befehl einmal verwenden, wird der Debugmodus aktiviert. Wenn Sie ihn erneut verwenden, wird er deaktiviert. Beachten Sie, dass Sie unbedingt „-USR1“ benötigen, da sonst das rsyslog wirklich beendet wird. Achten Sie außerdem darauf, die Backticks zu verwenden. Diese sind wichtig.
Das ist im Grunde alles. Sie können jetzt Ihre „Debug on demand“-Protokolldateien überprüfen.
Antwort2
Ich habe versucht, die obige Debugging-Methode in der Datei zu verwenden, rsyslog.conf
habe aber nur Fehlermeldungen in den Protokollen erhalten, dass $DebugFile
usw. nicht als Befehl erkannt wurde.
Meine Lösung bestand darin, den für das On-Demand-Debugging beschriebenen Prozess zu befolgenHier.
Es ist etwas langatmig, aber zumindest hat es funktioniert.