Linux Logging Basics (Polski)

Operating system logs dostarcza bogactwo informacji diagnostycznych o komputerze, a Linux nie jest wyjątkiem. Wszystko, od zdarzeń jądra po akcje użytkownika, jest rejestrowane przez Linuksa, dzięki czemu możesz zobaczyć prawie każdą akcję wykonywaną na Twoich serwerach. W tej sekcji wyjaśnimy czym są logi Linuksa, gdzie można je znaleźć i jak je interpretować.

Logi systemu Linux

Linux posiada specjalny katalog do przechowywania logów o nazwie/var/log., Ten katalog zawiera logi z samego systemu operacyjnego, usług i różnych aplikacji uruchomionych w systemie. Oto jak ten katalog wygląda na typowym systemie Ubuntu.

niektóre z najważniejszych dzienników systemu Linux obejmują:

  • /var/log/syslogI /var/log/messages przechowują wszystkie globalne dane dotyczące aktywności systemu, w tym komunikaty startowe. Systemy oparte na Debianie, takie jak Ubuntu, przechowują to w /var/log/syslog , podczas gdy systemy oparte na Red hacie, takie jak RHEL lub CentOS, używają /var/log/messages.,
  • /var/log/auth.log I/var/log/secure przechowują wszystkie zdarzenia związane z bezpieczeństwem, takie jak loginy, akcje użytkownika root i dane wyjściowe z pluggable authentication modules (Pam). Ubuntu i Debian używają /var/log/auth.log , podczas gdy Red Hat i CentOS używają /var/log/secure.
  • /var/log/kern.log przechowuje zdarzenia jądra, błędy i dzienniki ostrzeżeń, które są szczególnie pomocne w rozwiązywaniu problemów z niestandardowymi jądrami.
  • /var/log/cron przechowuje informacje o zaplanowanych zadaniach (zadaniach cron)., Użyj tych danych, aby sprawdzić, czy zadania cron działają pomyślnie.

niektóre aplikacje również zapisują pliki dziennika w tym katalogu. Na przykład serwer Apache zapisuje logi do katalogu /var/log/apache2 (w Debianie), podczas gdy MySQL zapisuje logi do katalogu /var/log/mysql. Niektóre aplikacje również logują się przez syslog, co wyjaśnimy w następnej sekcji.
syslog

Co to jest Syslog?

Syslog jest standardem do tworzenia i przesyłania dzienników. Słowo „syslog” może odnosić się do dowolnego z poniższych.,

  1. usługa syslog, która odbiera i przetwarza wiadomości syslog. Nasłuchuje zdarzeń poprzez utworzenie gniazda znajdującego się pod adresem /dev/log, do którego aplikacje mogą pisać. Może zapisywać wiadomości do pliku lokalnego lub przekazywać wiadomości do zdalnego serwera. Istnieją różne implementacje syslog, w tym rsyslogd i syslog-ng.
  2. protokół syslog (RFC 5424), który jest protokołem transportowym, który określa sposób przesyłania dzienników przez sieć. Jest to również format danych określający, w jaki sposób wiadomości są strukturyzowane., Domyślnie używa portu 514 dla wiadomości tekstowych i portu 6514 dla zaszyfrowanych wiadomości.
  3. wiadomość syslog, która jest dowolnym dziennikiem sformatowanym w formacie wiadomości syslog. Wiadomość syslog składa się ze znormalizowanego nagłówka i wiadomości zawierającej zawartość dziennika.

ponieważ syslog może przekazywać wiadomości na zdalne serwery, jest często używany do przekazywania dzienników systemowych do rozwiązań zarządzania dziennikami, takich jak SolarWinds ® Loggly® i SolarWinds Papertrail™.

Format Syslog i pola

wiadomości Syslog zawierają ustandaryzowany nagłówek z kilkoma polami., Obejmują one znacznik czasu, nazwę aplikacji, która wygenerowała Zdarzenie, lokalizację w systemie, z którego pochodzi wiadomość, oraz jej priorytet. Format ten można zmienić w pliku konfiguracyjnym implementacji syslog, ale użycie standardowego formatu ułatwia parsowanie, analizowanie i trasowanie zdarzeń syslog.

oto przykładowy komunikat dziennika w domyślnym formacie. Pochodzi z demona sshd, który kontroluje zdalne logowanie do systemu., Ten Komunikat opisuje nieudaną próbę logowania:

Jun 4 22:14:15 server1 sshd : Failed password for root from 10.0.2.2 port 22 ssh2
<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% %msg%n

generuje to następujący dziennik:

poniżej znajdziesz opisy niektórych z najczęściej używanych pól syslog podczas wyszukiwania lub rozwiązywania problemów.

Timestamp

pole timestamp wskazuje godzinę i datę wygenerowania wiadomości w systemie wysyłającym wiadomość. Przykładowy znacznik czasu rozkłada się w następujący sposób:

  • „2019-06-05″to rok, miesiąc i dzień.
  • ” T ” jest wymaganym elementem pola timestamp, oddzielającym datę i czas.,
  • „22:14:15.003″jest 24-godzinnym formatem czasu, zawierającym liczbę milisekund (003).
  • „Z” oznacza czas UTC. Zamiast z, Przykład mógł zawierać przesunięcie, takie jak -08: 00, co wskazuje, że czas jest przesunięty od UTC o osiem godzin.

Nazwa hosta

pole Nazwa hosta („server1” w powyższym przykładzie) wskazuje nazwę hosta lub systemu, który pierwotnie wysłał wiadomość.

Nazwa aplikacji

pole nazwa aplikacji (w przykładzie”SSHD:auth”) wskazuje nazwę aplikacji, która wysłała wiadomość.,

priorytet

pole priority lub PRI w skrócie („<34>” w powyższym przykładzie) informuje, jak pilne lub poważne jest Zdarzenie. Jest to kombinacja dwóch pól liczbowych: facility i the severity. Funkcja określa typ procesu, który wytworzył Zdarzenie, w zakresie od 0 dla wiadomości jądra do 23 dla aplikacji lokalnych. Stopień ciężkości waha się od 0 do 7, przy czym 0 oznacza stan awaryjny, a 7-Zdarzenie debugowania.

Pri może być wyprowadzany na dwa sposoby., Pierwsza jest pojedynczą liczbą, prival, która jest obliczana jako wartość pola obiektu pomnożona przez osiem, a następnie wynik jest dodawany do wartości pola dotkliwości: (obiekt) (8) + (dotkliwość). Drugi to PRI-text, który będzie wyświetlany w formacie string ” facility.dotkliwość”. Ten ostatni format często może być łatwiejszy do odczytania i wyszukiwania,ale zajmuje więcej miejsca.

logowanie za pomocą Systemd

wiele dystrybucji Linuksa dostarcza systemd, który jest menedżerem procesów i usług. Systemd implementuje własną usługę logowania o nazwie journald, która może zastąpić lub uzupełnić syslog., Journald loguje się w znacznie inny sposób niż systemd, dlatego ma własną sekcję w Ultimate Guide to Logging. Możesz dowiedzieć się więcej o logowaniu przez systemd w sekcji logowania Systemd.

Share

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *