Registrierung von Ereignissen in Protokollen mit Syslogd und Klogd unter Linux

Die Verwaltungsaufgaben unter Linux sind in vielen Situationen komplex, da pro Sekunde eine Reihe von Prozessen , Diensten und Rollen ausgeführt werden. Dies muss zu Anmeldungen, zur Installation von Anwendungen und nicht zu allen Ereignissen hinzugefügt werden, die von den einzelnen Anwendungen in der Distribution registriert wurden geschafft Zum Glück für Administratoren und Kontroll- oder Prüfpersonal haben wir mehrere Befehle entwickelt, um die Verwaltung und Kontrolle von Systemereignissen zu vereinfachen. Daher konzentriert sich TechnoWikis auf zwei der wichtigsten Befehle für diesen Zweck. Syslog und Klogd.

Das Protokoll ähnelt einer Bitacora, in der Ereignisse, Fehler, Änderungen und Prozesse, die die Anwendungen oder das Betriebssystem generieren, registriert werden, um diesen Datensatz später zu lesen und festzustellen, welche Ereignisse aufgetreten sind , insbesondere im Falle von Fehlern oder Schwachstellen. Die Protokolldateien in einem Linux-System befinden sich im Verzeichnis / var / log. Das Linux-Protokollsystem wird von zwei Daemons verwaltet:

SYSLOGD
Generieren Sie Systemprotokolle. Syslogd wird beim Starten eines Linux-Systems automatisch ausgeführt und ist für das Speichern von Berichten über den Betrieb des Computers verantwortlich. Es empfängt Nachrichten von verschiedenen Teilen des Systems, des Kernels und der Anwendungen und speichert sie an verschiedenen Orten, sowohl lokal als auch remote, gemäß einem in der Konfigurationsdatei /etc/syslog.conf definierten Kriterium.

KLOGD
Generieren Sie die Protokolle des Kernels. klogd leitet Kernel-Protokollnachrichten an die Systemregistrierung weiter. Der Benutzer kann die Behandlung von Kernelnachrichten steuern, indem er die Konfigurationsdatei syslogd bearbeitet. Diese Klogd-Anwendungen sind besonders nützlich für Kernel-Entwickler.

1. Was es ist und wie Syslogd in Linux-Protokollen verwendet wird

Mal sehen, was es ist und wie man Syslogd benutzt

Was ist Syslogd?
Syslogd (Linux System Logging Utilities) ist ein Befehl, der uns eine Art Registrierung gibt, die von vielen modernen Programmen verwendet wird. Dank Syslogd enthält jede registrierte Nachricht mindestens eine Stunde und ein Feld von Der Hostname, der zu Überwachungsaufgaben führen kann, kann viel einfacher und leichter zu analysieren sein.

Der Syslogd-Befehl hat ein standardmäßiges BSD-Verhalten und die neuen Versionen von Syslogd interagieren transparent mit der in den Standardbibliotheken verfügbaren Syslog-Version. Wenn also eine mit den gemeinsam genutzten Standardbibliotheken verknüpfte Binärdatei nicht ordnungsgemäß funktioniert, stellt Syslogd die bereit Verhalten dieser Binärdatei.

Schritt 1

Die Hauptkonfigurationsdatei ist /etc/syslog.conf, und die Registrierung wird normalerweise mit Regeleinträgen angegeben. In jeder Zeile werden der Selektor (facility.priority) und die Aktion angegeben. Beachten Sie, dass moderne Linux-Distributionen den Syslogd-Befehl durch neue Syslog-Implementierungen wie rsyslog oder syslog-ng ersetzt haben. Wenn Sie Syslogd verwenden möchten, können Sie ihn mit dem folgenden Befehl installieren:

 apt installiere inetutils-syslogd 

1-Was-ist-und-wie-man-benutzt-Syslogd-in-records-Linux.png

Schritt 2

