База Едноставни упатства за работа со услугата Profitserver
главните База Како да ги читате дневниците на Linux и каде да го најдете

Како да ги читате дневниците на Linux и каде да го најдете


Кога ќе се соочите со какви било проблеми со перформансите на вашиот сервер, првото нешто што треба да го направите е да ги проверите логовите на вашиот Linux . Во системскиот логов можете да најдете некои корисни дијагностички пораки од различни компоненти на оперативниот систем, како што се јадрото или разни услуги, па најверојатно причината за дефектот ќе ја пронајдете таму.

Секоја порака во дневникот се генерира како резултат на одредени настани во оперативниот систем: од корисникот, овластување за исклучување на сервисот или неуспех на апликацијата. Овие настани имаат различни приоритети во зависност од тоа колку се критични. Постојат следниве типови на настани во Linux:

  1. emerg - неуспех, највисок приоритет;
  2. alert - итно предупредување;
  3. crit - критичен настан;
  4. err - обична грешка;
  5. warn - обично предупредување;
  6. notice - известување;
  7. info - информативна порака;
  8. debug - информации за дебагирање;

Во моментов, главните услуги за собирање логови во Linux се rsyslog и systemd-journald . Тие одат со повеќето модерни дистрибутивни пакети и работат независно.

rsyslog

Дневниците на оваа услуга се наоѓаат во папката „ /var/log/ “ во форма на обични текстуални датотеки. Пораките од дневникот се ставаат во различни датотеки во зависност од типот на настанот. На пример, „ /var/log/auth.log “ содржи информации за овластувањето на корисниците во системот, а „ /var/log/kern.log “ содржи пораки од јадрото. Имињата на датотеките може да се разликуваат во различните дистрибутивни пакети, па затоа да ја погледнеме конфигурациската датотека за да добиете претстава каде се наоѓа „ /etc/rsyslog.d/50-default.conf “.

Сбор логов Linux утилитой rsyslog

Овие правила прикажуваат која датотека ги содржи сите типови пораки од дневникот. Левиот дел го прикажува типот на пораката во следната форма „ [Извор].[Приоритет] “, а десниот дел го прикажува името на датотеката од дневникот. При пишување, на типот на пораката може да се додаде знак „ * “. Тоа значи празна вредност или „ ништо “ што ја отстранува од листата. Да ги разгледаме подетално првите две правила.

“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”

Првото правило значи дека сите пораки примени од механизмот за авторизација ќе бидат евидентирани во датотеката „ /var/log/auth.log “. Сите обиди за авторизација (и успешни и неуспешни) ќе бидат евидентирани во оваа датотека. Второто правило означува дека сите пораки освен оние поврзани со авторизација ќе бидат евидентирани во датотеката „ /var/log/syslog “. Овие две датотеки се обично најпопуларни. Следните правила ја дефинираат патеката за складирање на логовите на јадрото „ kern.* “ и логовите на поштенската услуга „ mail.* “ .

Датотеките со логови може да се отворат со помош на кој било текстуален уредувач, како што се less , cat , tail . Ајде да ја отвориме датотеката „ /var/log/auth.log

less /var/log/auth.log
Запись во лог-фајле Линукс о неудачной попытке авторизации SSH

Секоја линија од датотеката е посебна порака добиена од апликацијата или услугата. Сите пораки без разлика на нивниот извор имаат еден формат и се состојат од 5 дела. Ајде да ја земеме означената порака на сликата од екранот како пример.

  1. Временски печат на пораката - „12 февруари 06:18:33“
  2. Име на компјутерот што ја испрати пораката - „vds“
  3. Име на апликацијата или услугата што ја испрати пораката - „sshd“
  4. Процес ID - [653]
  5. Текст на пораката - „Прифатена лозинка за mihail од 188.19.42.165 порта 2849 ssh2“

Ова беше пример за успешна врска со SSH.

А еве како изгледа неуспешен обид за најавување:

Читаем логи Линукс

Оваа датотека, исто така, снима команди со напредни дозволи

Как правильно прочитать лог Линукс

Да ја отвориме датотеката /var/log/syslog

Означената порака на сликата од екранот е пораката за исклучување на мрежниот интерфејс.

Утилита логотирај

За пребарување информации низ долги текстуални датотеки користете ја алатката grep . Можете да ги најдете сите пораки примени од pptpd услугата во датотеката „ /var/log/syslog “.

grep 'pptpd' /var/log/syslog
фајл „/etc/logrotate.d/rsyslog“

За време на дијагностиката можете да ја користите алатката tail која може да прикаже неколку последни редови од датотеките. Командата „ tail -f /var/log/syslog “ ќе ви овозможи да ги гледате записите што се снимаат во реално време.

Сервисот rsyslog е многу флексибилен и моќен. Може да се користи за собирање логови во локални системи, како и на ниво на претпријатие. Целосната документација можете да ја најдете на официјалната веб-страница https://www.rsyslog.com/

Ротација на дневници во Linux

Снимањето на логовите се случува континуирано, па затоа големината на датотеките постојано расте. Механизмот на ротација обезбедува автоматско архивирање на старите логови и креирање на нови датотеки. Во зависност од правилата, ова може да се случува дневно, неделно, месечно или според ограничувањето на големината. Како што се креираат нови логови, старите можат едноставно да се избришат или да се испратат по е-пошта. Ротацијата на логовите се извршува од алатката logrotate . Главната конфигурација можете да ја најдете во датотеката „ /etc/logrotate.conf “. Содржината на датотеките се обработува и во папката „ /etc/logrotate.d/ “.

Новите правила можат да се внесат во главната конфигурациска датотека. Сепак, најдобро е да креирате посебна датотека во „ /etc/logrotate.d/ “. Стандардно, во овој директориум има неколку датотеки.

Настраиваем ротацию логов во Линукс

Да ја погледнеме датотеката „ /etc/logrotate.d/rsyslog “ што содржи правила за ротација на логовите на услугата rsyslog.

Пример вывода всех ошибок pptpd во лог-фајлах

Прво, правилото треба да ја содржи патеката до датотеката за евиденција, а потоа да ги следи сите насоки во заоблени загради.

  • ротирај 7 - број на датотеки за чување - 7
  • секојдневно - креирајте нова датотека секој ден
  • компресирате - компресирајте и архивирајте ги старите датотеки
Учимся читать логи Линукс

На сликата од екранот можете да видите дека во папката „ /var/log/ “ се наоѓаат главниот лог „ syslog “ и 7 архиви, што одговара на правилата во конфигурациската датотека.

Подетален опис на logrotate можете да најдете во упатството, извршувајќи ја командата „ man logrotate “.

Собирање логови на Линукс - дневник

Услугата за собирање логови systemd-journald е дел од системот за иницијализација systemd . Датотеките за логови на Linux се чуваат во „ /var/log/journal/ “ во посебен формат и можат да се отворат со помош на алатката journalctl . Форматот на записите е потполно ист како во rsyslog.

Командата journalctl без атрибути ги прикажува сите записи, но не е погодна за поголеми логови. Ајде да погледнеме некои опции на оваа алатка.

  • journalctl -b - прикажете ги сите записи од последниот почеток
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - прикажувај рекорд во одреден временски период
  • journalctl -u pptpd - прикажување евиденција за одредена услуга
  • journalctl -k - прикажување пораки на јадрото
  • journalctl -p err - прикажи пораки со одреден приоритет, пораки со повисок приоритет во овој случај (крит, предупредување, појава)
  • journalctl -f - прикажувајте пораки во реално време

За поголема флексибилност, можете да ги комбинирате овие опции. Ајде да ги прикажеме сите грешки на услугата pptpd.

journalctl -u pptpd -p err
утилита последен

Ако ја наведете патеката до извршната датотека како атрибут, алатката ќе ги прикаже сите пораки испратени од оваа датотека. Ајде да ги прикажеме сите пораки испратени од датотеката „ /usr/bin/sudo “ од 04:15 часот на 18 февруари 2020 година. Всушност, ќе ги прикаже сите команди извршени со повисоки дозволи.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
командой lastb

За да дознаете колку простор на дискот заземаат датотеките за евиденција за да се изврши следнава команда

journalctl --disk-usage

За да ја ограничите датотеката за евиденција на 1Gb, извршете ја следнава команда

journalctl --vacuum-size=1G

Отворање бинарни датотеки

Сега да погледнеме некои посебни датотеки во папката „ /var/log/ “ каде што се зачувани сите обиди за најавување. Овие датотеки се бинарни и можат да се отворат само со посебни програми.

/var/log/wtmp содржи информации за успешни обиди за најавување. Користете ја алатката last за да ја отворите.

утилита lastlog

/var/log/btmp - ги содржи сите неуспешни обиди за најавување. Може да се отвори со lastb со напредни дозволи. Атрибутот -n го дефинира бројот на линии прикажани од крајот на датотеката.

/var/log/lastlog - го содржи времето на последното најавување за секој запис на сметката. Може да се отвори со lastlog.

❮ Претходна статија Линукс текстуални уредници
Следна статија ❯ Како да конфигурирате мрежни интерфејси во CentOS

Прашајте не за VPS

Секогаш сме подготвени да одговориме на вашите прашања во секое време од денот или ноќта.