Knowledgebase Profitserver ծառայության հետ աշխատելու պարզ հրահանգներ
Հիմնական Knowledgebase Ինչպես կարդալ Linux տեղեկամատյանները և որտեղ գտնել այն

Ինչպես կարդալ Linux տեղեկամատյանները և որտեղ գտնել այն


Երբ դուք բախվում եք ձեր սերվերի աշխատանքի հետ կապված որևէ խնդրի, առաջին բանը, որ դուք պետք է անեք, ձեր Linux գրանցամատյանների ստուգումն է : Համակարգի գրանցամատյանում կարող եք գտնել օպերացիոն համակարգի տարբեր բաղադրիչներից, ինչպիսիք են միջուկը կամ տարբեր ծառայություններից ստացված որոշ օգտակար ախտորոշիչ հաղորդագրություններ, ուստի, ամենայն հավանականությամբ, այնտեղ կգտնեք խափանման պատճառը:

Գրանցամատյանում յուրաքանչյուր հաղորդագրություն ստեղծվում է օպերացիոն համակարգի որոշակի իրադարձությունների արդյունքում՝ օգտատերից, ծառայության անջատման թույլտվություն կամ հավելվածի ձախողում: Այս իրադարձությունները տարբեր առաջնահերթություններ ունեն՝ կախված այն բանից, թե որքան կարևոր են դրանք: Linux-ում կան իրադարձությունների հետևյալ տեսակները.

  1. emerg - ձախողում, առաջնահերթություն;
  2. alert - հրատապ նախազգուշացում;
  3. crit - կրիտիկական իրադարձություն;
  4. err - սովորական սխալ;
  5. warn - սովորական նախազգուշացում;
  6. notice - ծանուցում;
  7. info - տեղեկատվական հաղորդագրություն;
  8. debug - վրիպազերծման տեղեկատվությունը;

Այս պահին Linux-ում logs հավաքագրման հիմնական ծառայություններն են 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-ի հետ հաջող միացման օրինակ էր:

Եվ ահա, թե ինչպես է թվում անհաջող մուտքի փորձը.

Читаем логи Linux

Այս ֆայլը նաև գրանցում է առաջադեմ թույլտվություններով հրամաններ

Как правильно прочитать лог Linux

Եկեք բացենք /var/log/syslog ֆայլը

Սքրինշոթի վրա ընդգծված հաղորդագրությունը ցանցային ինտերֆեյսի անջատման մասին հաղորդագրությունն է:

Утилита 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/»- ում ։ Ըստ լռելյայնի, այս գրացուցակում կան մի քանի ֆայլեր։

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

Եկեք նայենք « /etc/logrotate.d/rsyslog » ֆայլին, որը պարունակում է 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 - ցույց տալ որոշակի առաջնահերթության հաղորդագրություններ, այս դեպքում ավելի առաջնահերթ հաղորդագրություններ (crit, alert, emerg)
  • journalctl -f - ցույց տալ հաղորդագրությունները իրական ժամանակում

Ավելի մեծ ճկունության համար կարող եք համատեղել այս տարբերակները։ Եկեք ցույց տանք pptpd ծառայության բոլոր սխալները։

journalctl -u pptpd -p err
վերջ

Եթե ​​որպես ատրիբուտ նշեք կատարվող ֆայլի ուղին, ծրագիրը կցուցադրի այս ֆայլի կողմից ուղարկված բոլոր հաղորդագրությունները: Եկեք ցույց տանք « /usr/bin/sudo » ֆայլի կողմից 2020 թվականի փետրվարի 18-ի, ժամը 04:15-ից ի վեր ուղարկված բոլոր հաղորդագրությունները: Փաստորեն, այն կցուցադրի բոլոր հրամանները, որոնք կատարվել են ավելի բարձր թույլտվություններով:

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

Պարզելու համար, թե որքան սկավառակի տարածք են զբաղեցնում գրանցամատյանների ֆայլերը հետևյալ հրամանը կատարելու համար

journalctl --disk-usage

Մատյան ֆայլը 1 Գբ-ով սահմանափակելու համար կատարեք հետևյալ հրամանը

journalctl --vacuum-size=1G

Երկուական ֆայլերի բացում

Հիմա եկեք նայենք « /var/log/ » թղթապանակի որոշ հատուկ ֆայլերի, որտեղ պահվում են բոլոր մուտք գործելու փորձերը: Այս ֆայլերը երկուական են և կարող են բացվել միայն հատուկ ծրագրերով:

/var/log/wtmp ֆայլը պարունակում է հաջող մուտք գործելու փորձերի մասին տեղեկատվություն: Օգտագործեք վերջին ծրագիրը այն բացելու համար:

утилита lastlog

/var/log/btmp - պարունակում է բոլոր անհաջող մուտք գործելու փորձերը: Այն կարող է բացվել lastb-ով լրացուցիչ թույլտվություններով: Attribute -n-ը սահմանում է ֆայլի վերջից ցուցադրվող տողերի քանակը:

/var/log/lastlog - պարունակում է հաշվի յուրաքանչյուր գրառման վերջին մուտքի գործողության ժամը։ Այն կարող է բացվել lastlog- ով։

❮ Նախորդ հոդված Linux տեքստային խմբագրիչներ
Հաջորդ հոդվածը ❯ Ինչպես կարգավորել ցանցային միջերեսները CentOS-ում

Հարցրեք մեզ VPS-ի մասին

Մենք միշտ պատրաստ ենք պատասխանել ձեր հարցերին օրվա կամ գիշերվա ցանկացած ժամի: