Lesen von Redis -Protokollen

Lesen von Redis -Protokollen

„Redis ist eine weit verbreitete In-Memory-Datenbank, die Daten als Schlüsselwertpaare speichert. Im Allgemeinen behält Syslog das Redis -Protokoll bei. Es kann Protokolle aus verschiedenen Quellen erhalten. Wenn das Redis -Protokoll jedoch viel mehr Datensätze behandelt, wird dies zu einer geringen Systemleistung führen. Für die weitere Verarbeitung ermöglicht Syslog die Weiterleitung aller Protokolle an den zentralisierten Protokollierungsserver.”

Konfigurieren von Redis -Protokollierung

Mit dem folgenden Befehl können wir die Redis -Server -Konfigurationsdatei in der gefundenen in der befindlichen Datei öffnen, die sich befinden /etc/Redis/Redis.Conf.

$ sudo nano/etc/Redis/Redis.Conf

Wenn Sie den Namen und das Verzeichnis einer Protokolldatei definieren, müssen Sie die Logfile -Direktive verwenden. Normalerweise, /var/log ist das Standardverzeichnis der Syslog -Protokollierung; Außerdem speichert die Standardkonfiguration das Protokoll in diesem Verzeichnis. Sie müssen dies nicht immer wieder ändern, da Syslog alle Protokolle in der /var/log Verzeichnis. Wenn die Syslog-fähige Anweisung kommentiert wird, sollten Sie diese Zeile in Überzeugung überzeugen und den Wert als Ja festlegen. Für jeden Syslog -Datensatz wird diese Zeichenfolge vorbereitet.

Im Folgenden sehen Sie die Zeilen, die die bearbeitete Datei anzeigen,

Schließlich können Sie die Datei speichern und schließen. Wenn Sie die neue Konfiguration anwenden möchten, können Sie plötzlich den folgenden Befehl verwenden.

$ sudo systemct1 starten Redis neu

Lesen von Syslog -Protokollen

Sie haben zwei Befehlszeilenoptionen. Wenn Sie auf die Redis-bezogenen Syslog-Datensätze zugreifen möchten,

Anzeigen der Protokolldatei in Terminal

Da Redis alle Nachrichten sowohl in den Syslog als auch in der benutzerdefinierten Datei aufzeichnet, sehen Sie möglicherweise die Redis -Protokolldatei direkt. In der vorherigen Phase haben wir Redis -Protokolle in der Datei gespeichert ./var/log/Redis/Redis-Server.Protokoll. Durch Ausführen des CAT -Befehls können Sie diese Datei wie folgt untersuchen.

$ Cat/var/log/Redis/Redis-Server.Protokoll

Mit dem obigen Befehl können Sie den Inhalt der Redis -Protokolldatei wie folgt inspizieren.

Abfrage mit JournalCtl

Alle Protokolle werden vom Journald -Dienst gesteuert, der Teil von SystemD ist (Ubuntu verwendet den Systemd Service Manager). Der Journald Bietet das Befehlszeilenwerkzeug Journalctl, Welche Syslog -Einträge unter Verwendung verschiedener Kriterien durchsucht und die Ergebnisse darstellt. Wenn Ihr Redis -Server so eingerichtet ist, dass Sie sich in Syslog anmelden, können Sie den folgenden Befehl verwenden, um die Syslog -Einträge des Redis -Dienstes abzurufen:

$ journalctl -u Redis -Server.Service

Dieser Befehl -U -Teil beschränkt die Anzeige auf Syslog -Einträge, die dem Redis -Server zugeordnet sind.Service

Die Ausgabe zeigt die doppelten Einträge sowohl in der Ansichtsprotokolldatei als auch in der Ansichtsprotokolldatei an Journalctl Verwendet jedoch ein anderes Zeitstempelformat und enthält keine im Syslog enthaltenen Metadaten -Header (Prozessname und andere).

Redis -Anmeldung mit Docker

Redis -Protokollwartung erfordert die Verwendung eines Docker -Protokollierungsfahrers, wenn Sie Redis in einem Docker -Container ausführen möchten.

Redis -Container -Download

Um das Originalbild von Docker Hub abzurufen, sollten wir den Befehl Docker Pull und den Bildnamen Redis verwenden. Es kann wie folgt gemacht werden.

