Czytanie dzienników Redis

Czytanie dzienników Redis

„Redis to szeroko stosowana baza danych w pamięci, która przechowuje dane jako pary wartości kluczowej. Zasadniczo Syslog utrzymuje dziennik Redis. Może zachować dzienniki z różnych źródeł. Ale jeśli dziennik Redis obsługuje znacznie więcej rekordów, spowoduje to niską wydajność systemu. Następnie, w celu dalszego przetwarzania, Syslog umożliwia przekazanie wszystkich dzienników do scentralizowanego serwera rejestrowania."

Konfigurowanie rejestrowania Redis

Korzystając z poniższego polecenia, możemy otworzyć plik konfiguracyjny Redis Server znajdujący się w /etc/redis/redis.conf.

$ sudo nano/etc/redis/redis.conf

Po zdefiniowaniu nazwy i katalogu pliku dziennika musisz użyć dyrektywy z pliku dziennika. Zazwyczaj, /var/log jest standardowym katalogiem rejestrowania syslog; Ponadto domyślna konfiguracja przechowuje dziennik w tym katalogu. Nie musisz tego zmieniać raz po raz, ponieważ domyślnie Syslog utrzymuje wszystkie dzienniki w /var/log informator. Po skomentowaniu dyrektywy z obsługą syslogów powinieneś porzucić tę linię i ustawić wartość jako tak. Dla każdego rekordu syslog ten ciąg zostanie przygotowany.

Poniżej możesz zobaczyć linie pokazujące edytowany plik,

Ostatecznie możesz zapisać i zamknąć plik. Ale nagle, jeśli chcesz zastosować nową konfigurację, możesz użyć poniższego polecenia.

$ sudo systemct1 restart redis

Czytanie dzienników syslog

Masz dwie opcje wiersza poleceń. Jeśli chcesz uzyskać dostęp do rekordów syslogów związanych z Redis,

Przeglądanie pliku dziennika w terminalu

Ponieważ Redis rejestruje wszystkie wiadomości zarówno w plik Syslog, jak i niestandardowym, możesz zobaczyć plik dziennika Redis bezpośrednio. W poprzedniej fazie zapisaliśmy dzienniki Redis w pliku ./var/log/redis/redis-server.dziennik. Wykonanie polecenia CAT pozwoli ci zbadać ten plik w następujący sposób.

$ Cat/var/log/redis/redis-server.dziennik

Korzystając z powyższego polecenia, możesz sprawdzić zawartość pliku dziennika Redis w następujący sposób.

Zapytanie za pomocą JournalCtl

Wszystkie dzienniki są kontrolowane przez usługę Journald, która jest częścią SystemD (Ubuntu korzysta z SystemD Service Manager). Journald Zapewnia narzędzie wiersza polecenia Journalctl, który wyszukuje wpisy syslog przy użyciu różnych kryteriów i przedstawia wyniki. Jeśli Twój serwer Redis jest skonfigurowany w celu zalogowania się do Syslog, możesz użyć następującego polecenia, aby odzyskać wpisy Syslog usługi Redis:

$ Journalctl -u Redis -Server.praca

To polecenie -u część ogranicza wyświetlacz do wpisów syslog powiązanych z serwerem Redis.praca

Wyjście wyświetla zduplikowane wpisy zarówno w pliku dziennika wyświetlania, jak i Journalctl ale używa innego formatu czasowego i nie zawiera niektórych nagłówków metadanych zawartych w syslog (nazwa procesu i inne).

Rejestrowanie Redis z Docker

Konserwacja dziennika Redis wymaga użycia sterownika rejestrowania Docker, jeśli chcesz uruchomić Redis w pojemniku Docker.

Pobieranie kontenera Redis

Aby odzyskać oryginalny obraz z Docker Hub, powinniśmy użyć polecenia Pull i nazwy obrazu Redis. Można to zrobić w następujący sposób.

$ sudo docker pull redis

