LNAV - Obserwuj i analizuj dzienniki Apache z terminalu Linux
- 4032
- 426
- Natan Cholewa
Niecałe dwa tygodnie temu WannaCry Ransomware Attack zagrał tysiące komputerów, powodując znaczne straty dla dużych firm i osób fizycznych. To, wraz z innymi powszechnymi lukami w ostatnich latach (takich jak Bug Shellshock), podkreśla znaczenie pozostania na szczycie systemów krytycznych misji.
Chociaż luki często są ukierunkowane na jeden konkretny system operacyjny lub komponent oprogramowania, zbadanie ruchu, który wchodzi i wychodzi z sieci, może być znaczącą pomocą w ochronie zasobów, za które jesteś odpowiedzialny.
Sugerowane przeczytanie: 4 dobre narzędzia do monitorowania i zarządzania dziennikiem typu open source dla Linux
Jak jestem pewien, że już wiesz, dzienniki systemowe są pierwszym miejscem, w którym powinniśmy szukać tych informacji. Aby ułatwić to zadanie, w tym artykule wyjaśnimy, jak zainstalować i używać lnav, Zaawansowany przeglądarka plików dziennika. Dzięki LNAV będziesz mógł jednocześnie oglądać kilka rodzajów dzienników, poruszać się po pliku za pomocą skrótów i wygenerować podsumowany histogram dostępu i błędów. Więc czytaj dalej!
Instalowanie i uruchamianie LNAV w Linux
Żeby zainstalować lnav, Użyj systemu zarządzania pakietami swojej dystrybucji.
# Aptitude instaluj lnav [debian i pochodne] # yum instaluj epel-release lnav [Centos 7 i podobne]
Po zakończeniu instalacji uruchom lnav a następnie bezwzględna ścieżka do katalogu, w którym znajdują się dzienniki, które należy zbadać. Ponieważ będzie to zwykle /var/log
, Zróbmy:
# lnav/var/log/httpd
Aby sprawdzić dzienniki serwera WWW Apache w Centos 7:
Monitoruj dzienniki Apache w Centos 7Zbadajmy krótko dane wyjściowe pokazane na poprzednim obrazie:
- W prawym górnym rogu pokazuje obecnie kontrolowane pliki (Access_Log-20170519 I access_log). Kiedy przewijasz w dół lub w górę, zauważysz, że nazwy plików mogą się zmieniać w miarę przechodzenia od jednego do drugiego.
- 40x HTTP odpowiedzi (na przykład, Nie znaleziono Lub Zabroniony) są wyświetlane odważne, podczas gdy 20x Odpowiedzi są pokazane w regularnym tekście.
- Adresy IP pojawiają się w odważnej zieleni.
To z pewnością wygląda ładnie, prawda?? Ale kopnijmy teraz trochę głębiej i zobaczymy, że LNAV zapewnia znacznie więcej niż ładnie kolorowy wyjście.
Jeśli jesteś ciekawy, dlaczego dzienniki błędów nie są wyświetlane, znajdziesz odpowiedź w dalszej części tego artykułu. Więc czytaj dalej!
Modyfikowanie wyjścia za pomocą opcji i hotkeys
Zanim przejdziemy dalej, wymieńmy kilka skrótów, które pozwolą nam łatwiej przejść przez wyjście LNAV i dostępne widoki:
mi
Lubmi
Aby przejść do następnego / poprzedniego komunikatu o błędzie.w
LubW
Przeskoczyć do następnej / poprzedniej wiadomości ostrzegawczej.B
LubBackspace
Aby przejść do poprzedniej strony.- Miejsce do przejścia na następną stronę.
G
LubG
Aby przejść do górnej / dolnej części bieżącego widoku.
Gdy dzienniki są obracane, stare pliki mogą być kompresowane (lub nie) w zależności od ustawień określonych w plikach konfiguracyjnych Logrotatan. Aby dołączyć skompresowane pliki do wyjścia, uruchom LNAV w następujący sposób:
# lnav -r/var/log/httpd
Jeśli chcesz przyjrzeć się bliżej sposób działania LNAv, możesz uruchomić program z -D
Opcja, po której następuje nazwa pliku, w której informacje o debugowaniu zostaną napisane, tak jak:
# lnav/var/log/httpd -d lnav.tekst
W tym przykładzie informacje o debugowaniu, które są generowane po uruchomieniu LNAV, zostaną zapisane do pliku o nazwie lnav.tekst wewnątrz obecnego katalogu roboczego.
Pierwsze kilka wierszy tego pliku pokazano na poniższym obrazku:
Informacje o debugowaniu ApachePodświetlony tekst wskazuje, że LNAV załadował plik formatów domyślnych, a dokładniej, access_log Format, aby przeanalizować dziennik dostępu Apache. Dodatkowo LNAV pozwala przeanalizować każdą linię wyjściową, aby wyjście stały się łatwiejsze do wizualizacji i zrozumienia.
Sugerowane przeczytanie: GOACCESS (analizator dziennika Apache i Nginx) Analizator dziennika serwera internetowego
Aby skorzystać z tej funkcji, uruchom program i wybierz linię, którą chcesz przeanalizować. Wybrana linia jest zawsze ta u góry okna. Następnie naciśnij P
i powinieneś zobaczyć następujący wynik:
Aby powrócić do trybu normalnego, naciśnij P
Ponownie.
Teraz, jeśli chcesz zobaczyć podsumowanie dzienników według daty i godziny, naciśnij I
. Na przykład podświetlony tekst wskazuje, że w poniedziałek, 10 kwietnia, między 22 a 23.
Po zidentyfikowaniu potencjalnego problemu na podstawie histogramu, jak pokazano powyżej, możesz nacisnąć I
Aby wyjść z poglądu, aby go bardziej szczegółowo zbadać za pomocą parsera, jak wyjaśniono wcześniej. Możesz też użyć wbudowanych możliwości SQL, wpisując półkolis i pisząc standardowe zapytanie. Na przykład, zrób:
;.schemat
Aby wyświetlić dostępne tabele w schemacie bazy danych. Po zidentyfikowaniu odpowiedniej tabeli (access_log W naszym przypadku) naciśnijmy Q
a następnie użyj następującego zapytania, aby zwrócić wszystkie dostępne informacje o żądaniach pochodzących z 195.154.230.31:
; Wybierz * z Access_Log, gdzie C_IP = "195.154.230.31 "Informacje o dzienniku Apache w formacie tabeli
Zauważ, że moglibyśmy również odfiltrować wyniki według log_time. Chodzi o to, że wrzuć mały SQL, a niebo jest granicą tego, co możesz zrobić z Lnav.
Apache domyślne formaty dziennika
Wiele formatów dziennika jest domyślnie załadowanych lnav i są zatem analizowane bez naszej interwencji. Możesz wyświetlić listę w sekcji Formaty dziennika w oficjalnej dokumentacji.
Formaty domyślne są określone w ~/.lnav/formaty/domyślne/default-formaty.JSON.próbka, i inne można dodać ~/.lnav/formaty używając .JSON
rozszerzenie.
Jednak edycja tych plików wymaga pewnego stopnia znajomości JSON (notacja obiektu JavaScript) i biblioteki PCRE (zgodne z Perl Regularne wyrażenia).
Dlaczego LNAV nie wyświetlał plików dziennika błędów Apache? Powodem jest to, że dzienniki te nie pasują do żadnych wyrażeń regularnych w istniejących plikach formatu, a zatem są traktowane jako zwykłe pliki tekstowe (oznaczające pliki bez danego formatu dziennika).
Sugerowane przeczytanie: Jak monitorować ładowanie serwera WWW Apache i statystyki strony
Jak wspomniano wcześniej, możesz tworzyć własne formaty, gdy jesteś przynajmniej trochę zaznajomiony z JSON i PCRE. To może się przydać, na przykład, jeśli masz zdefiniowane niestandardowe dzienniki Apache.
Streszczenie
Chociaż użyliśmy dziennika dostępu Apache, aby zademonstrować, jak korzystać z LNAV, pamiętaj, że istnieje kilka innych rodzajów dzienników, które można oglądać i analizować za pomocą tego narzędzia. Jeśli narzędzie nie rozpozna określonego dziennika, możesz utworzyć dodatkowe formaty i zainstalować je zgodnie z podanymi tutaj wskazaniami.
Czy masz jakieś pytania lub komentarze na temat tego artykułu? Jak zawsze, daj nam znać, używając poniższego formularza. Oczekujemy na kontakt zwrotny!
- « Nload - Monitorowanie wykorzystania przepustowości sieci Linux w czasie rzeczywistym
- 10 Przydatne wskazówki dotyczące pisania skutecznych skryptów bash w Linux »