Dort müssen wir den Buchstaben S eingeben, um den Download und die Installation von Syslogd zu bestätigen. Nach der Installation können wir zu seiner Konfigurationsdatei gehen, die sich im folgenden Pfad befindet: /etc/syslog.conf:

 nano /etc/syslog.conf 

2-download-e-installation-von-Syslogd.png

Schritt 3

Dort finden wir alle Routen, auf denen Syslogd die Informationen erfasst. Die allgemeine Verwendungssyntax von Syslogd lautet wie folgt:

 syslogd [-a Socket] [-d] [-f Konfigurationsdatei] [-h] [-l Hostliste] [-m Intervall] [-n] [-p Socket] [-r] [-s Liste der Domäne] [-S] [-v] [-x] 
Schritt 4

Unter den verfügbaren Optionen haben wir:

Geben Sie zusätzliche Sockets an
Mit diesem Argument können wir die zusätzlichen Sockets angeben, die Syslogd abhören muss. Es wird verwendet, wenn ein Dämon in einer chroot () -Umgebung ausgeführt wird. Es können bis zu 19 zusätzliche Steckdosen verwendet werden.

 -eine Steckdose 

Aktivieren Sie den Debug-Modus
Dieses Argument aktiviert den Debug-Modus, der Syslog im Vordergrund hält und so viele Debug-Informationen in das aktuelle tty schreibt.

 -d 

Konfigurationsdatei
Dieses Argument gibt eine alternative Konfigurationsdatei anstelle der Standarddatei /etc/syslog.conf an.

 -f Konfigurationsdatei (Konfigurationsdatei) 

Blockieren Sie die Weiterleitung von Remote-Nachrichten
Dieser Parameter verhindert, dass Syslogd die von Remote-Hosts empfangenen Nachrichten weiterleitet.

 -h 

Definieren Sie den Netzwerknamen
Dank diesem Parameter können Sie einen Hostnamen angeben, der nur mit seinem einfachen Hostnamen und nicht mit dem FQDN registriert werden soll.

 -l Hostliste 

Zeitintervall definieren
Wenn Sie diesen Parameter verwenden, können Sie das zu verwendende Zeitintervall angeben. Standardmäßig beträgt der Wert 20 Minuten.

 -m Intervall 

Vermeiden Sie die Ausführung von Syslodg
Dieser Parameter verhindert, dass Syslogd im Hintergrund ausgeführt wird.

 -n 

Domain-Socket einstellen
Es ermöglicht uns, einen alternativen Unix-Domain-Socket anstelle von / dev / log anzugeben

 -p Socket 

Netzwerknachrichten zulassen
Mit dieser Option kann die Installation Nachrichten vom Netzwerk über einen Internetdomänen-Socket mit dem Syslog-Dienst empfangen.

 -r 

Definieren Sie den Domainnamen
Dieser Parameter gibt einen Domänennamen an, der vor der Anmeldung gelöscht werden muss.

 -s Domainliste 

Registrierung aktivieren
Aktiviert detaillierte Protokollierung,

 -S 

Aktuelle Version aktivieren
Zeigen Sie die aktuelle Version von Syslogd an.

 -v 

3-download-e-installation-von-Syslogd.png

Schritt 5

Wenn Sie eine der verfügbaren Optionen ausführen, sehen Sie alle Aufgaben, die intern ausgeführt werden: 4-aufgaben-die-von-nivel-interno.png-ausgeführt-werden

2. Signale in Syslogd Linux-Protokollen

Schritt 1

Syslogd ist in der Lage, auf eine Reihe von Signalen zu reagieren. Eine Option zum Senden eines Signals an Syslogd wird ausgeführt:

 töte -SIGNAL 'cat /var/run/syslogd.pid' 
Schritt 2

Bei der Ausführung dieses Signals kommen verschiedene Komponenten wie z. Somit ist Syslogd eine praktische Lösung zur Analyse von Linux-Ereignissen.

SIGHUP
Mit dieser Option kann Syslogd einen Neustart durchführen, bei dem alle geöffneten Dateien geschlossen werden, die Konfigurationsdatei erneut gelesen und die Syslog-Installation erneut gestartet wird.

SIGTERM
Der Dienst läuft ab.

SIGINT, SIGQUIT
Wenn das Debuggen aktiviert ist, werden diese ignoriert, andernfalls läuft Syslogd ab.

SIGUSR1
Aktivieren oder deaktivieren Sie das Debuggen.

SIGCHLD
Warten Sie auf die neuen Nachrichten.

3. Konfigurieren Sie die Syslogd Linux-Datei

Syslogd verwendet in seiner Konfigurationsdatei eine etwas andere Syntax als die traditionelle Datei der ursprünglichen BSD-Quellen. Die Konfiguration von syslogd erfolgt über die Datei /etc/syslogd.conf. Durch diese Datei wird festgelegt, wohin die verschiedenen Nachrichten geleitet werden sollen. Sie können Leerzeilen oder ganze Zeilen mit dem Zeichen “#” kommentieren

See also  Überwachen und zeichnen Sie Statistiken unserer Linux-Netzwerke

Damit Syslog Remoteverbindungen akzeptiert, müssen wir den Parameter -r hinzufügen

 SYSLOGD_OPTIONS = "- r -m 0" 

Normalerweise belegt syslogd den Port 514. Wir müssen überprüfen, dass die Firewall ihn nicht blockiert, um zu testen, auf welchem ​​Port er ausgeführt wird. Vom Terminal aus schreiben wir den folgenden Code

 grep syslog / etc / services 

Im Protokoll der Dienste in dieser Zeile können wir sehen, dass die Protokolle von “mail, cron, info” in die Verzeichnisnachrichten gehen

 * .info; mail.none; authpriv.none; cron.none / var / log / messages 

Versuchen wir, mit dem folgenden Befehl eine Nachricht an das gesamte Protokoll zu senden

 grep "Test message" / var / log / * 

In diesem Fall können wir sehen, dass mehrere Protokolle mit verweigerten Berechtigungen daher nicht geschrieben werden können.

8 log-denied-linux.png

Es müsste festgestellt werden, ob die Genehmigungen geändert werden müssen oder nicht. Das Protokoll verfügt über mehrere Nachrichtenprioritätsstufen (von der niedrigsten zur höchsten Priorität:

Protokolle für Fehler, Fehler und Warnungen
 Debug, Info, Hinweis, Warnung, Warnung, Fehler, Kritik, Warnung, Emerg und Panik 

Protokolle der Nachrichtentypen
Verschiedene Nachrichtenprotokolle

 auth, authpriv, cron, daemon, kern, lpr, mail, marke, neuigkeiten, sicherheit, syslog, benutzer, uucp 

Die wichtigsten sind

  • var / log / messages: Hier finden wir die Protokolle, die mit Prioritätsinformationen (Informationen), Hinweisen (Benachrichtigungen) oder Warnungen (Warnungen) eingehen.
  • /var/log/kern.log: Hier werden die von klogd generierten Kernel-Logs gespeichert.
  • /var/log/auth.log: In diesem Protokoll werden die Anmeldedaten im System, die Uhrzeit usw. aufgezeichnet. Fehlgeschlagene Versuche werden in Zeilen mit Informationen des ungültigen Schlüsseltyps oder einer ungültigen Anmeldung aufgezeichnet.
  • / var / log / dmesg : In dieser Datei werden die Informationen gespeichert, die der Kernel beim Systemstart generiert hat.
See also  Verwenden von Yeoman mit AngularJS

Diese Protokolldateien sammeln die ganze Zeit Informationen, so dass sie irgendwann viel Platz einnehmen können. Um dieses Problem zu lösen, können wir sie komprimieren oder eine Sicherungskopie erstellen, wenn sie wirklich erforderlich sind. Einige zu berücksichtigende Änderungen sind:

Platzhalter verwenden
Es wird als Platzhalter für alle vorherigen Prioritäten und Dienste verwendet, je nach Verwendung (vor oder nach dem Trennzeichen “.”).

 "*" (Stern) = 

Priorität nicht markieren
Zeigt an, dass für den Dienst der ausgewählten Leitung keine definierte Priorität vorhanden ist.

 "": (Weiß, Leerzeichen, Null) 

Wählen Sie verschiedene Dienste
Sie können damit mehrere Dienste mit derselben Prioritätsstufe in derselben Zeile angeben.

 "," (Komma) 

Steuern Sie verschiedene Nachrichten
Sie können die Nachrichten mehrerer Dienste und Prioritäten an denselben Empfänger richten.

 ";" (Semikolon) 

Wählen Sie die Nachrichtenpriorität
Es gibt uns die Möglichkeit, Nachrichten nur mit der genau angegebenen Priorität zu speichern.

 "=" (Gleich) 

4. Was es ist und wie man Klogd in Linux-Logs benutzt

Was ist Klogd?
Klogd (Kernel Log Daemon) ist ein System-Daemon, der entwickelt wurde, um Nachrichten vom Linux-Kernel abzufangen und aufzuzeichnen. Die Funktion des Klogd-Befehls konzentriert sich auf die Erfassung mehrerer Instanzen des Kernels, wie z. B. den Ursprung, die Priorisierung und die Auflösung der Kerneladressen.

In Linux-Umgebungen haben wir zwei Hauptquellen für Kernel-Registrierungsinformationen, wie z.

  • Das / proc-Dateisystem
  • Die Syscall-Schnittstelle (sys_syslog)

Der Befehl Klogd wurde entwickelt, um die bequemste Informationsquelle für die Bereitstellung von Informationen auszuwählen. Um dies zu erreichen, überprüfen Sie zunächst das Vorhandensein eines Dateisystems / procs, das gegebenenfalls mit der Datei / proc verbunden ist / kmsg wird als Kernel-Protokoll-Informationsquelle verwendet. Falls das proc-Dateisystem nicht angehängt ist, verwendet Klogd einen Systemaufruf, um Nachrichten vom Kernel abzurufen. Wenn die Nachrichten des Kernels über den syslogd-Daemon umgeleitet werden, kann der Klogd-Daemon ab Version 1.1 die Nachrichten des Kernels priorisieren. Diese Priorität liegt in einem Bereich <[0-7]> von Was ist die Priorität der Kernel-Nachricht als einzelne Ziffer in <> codiert.

Wenn eine Nachricht vom Kernel empfangen wird, liest der Klogd-Daemon die zugewiesene Prioritätsstufe und erteilt ihr die Prioritätsstufe basierend auf der Syslog-Nachricht. Mit Klogd ist es auch möglich, die Anzeige von Kernelnachrichten in der Systemkonsole zu ändern. In einem gemeinsamen Kernel ist die Standardprotokollierungsstufe der Konsole auf 7 festgelegt, dh alle Nachrichten mit einer niedrigeren Prioritätsstufe bis 7 (höchste Priorität) wird in der Konsole angezeigt. Nachrichten der Prioritätsstufe 7 gelten als “Debugging” -Nachrichten und werden daher nicht in der Konsole angezeigt, um andere Kernel-Ereignisse nicht mit Informationen zu überfüllen.

See also  Kostenlose Tools für SEM-Kampagnen

Klogd verfügt über eine Funktion namens Kernel Address Resolution (Kernel-Adressauflösung). Wenn der Kernel einen internen Fehler feststellt, wird automatisch ein allgemeines Schutzfehlerprotokoll aktiviert. Dies ist Teil der GPF-Verarbeitungsprozedur, in der der Kernel einen Statusbericht druckt, der den Status des Prozessors angibt, wenn der Fehler generiert wird. Innerhalb dieses Ergebnisses sehen wir Details wie den Inhalt der Mikroprozessoraufzeichnungen und den Inhalt des den Kernel-Stack und eine Überwachung der Funktionen, die vor dem Fehler ausgeführt wurden.

Das Auflösen der numerischen Adressen aus den Ergebnissen des Schutzfehlers kann manuell oder über das in den Kernelquellen enthaltene Programm ksymoops erfolgen. Der Befehl Klogd unterstützt das Problem der Diagnose von Schutzfehlern in aktuellen ladbaren Kernelmodulen.

Schritt 1

Wie Syslogd wurde Klog in den aktuellen Distributionen durch dynamischere Befehle ersetzt, so dass wir für seine Installation Folgendes ausführen werden. Dort geben wir den Buchstaben S ein, um den Download und die Installation zu bestätigen.

 apt installiere busybox-syslogd 

5-Signale-in-Syslogd-records-Linux.png

Schritt 2

Die Klogd-Syntax lautet wie folgt:

 klogd [-cn] [-d] [-f fname] [-iI] [-n] [-o] [-p] [-s] [-k fname] [-v] [-x] [-2 ] 
Schritt 3

Diese Optionen sind:

Registrierungsebene definieren
Dieser Parameter definiert die Standardprotokollierungsstufe für Konsolenmeldungen in n.

 -cn 

Debug-Modus
Diese Option aktiviert den Debug-Modus.

 -d 

Nachrichten aufzeichnen
Die Datei protokolliert die Nachrichten unter dem angegebenen Dateinamen anstelle der Syslog-Installation.

 -f 

Identifizieren Sie laufende Daemons
Gibt den aktuell ausgeführten klogd-Daemon an. Beide Schalter steuern das Laden / Neuladen von Symbolinformationen.

 -i -I 

Im hintergrund halt klogd
Verhindert, dass Klogd im Hintergrund ausgeführt wird.

 -n 

Vollständiges Einlesen der Nachrichtenpuffer
Mit dieser Option kann Klogd alle in den Kernel-Nachrichtenpuffern gefundenen Nachrichten lesen und aufzeichnen.

 -o 

Systemaufruf erzwingen
Erzwingen Sie, dass der Klogd-Befehl die Systemaufrufschnittstelle für die Kernel-Nachrichtenpuffer verwendet.

 -s 

Siehe Klogd-Version
Drucken Sie die Klogd-Version.

 -v 

6-Print-the-version-of-Klogd-commands.png

Schritt 4

Wenn wir alle Ereignisse nach dem Login lesen wollen, werden wir folgendes ausführen:

 klogd -o -f ./krnl.msg 
Schritt 5

Danach kann auf den Inhalt dieser Datei zugegriffen werden: 7-Signs-of-Klogd-en-Linux.png

5. Klogd-Signale unter Linux

Der Klogd-Befehl kann auf acht (8) Signale reagieren: SIGHUP, SIGINT, SIGKILL, SIGTERM, SIGTSTP, SIGUSR1, SIGUSR2 und SIGCONT. Mit den Signalen SIGINT, SIGKILL, SIGTERM und SIGHUP kann der Dämon die Kernelprotokollquellen schließen und den Prozess ordnungsgemäß beenden, während die Signale SIGTSTP und SIGCONT zum Starten und Stoppen des Kernelprotokolls verwendet werden.

Schritt 1

Wenn Sie beispielsweise das Dateisystem / proc entfernen möchten, müssen Sie die folgenden Befehle ausführen:

 # kill -TSTP pid # umount / proc # kill -CONT pid 
Schritt 2

Einige mit Klogd zu verwendende Dateien sind:

  • / proc / kmsg: ist die Quelldatei für Klogd-Kernel-Nachrichten
  • /var/run/klogd.pid: ist die Datei, die die Prozess-ID von klogd enthält
  • /boot/System.map, /System.map, /usr/src/linux/System.map: Dies sind die Standardspeicherorte für Kernel-Systemzuordnungen.

Wie wir sehen, verfügen wir über diese beiden nützlichen und wesentlichen Befehle für eine korrekte und vollständige Verwaltung von Kernel-Ereignissen unter Linux.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *