Білім қоры 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. Процесс идентификаторы - [653]
  5. Хабарлама мәтіні - «Mihail үшін 188.19.42.165 2849 ssh2 портынан қабылданған құпия сөз»

Бұл SSH-ге сәтті қосылудың мысалы болды.

Сәтсіз кіру әрекеті келесідей көрінеді:

Linux логинін оқыңыз

Бұл файл қосымша рұқсаттары бар пәрмендерді де жазады

Linux жүйесінде дұрыс прочитать лог

/var/log/syslog файлын ашайық

Скриншотта бөлектелген хабар желі интерфейсінің өшірілуі туралы хабар болып табылады.

Utilita logorotate

Ұзын мәтіндік файлдар арқылы ақпарат іздеу үшін 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/ » ішінде бөлек файл жасаған дұрыс . Әдепкі бойынша, бұл каталогта бірнеше файл бар.

Линукстағы логовты басқару

rsyslog қызметінің журналдарын айналдыру ережелерін қамтитын « /etc/logrotate.d/rsyslog » файлын қарастырайық.

Мысал вывода всех ошибок pptpd в лог-файлах

Біріншіден, ереже журнал файлына жолды қамтуы керек, содан кейін қисық жақшадағы барлық нұсқауларды өту керек.

  • 7. айналдыру - сақталатын файлдар саны - 7
  • күн сайын - күн сайын жаңа файл жасаңыз
  • қысу - ескі файлдарды сығу және мұрағаттау
Учимся читать логи Линукс

Скриншоттан « /var/log/ » қалтасында негізгі « syslog » журналы және конфигурация файлындағы ережелерге сәйкес келетін 7 мұрағат бар екенін көруге болады.

Logrotate туралы толығырақ сипаттаманы нұсқаулықтан « man logrotate » командасын орындау арқылы таба аласыз.

Linux журналдарын жинау - журналда

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
соңғы утилита

Егер сіз атрибут ретінде орындалатын файлға жолды көрсетсеңіз, утилита осы файл жіберген барлық хабарламаларды көрсетеді. 2020 жылдың 18 ақпанында сағат 04:15-тен бастап « /usr/bin/sudo » файлы жіберген барлық хабарламаларды көрсетейік. Шын мәнінде, ол жоғары рұқсаттармен орындалған барлық командаларды көрсетеді.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
командой соңғыб

Келесі пәрменді орындау үшін журнал файлдары қанша дискілік орын алатынын білу үшін

journalctl --disk-usage

Журнал файлын 1 Гб дейін шектеу үшін келесі пәрменді орындаңыз

journalctl --vacuum-size=1G

Екілік файлдарды ашу

Енді барлық кіру әрекеттері сақталған « /var/log/ » қалтасындағы кейбір арнайы файлдарды қарастырайық . Бұл файлдар екілік болып табылады және оларды тек арнайы бағдарламалармен ашуға болады.

/var/log/wtmp файлында кіруге сәтті әрекеттер туралы ақпарат бар. Оны ашу үшін соңғы утилитаны пайдаланыңыз.

соңғы журналды пайдаланыңыз

/var/log/btmp - барлық сәтсіз кіру әрекеттерін қамтиды. Оны кеңейтілген рұқсаттармен lastb арқылы ашуға болады. -n атрибуты файлдың соңынан көрсетілетін жолдар санын анықтайды.

/var/log/lastlog - әрбір тіркелгі жазбасы үшін соңғы кіру әрекетінің уақытын қамтиды. Оны lastlog арқылы ашуға болады

❮ Алдыңғы мақала Linux мәтіндік редакторлары
Келесі мақала ❯ CentOS жүйесінде желілік интерфейстерді қалай конфигурациялауға болады

Бізден VPS туралы сұраңыз

Біз сіздің сұрақтарыңызға күннің немесе түннің кез келген уақытында жауап беруге дайынбыз.