Rozwiązywanie problemów jest jednym z głównych powodów, dla których ludzie tworzą dzienniki. Gdy pojawi się problem, będziesz chciał go zdiagnozować, aby zrozumieć, dlaczego tak się stało i jaka była jego przyczyna. Komunikat o błędzie lub sekwencja zdarzeń mogą dać wskazówki dotyczące przyczyny źródłowej, wskazać, jak odtworzyć problem i poprowadzić Cię do rozwiązań. Ta sekcja przedstawia scenariusze, w których możesz użyć dzienników Linuksa do rozwiązywania problemów.,
fail
błędy logowania
ze względów bezpieczeństwa możesz chcieć wiedzieć, którzy użytkownicy zalogowali się lub próbowali zalogować się do Twojego systemu. Możesz sprawdzić dzienniki uwierzytelniania pod kątem nieudanych prób, które występują, gdy użytkownicy podadzą nieprawidłowe poświadczenia lub nie mają uprawnień do logowania. Często zdarza się to przy użyciu SSH do zdalnego dostępu lub przy użyciu polecenia su do uruchomienia polecenia jako inny użytkownik. Tego typu zdarzenia uwierzytelniania są rejestrowane przez pluggable authentication module (PAM)., Nieudane zdarzenia często zawierają ciągi znaków, takie jak” nieudane hasło „i” nieznany użytkownik”, podczas gdy udane zdarzenia uwierzytelniania często zawierają ciągi znaków, takich jak” zaakceptowane hasło „i” otwarta sesja.”
przykłady błędów to:
przykłady udanych logowań to:
Jeśli chcemy dowiedzieć się, które konta użytkowników mają najwięcej nieudanych logowań, najpierw musimy wyodrębnić nazwę Użytkownika z dziennika auth. W tym celu użyjemy poleceń grep, cut, sort i uniq., Grep zwraca wiersze zawierające „invalid user”, cut wyodrębnia nazwy użytkowników, sortuje listę nazw, a uniq zlicza liczbę unikalnych nazw:
inne aplikacje i usługi mogą używać różnych formatów, więc musisz dostosować to polecenie dla każdej aplikacji. Systemy zarządzania logami mogą skutecznie zrobić to za ciebie, automatycznie analizując pola takie jak nazwa użytkownika. Umożliwia to szybkie przeglądanie i filtrowanie nieudanych logowań za pomocą jednego kliknięcia. W tym przykładzie możemy zobaczyć, że użytkownik root próbował zalogować się ponad 300 razy.,
nazwy użytkowników związane z nieudanymi próbami logowania pokazane w Eksploratorze dynamicznych pól Loggly.
Systemy Zarządzania logami pozwalają również przeglądać wykresy w czasie, aby dostrzec nietypowe trendy. Jeśli ktoś miał JEDEN lub dwa nieudane logowanie w ciągu kilku minut, może być tak, że prawdziwy użytkownik zapomniał swojego hasła. Jeśli jednak są setki nieudanych logowań lub wszystkie są różnymi nazwami użytkowników, jest bardziej prawdopodobne, że ktoś próbuje zaatakować system. Tutaj możesz zobaczyć nagły wzrost prób logowania jako administrator., Nie jest to oczywiście zgodne z prawem korzystanie z systemu.
wzrost liczby prób logowania roota. © 2019 SolarWinds, Inc. Wszelkie prawa zastrzeżone.
przyczyna
przyczyna restartów
czasami serwer może się zatrzymać z powodu awarii systemu lub restartu. Skąd wiesz, kiedy to się stało i kto to zrobił?
polecenie Shutdown
Jeśli ktoś uruchomił polecenie shutdown ręcznie, możesz je zobaczyć w pliku dziennika auth. Tutaj widać, że ktoś zdalnie zalogował się jako użytkownik ubuntu, a następnie zamknął system.,
Inicjalizacja Jądra
Jeśli chcesz zobaczyć, kiedy serwer uruchomiony ponownie niezależnie od przyczyny (w tym awarii), możesz przeszukać plik dziennika jądra (/var/log/kern.log
). Syslog stosuje również funkcję „kern” do dzienników jądra. Poniższe logi zostały wygenerowane natychmiast po uruchomieniu. Uwaga znacznik czasu między nawiasami wynosi 0: śledzi czas od uruchomienia jądra. Możesz również znaleźć dzienniki rozruchu, wyszukując „BOOT_IMAGE”.,
wykrywanie
Wykrywanie problemów z pamięcią
istnieje kilka powodów, dla których serwer może ulec awarii, ale jedną z najczęstszych przyczyn jest brak pamięci.
gdy pamięć RAM i przestrzeń wymiany są całkowicie wyczerpane, jądro rozpocznie zabijanie procesów—zazwyczaj tych, które używają najwięcej pamięci i najbardziej krótkotrwałe. Błąd występuje, gdy system wykorzystuje całą swoją pamięć, a nowy lub istniejący proces próbuje uzyskać dostęp do dodatkowej pamięci. Poszukaj w swoich plikach logów napisów takich jak „Out of Memory” lub ostrzeżeń jądra., Te ciągi znaków wskazują, że system celowo zabił proces lub aplikację, zamiast pozwolić procesowi na awarię.
przykłady:
pamiętaj, że sam grep używa pamięci, więc możesz spowodować błąd poza pamięcią po prostu uruchamiając grepa. Jest to kolejny powód, dla którego jest to wspaniały pomysł, aby scentralizować swoje dzienniki!
cron
rejestrowanie błędów Zadań Cron
Demon cron to scheduler, który uruchamia polecenia w określonych datach i godzinach. Jeśli proces nie zostanie uruchomiony lub nie zostanie ukończony, w plikach dziennika pojawi się błąd cron., Możesz znaleźć te pliki w /var/log/cron
, /var/log/messages
I /var/log/syslog
w zależności od twojej dystrybucji. Istnieje wiele powodów, dla których praca cron może zawieść. Zwykle problemy dotyczą procesu, a nie samego demona cron.
domyślnie zadania crona są wysyłane do syslog i pojawiają się w pliku /var/log/syslog
. Możesz również przekierować wyjście poleceń cron do innego miejsca docelowego, takiego jak standardowe wyjście lub inny plik. W tym przykładzie przekierowujemy „Hello world” do komendy logger., Tworzy to dwa zdarzenia dziennika: jedno z cron i jedno z polecenia logger. Parametr-t ustawia nazwę aplikacji na „helloCron”::
$ crontab -e*/5 * * * * echo 'Hello World' 2>&1 | /usr/bin/logger -t helloCron
, który tworzy wpisy dziennika:
każde zadanie crona będzie się logować inaczej w zależności od określonego typu zadania i sposobu wyświetlania danych. Mam nadzieję, że w logach znajdują się wskazówki dotyczące głównej przyczyny problemów lub możesz dodać dodatkowe logowanie w razie potrzeby. W większości przypadków powinieneś po prostu pozwolić cronowi rejestrować wyjście Twoich poleceń.
Zobacz też Przeanalizuj to. Sprawdź to. Rozwiąż to
Zobacz co ma znaczenie.
START FREE TRIAL