Jak widać z wyjścia, Docker zapisuje go lokalnie i udostępnia go do uruchamiania pojemników po pobraniu obrazu.

Uruchamianie kontenera i dziennika przeglądania

Podając polecenie Docker Run, możesz uruchomić kontener Redis.

$ sudo Docker Run -d -p 23200: 23200 - -Nazw My -Redis Redis

Opcja -D drukuje identyfikator kontenera podczas uruchamiania kontenera w tle (typowe użycie dla serwera bazy danych). To, co się tutaj dzieje. Nazwa kontenera dla My -Redis jest określana przez nazwę opcji.

Jeśli chcesz sprawdzić kontener Redis, możesz uruchomić dzienniki Docker z dziennikiem nazwy kontenera w następujący sposób.

$ sudo Docker Logs My-Redis

Wyjście wyświetla wpisy dziennika związane z Redis, które dostarczają informacji na temat uruchamiania i inicjalizacji usług. Jak widać, syslog i dziennik dokera są porównywalne.

Byłoby najlepiej, gdybyś użył Dockera rm - - a zmusić do zamknięcia tego pojemnika.

Rotacja dziennika Redis

Ponieważ pliki dziennika zawsze rozszerzają się z czasem, ich rozmiar należy zarządzać. Linux używa koncepcji znanej jako rotacja dziennika, aby rozwiązać ten problem. Na tym etapie skonfigurujemy obrót dziennika dla Redis za pomocą syslog. Demon zwany logrotatem jest częścią syslogu, zapewniając obracanie wszystkich dzienników. Ubuntu 20.04 Domyślnie używa logrotatu (w tym rotacji dziennika Redis, jeśli zostanie zainstalowany). Plik /etc/logrotatan.D/Redis-server definiuje ustawienia obrotu dziennika dla obrotu dziennika Redis.

Teraz możemy otworzyć plik za pomocą poniższego polecenia.

$ sudo nano /etc /logrotatan.D/Redis-server

Dyrektywy zawarte w nawiasach kręconych określają, jak obrócić dziennik w katalogu określonym powyżej. Redis obraca dzienniki za pomocą następujących parametrów zgodnie z plikiem:

Co tydzień: Dzienniki są przełączane. Alternatywnie możesz wybrać inne ramy czasowe (codziennie, co tydzień, miesięczny lub roczny). Demon logrotatowy działa codziennie, ale możesz alternatywnie określić, że obraca się co godzinę (godzinę). Aby co godzinę obracać dzienniki, musisz zmodyfikować przedział pracy Logrotate Cron.

Brakuje OK: Jeśli plik dziennika jest nieobecny, demon nie zgłasza żadnych błędów.

Obróć 12: Dwanaście rotacji plików dziennika jest wykonywanych przed usunięciem. Starsze wersje są niszczone, a nie obracane, jeśli obrót jest ustawiony na 0.

Kompresja: Przestarzałe pliki dziennika zostaną skompresowane GZIP.

Notifempty: Jeśli dziennik jest pusty, nie obracaj go.

Logrotatowe strony dokumentacji szczegółowo opisują każdą potencjalną instrukcję. Man Logrotan może być używany do ich zobaczenia. Możesz zmodyfikować te opcje, dodać nowe lub zabrać niektóre z nich. Decydujesz, jakiej konfiguracji użyć. Po ustawieniu parametrów obrotu dziennika plik można zapisać i zamknąć. Teraz logrotat rutynowo obraca dzienniki Redis.

Wniosek

Podsumowując, rejestrowanie syslog jest niezwykle pomocne w generowaniu dzienników Redis. Możesz zaobserwować dzienniki Redis, bezpośrednio zapytanie o JournalCtl i otwierając plik dziennika. Za pomocą dzienników obracaj demona, konfigurujesz obrót dziennika Redis. Zdjęcie Redis Docker zostało pobrane, uruchomiono w pojemniku, a powiązane dzienniki dokera zostały odczytane.