Przeprowadź mnie przez pliki dziennika systemu Linux (proszę)

11

Właśnie próbowałem załadować plik 2 MB do programu gedit i po cichu mnie to zmartwiło. Zastanawiałem się, czy w pliku dziennika może pojawić się coś, co może pomóc mi w zdiagnozowaniu tego: sprawdziłem syslogi odkryłem, że jest uszkodzony. Robiąc to, zdałem sobie sprawę, że tak naprawdę nie wiem nic o tym, jak logowanie jest zorganizowane na maszynach * nix.

Wiem tylko o tym

  1. Dzienniki są zwykle przechowywane w /var/log/... Czy jest coś jeszcze, o czym powinienem wiedzieć?

  2. Znam dzienniki specyficzne dla aplikacji, takie jak apache.

  3. Rozumiem, że dmesgto dziennik rozruchu i czy syslogjest to ogólny dziennik systemu ... prawda? Edycja: Bobby twierdzi, że dmesgma również ogólny cel ... jaka jest różnica między nimi?

Czy ktoś mógłby zabrać mnie przez najbardziej przydatne dzienniki? Czy dwa dzienniki, o których wspomniałem w ostatnim punkcie, są jedynymi dziennikami ogólnymi ? A jakie są funky liczby na początku linii dmesg? Kilka sekund od uruchomienia?

Podaj w swoich odpowiedziach wszystko, co Twoim zdaniem poprawiłoby moje rozumienie i pomogło mi wyśledzić anomalie!

TIA

Andy

Andy
źródło
dmesglub /var/log/messagesjest ogólnym dziennikiem komunikatów, nie tylko do rozruchu. Również uruchomienie aplikacji z terminala może pomóc w debugowaniu problemu.
Bobby
tak, zauważyłem, że jeśli zacznę od wiersza poleceń, często wracają mi aplikacje. Jeśli uruchomię ten sam program za pomocą graficznego programu uruchamiającego, czy tekst zostanie utracony? Czy uważa się za dobrą praktykę dla aplikacji graficznej do wysyłania komunikatów stdout?
Andy
Jeśli uruchomisz program graficznie, wówczas stdout i stderr zostaną podłączone do nikąd (lub / dev / null, jeśli o to chodzi), co oznacza, że ​​wszystkie wiadomości zostaną utracone. Jeśli jest to potrzebne, albo zacznij od wiersza poleceń, albo przekieruj dane wyjściowe do pliku, ustawiając polecenie w pliku .desktop na coś takiego: „komenda i> plik dziennika”.
petersohn
Prawdziwe pytanie brzmi, czy go potrzebuję! Czy większość programów pozostawia bardziej przydatne dane wyjściowe w dziennikach? Czy zaawansowani ludzie Linuksa zwykle używają tych narzędzi stdoutdo diagnozowania problemów z oprogramowaniem (nie własnym)? (Zasadniczo znam sposób chwytania stdout, ale nie to, jak przydatne może być wyjście ...)
Andy
Aplikacje uruchamiam z terminala tylko wtedy, gdy mam z tym problemy (pobieranie niektórych informacji debugowania i komunikatów o błędach, które mogły zostać połknięte przez GUI). I tak, jest to dobra praktyka i jest to standardowe zachowanie wszystkich aplikacji pod Linuksem.
Bobby

Odpowiedzi:

12

Ogromne podziękowania dla Pulse za polecenie https://help.ubuntu.com/community/LinuxLogFiles . Wytnąłem trochę bitów i pominąłem sposób użycia syslogdoraz inne niezbędne polecenia, aby zostawić ten mały przewodnik na przyszłość. Pochodzi z witryny Ubuntu i nie wiem, ile kosztuje inne dystrybucje.

Dzienniki systemowe

Dzienniki systemowe dotyczą przede wszystkim funkcjonowania systemu Ubuntu, niekoniecznie dodatkowych aplikacji dodawanych przez użytkowników. Przykłady obejmują mechanizmy autoryzacji, demony systemowe, komunikaty systemowe oraz sam wszechstronny dziennik systemowy, syslog.

Dziennik autoryzacji: /var/log/auth.log

Dziennik autoryzacji śledzi użycie systemów autoryzacji, mechanizmów autoryzacji użytkowników, którzy pytają o hasła użytkownika, takich jak system Pluggable Authentication Module (PAM), sudokomenda, zdalne logowanie do sshdi tak dalej.

Dziennik demona: /var/log/daemon.log

Dziennik demona zawiera informacje o uruchomionych demonach systemu i aplikacji, takich jak demon Gnome Display Manager, demon gdmBluetooth HCI hcidlub demon bazy danych MySQL mysqld.

Dziennik debugowania: /var/log/debug

Dziennik debugowania zawiera szczegółowe komunikaty debugowania z systemu Ubuntu i aplikacji logujących się syslogdna poziomie DEBUG.

Dziennik jądra: /var/log/kern.log

Dziennik jądra zapewnia szczegółowy dziennik komunikatów z jądra systemu Ubuntu Linux. Te komunikaty mogą się przydać na przykład podczas rozwiązywania problemów z nowym lub niestandardowym jądrem.

Bufor pierścieniowy jądra: dmesg

Bufor pierścieniowy jądra nie jest tak naprawdę plikiem dziennika jako takim, ale raczej obszarem w działającym jądrze, w którym można wyszukiwać komunikaty rozruchowe jądra za pomocą dmesgnarzędzia. Aby zobaczyć wiadomości, użyj tego:

dmesg | less

Domyślnie skrypt inicjujący system /etc/init.d/bootmisc.shwysyła również wszystkie komunikaty rozruchowe do pliku /var/log/dmesg.

Dziennik wiadomości: /var/log/messages

Dziennik komunikatów zawiera komunikaty informacyjne z aplikacji i urządzeń systemowych. Ten dziennik jest przydatny do sprawdzania danych wyjściowych z aplikacji i urządzeń systemowych, które logują się do syslog/ sysklogdemona na poziomie INFO.

Dziennik systemu: /var/log/syslog

Dziennik systemu zazwyczaj zawiera domyślnie najwięcej informacji o systemie Ubuntu. Może zawierać informacje, których inne dzienniki nie zawierają. Przejrzyj dziennik systemu, jeśli nie możesz znaleźć żądanych informacji dziennika w innym dzienniku.

Dzienniki aplikacji

Wiele aplikacji tworzy również logi /var/log. Jeśli wylistujesz zawartość swojego /var/logpodkatalogu, zobaczysz znane nazwy, takie jak /var/log/apache2reprezentowanie logów dla serwera WWW Apache 2 lub /var/log/samba, które zawiera logi dla serwera Samba.

Dzienniki serwera HTTP Apache: /var/log/apache2

Domyślna instalacja dla Apache2 na Ubuntu tworzy podkatalog dziennika. W tym podkatalogu znajdują się dwa pliki dziennika o dwóch różnych celach:

  • /var/log/apache2/access.log - rekordy każdej obsługiwanej strony i każdego pliku załadowanego przez serwer WWW.
  • /var/log/apache2/error.log - zapisy wszystkich stanów błędów zgłoszonych przez serwer HTTP

Dzienniki systemu drukowania CUPS: /var/log/cups/error_log

System Common Unix Printing System (CUPS) używa domyślnego pliku dziennika /var/log/cups/error_logdo przechowywania komunikatów informacyjnych i komunikatów o błędach.

Rootkit Hunter Log: /var/log/rkhunter.log

Narzędzie Rootkit Hunter ( rkhunter) sprawdza system Ubuntu pod kątem backdoorów, snifferów i rootkitów, które są oznakami naruszenia bezpieczeństwa twojego systemu.

Dzienniki serwera Samba SMB: /var/log/samba

Serwer SMB (Server Message Block Protocol), Samba, jest powszechnie używany do udostępniania plików między komputerem Ubuntu a innymi komputerami obsługującymi protokół SMB. Samba utrzymuje trzy różne typy dzienników w podkatalogu:

  • log.nmbd - wiadomości związane z funkcjonalnością NETBIOS przez IP Samby (rzeczy sieciowe)
  • log.smbd - wiadomości związane z funkcjonalnością SMB / CIFS Samby (udostępnianie plików i drukarek)
  • log.[IP_ADDRESS] - wiadomości związane z żądaniami usług z adresu IP zawartego w nazwie pliku dziennika.

Dziennik serwera X11: /var/log/Xorg.0.log

Domyślnym serwerem okienkowym X11 używanym z Ubuntu jest serwer Xorg X11. Ten dziennik jest pomocny w diagnozowaniu problemów ze środowiskiem X11.

Dzienniki nieczytelne dla człowieka

Niektóre pliki dziennika znalezione w /var/logpodkatalogu są zaprojektowane tak, aby były czytelne dla aplikacji, niekoniecznie dla ludzi. Oto kilka przykładów.

Dziennik błędów logowania: faillog

Znajdujący się w dzienniku błędów logowania /var/log/faillogfaktycznie zaprojektowano go do przeanalizowania i wyświetlenia przez faillogpolecenie.

Ostatnie logowanie Log: lastlog

Ostatnie logowanie przy logowaniu /var/log/lastlogzwykle nie powinno być analizowane i analizowane przez ludzi, ale raczej powinno być używane w połączeniu z lastlogpoleceniem.

Zaloguj się Logi: who

Plik /var/log/wtmpzawiera rekordy logowania, ale w przeciwieństwie do /var/log/lastlogpowyższego, /var/log/wtmpnie jest używany do wyświetlania listy ostatnich loginów, ale jest używany przez inne narzędzia, takie jak whopolecenie do przedstawienia listy aktualnie zalogowanych użytkowników.

Andy
źródło
1

syslog (a raczej syslog.d) to system rejestrowania, który odpowiada za zapisywanie większości logów /var/log. Istnieją inne podobne projekty, takie jak syslog-ng

system.log to tylko konkretnie nazwany plik, do którego syslog się pisze

dbr
źródło
Dzięki za odpowiedź: Byłem bardziej zainteresowany ogólnym obrazem logowania do systemu Linux. Mój przykład z syslog był tylko wstępem do wyjaśnienia, w jaki sposób dotarłem do tego ogólnego pytania.
Andy
0

Nie mówisz, gdzie się znajdujesz, ale w formacie Linux w numerze 132 pojawił się artykuł dotyczący plików dziennika. Musisz albo znaleźć kogoś z kopią, albo kupić problem z powrotem, aby go zdobyć.

Amos
źródło
Mam siedzibę w Wielkiej Brytanii, ale nadal mam nadzieję, że uda mi się uzyskać informacje bez wydawania pieniędzy (:
Andy
2
Wciąż uczę się Linuksa i uważam, że jest to przydatna strona informacji help.ubuntu.com/community/LinuxLogFiles
Pulse
Właśnie tego szukałem!
Andy