Nicht die Funktion syslogSchreib in das Systemprotokoll? (Es sei denn, Sie sprechen über die untergeordnete Ebene für den Zugriff auf den Kernel-Nachrichtenringpuffer, aber ich bezweifle, dass dies urleine ist int.)
Cascabel
2
Dieses Q sollte auf unix.SE.com migriert werden, nicht sicher, ob es sich lohnt, es für die Aufmerksamkeit des Mods zu markieren (ich habe es markiert).
@kern: Welche Linux Distribution und Version benutzt du?
NPE
6
@kern: Überprüfen Sie den Inhalt Ihrer/etc/syslog.conf
NPE
26
tail -f /var/log/syslogist wirklich schön, weil es die neueste Ausgabe zeigt, wenn es in das Syslog geht. Dies kann nützlich sein, wenn Sie versuchen, Probleme live zu beheben, anstatt sich etwas anzusehen, das ausschließlich in der Vergangenheit liegt.
counterbeing
19
Es ist eigentlich /etc/rsyslog.conf für CentOs
Roman Goyenko
1
@ArunprasadRajkumar Der andere Weg wäre zu vermeiden, Nachrichten zu protokollieren, die von normalen Benutzern in Syslog gelesen werden sollen
Dmitry Grigoryev
41
Auf Fedora 19 scheint die Antwort zu sein /var/log/messages. Überprüfen /etc/rsyslog.confSie jedoch , ob es geändert wurde.
Ich habe es auf openSUSE überprüft und festgestellt, dass es auch für es gilt. Danke für das Teilen!
Silvioprog
24
Standardmäßig ist es im Systemprotokoll unter angemeldet /var/log/syslog, sodass es gelesen werden kann von:
tail -f /var/log/syslog
Wenn die Datei nicht vorhanden ist, überprüfen Sie, ob /etc/syslog.confdie Konfigurationsdatei für syslogd angezeigt wird. Beachten Sie, dass die Konfigurationsdatei unterschiedlich sein kann. Überprüfen Sie daher den laufenden Prozess, wenn eine andere Datei verwendet wird:
Hinweis: In einigen Distributionen (z. B. Knoppix) können alle protokollierten Nachrichten an ein anderes Terminal gesendet werden (z. B. /dev/tty12). Um darauf zuzugreifen tty12, drücken Sie z. B. Control+ Alt+ F12.
Sie können auch das lsofTool verwenden, um herauszufinden, welche Protokolldatei der syslogdProzess verwendet, z
sudo lsof -p $(pgrep syslog) | grep log$
Um die Testnachricht an syslogd in der Shell zu senden, können Sie Folgendes versuchen:
echotest | logger
Verwenden Sie zur Fehlerbehebung ein Trace-Tool ( straceunter Linux, dtrussunter Unix), z.
Zum Beispiel, um Syslog der Konsole anzuzeigen: journalctl -t <syslog-ident>Wo <syslog-ident>ist die Identität, die Sie der Funktion openlogzum Initialisieren von Syslog gegeben haben?
syslog
Schreib in das Systemprotokoll? (Es sei denn, Sie sprechen über die untergeordnete Ebene für den Zugriff auf den Kernel-Nachrichtenringpuffer, aber ich bezweifle, dass diesurl
eine istint
.)Antworten:
Wie wäre es
less /var/log/syslog
?quelle
/etc/syslog.conf
tail -f /var/log/syslog
ist wirklich schön, weil es die neueste Ausgabe zeigt, wenn es in das Syslog geht. Dies kann nützlich sein, wenn Sie versuchen, Probleme live zu beheben, anstatt sich etwas anzusehen, das ausschließlich in der Vergangenheit liegt.Auf Fedora 19 scheint die Antwort zu sein
/var/log/messages
. Überprüfen/etc/rsyslog.conf
Sie jedoch , ob es geändert wurde.quelle
Standardmäßig ist es im Systemprotokoll unter angemeldet
/var/log/syslog
, sodass es gelesen werden kann von:tail -f /var/log/syslog
Wenn die Datei nicht vorhanden ist, überprüfen Sie, ob
/etc/syslog.conf
die Konfigurationsdatei für syslogd angezeigt wird. Beachten Sie, dass die Konfigurationsdatei unterschiedlich sein kann. Überprüfen Sie daher den laufenden Prozess, wenn eine andere Datei verwendet wird:# ps wuax | grep syslog root /sbin/syslogd -f /etc/syslog-knoppix.conf
Hinweis: In einigen Distributionen (z. B. Knoppix) können alle protokollierten Nachrichten an ein anderes Terminal gesendet werden (z. B.
/dev/tty12
). Um darauf zuzugreifentty12
, drücken Sie z. B. Control+ Alt+ F12.Sie können auch das
lsof
Tool verwenden, um herauszufinden, welche Protokolldatei dersyslogd
Prozess verwendet, zsudo lsof -p $(pgrep syslog) | grep log$
Um die Testnachricht an syslogd in der Shell zu senden, können Sie Folgendes versuchen:
echo test | logger
Verwenden Sie zur Fehlerbehebung ein Trace-Tool (
strace
unter Linux,dtruss
unter Unix), z.quelle
Ein sehr cooler Util ist
journalctl
.Zum Beispiel, um Syslog der Konsole anzuzeigen:
journalctl -t <syslog-ident>
Wo<syslog-ident>
ist die Identität, die Sie der Funktionopenlog
zum Initialisieren von Syslog gegeben haben?quelle
tail -f /var/log/syslog | grep process_name
Woprocess_name
ist der Name des Prozesses, an dem wir interessiert sind?quelle
Wenn Sie Vim mögen, verfügt es über eine integrierte Syntaxhervorhebung für die Syslog-Datei, z. B. werden Fehlermeldungen rot hervorgehoben.
vi +'syntax on' /var/log/syslog
quelle
auf dem Asus-Router könnte dies über erfolgen
:/bin# busybox
Es gibt auch andere Befehle im Zusammenhang mit.
quelle