$ sudo docer ziehen Redis

Wie aus der Ausgabe ersichtlich ist, speichert Docker es lokal und macht es für laufende Container nach dem Abholen eines Bildes zugänglich.

Ausführen von Container und Anzeigenprotokoll

Wenn Sie den Befehl Docker Run geben, können Sie den Redis -Container starten.

$ sudo docer run -d -p 23200: 23200 - -Name my -redis Redis

Option -D druckt die Container -ID beim Ausführen des Containers im Hintergrund (typische Verwendung für den Datenbankserver). Hier ist, dass der Redis -Container -Port 23200 den Port 23200 des lokalen Maschinens abbildet. Der Containerame für my -redis wird durch den Option -name festgelegt.

Wenn Sie den Redis -Container inspizieren möchten, können Sie Docker -Protokolle mit dem Containernamenprotokoll wie folgt ausführen.

$ sudo docer loget my-redis my-redis

Die Ausgabe zeigt redisbezogene Protokolleinträge an, die Informationen zum Service-Start und zur Initialisierung enthalten. Wie Sie sehen können, sind das Syslog und das Docker -Protokoll vergleichbar.

Es wäre am besten, wenn Sie Docker verwenden würden rm - - a zwingen, diesen Container herunterzufahren.

Redis -Protokollrotation

Da Protokolldateien im Laufe der Zeit immer erweitert werden, muss ihre Größe verwaltet werden. Linux verwendet ein Konzept, das als Protokolldrehung bezeichnet wird, um dieses Problem anzugehen. Wir werden in dieser Phase die Protokollrotation für Redis mit Syslog einrichten. Ein Dämon namens Logrotate ist Teil des Syslogs, um sicherzustellen, dass alle Protokolle gedreht werden. Ubuntu 20.04 verwendet standardmäßig Logrotate (einschließlich Redis -Protokolldrehung, falls installiert). Die Datei /etc/lwerte.D/Redis-Server Definiert die Einstellungen der Protokollrotation für die Redis -Protokolldrehung.

Jetzt können wir die Datei mit dem folgenden Befehl öffnen.

$ sudo nano /etc /lehne.D/Redis-Server

In den in Curly -Klammern enthaltenen Direktiven geben an, wie das Protokoll im oben angegebenen Verzeichnis gedreht wird. Redis rotiert Protokolle unter Verwendung der folgenden Parameter gemäß der Datei:

Wöchentlich: Protokolle werden ausgeschaltet. Alternativ können Sie einen anderen Zeitrahmen wählen (täglich, wöchentlich, monatlich oder jährlich). Der lehnwirtschaftliche Daemon läuft täglich, aber Sie können alternativ angeben, dass er sich jede Stunde dreht (stündlich). Um die Protokolle stündlich in einer solchen Situation zu drehen, müssen Sie das Logrotate Cron -Jobintervall ändern.

Fehlen ok: Wenn die Protokolldatei nicht vorhanden ist, meldet der Daemon keine Fehler.

Drehen 12: Vor dem Löschen werden zwölf Rotationen von Protokolldateien durchgeführt. Ältere Versionen werden zerstört und nicht gedreht, wenn die Rotation auf 0 eingestellt ist.

Kompresse: Veraltete Protokolldateien werden mit GZIP komprimiert.

NotifeMpty: Wenn das Protokoll leer ist, drehen Sie es nicht.

Die Logrotate -Dokumentationsseiten beschreiben jeden potenziellen Anweisungen. Man Logrotate kann verwendet werden, um sie zu sehen. Sie können diese Optionen ändern, neue hinzufügen oder einige davon wegnehmen. Sie entscheiden, welches Setup verwendet werden soll. Nach der Einstellung der Protokollrotationsparameter kann die Datei gespeichert und geschlossen werden. Jetzt dreht sich lwerte routinemäßig Ihre Redis -Protokolle.

Abschluss

Zusammenfassend lässt sich sagen. Sie können Redis -Protokolle beobachten, indem Sie die JournalCTL direkt abfragen und die Protokolldatei öffnen. Verwenden der Protokolle drehen Dämon. Das Redis Docker -Bild wurde heruntergeladen, in den Container gelaufen und die zugehörigen Docker -Protokolle wurden gelesen.