Ubuntu jurnali. Linux jurnali fayllari tartibda. log fayllari va ularning Linuxdagi joylashuvi

Kirish

GNU/Linux-ni ajoyib qiladigan narsalardan biri operatsion tizim Bu tizimda va tizimda sodir bo'layotgan deyarli hamma narsa va har qanday narsa qandaydir tarzda tizimga kirishi mumkin. Ushbu ma'lumot tizimdan xabardor tarzda foydalanish uchun bebaho bo'lib, tizim va ilovalar bilan bog'liq muammolarni bartaraf etish uchun foydalanadigan birinchi manbalardan biri bo'lishi kerak. Jurnallar sizga bilishingiz kerak bo'lgan deyarli hamma narsani aytib berishi mumkin, agar siz avval qayerga qarashni bilsangiz.

Sizning Ubuntu tizimingiz turli tizim jurnallari fayllari yordamida muhim ma'lumotlarni taqdim etadi. Ushbu jurnal fayllari odatda standart jurnal fayl formatidagi oddiy ASCII matn bo'lib, ularning aksariyati an'anaviy tizim jurnali quyi katalogida joylashgan /var/log . Ko'pchilik tizim jurnali demoni, tizim nomidan syslogd va ma'lum ilovalar tomonidan yaratilgan, ba'zi ilovalar esa to'g'ridan-to'g'ri /var/log dagi fayllarga yozish orqali o'z jurnallarini yaratadi.

Ushbu qo'llanmada ushbu tizim jurnallarining bir nechta fayllarini qanday o'qish va ulardan foydalanish, tizim jurnali demoni, syslogd dan qanday foydalanish va sozlash va jurnalni aylantirish qanday ishlashi haqida so'z boradi. ga qarang Resurslar qo'shimcha ma'lumot uchun bo'lim.

Maqsadli auditoriya

Agar siz konsoldan foydalanish va matn muharriri yordamida matn fayllarini tahrirlash bo'yicha tajribaga ega bo'lsangiz, ushbu qo'llanmadan foydalanish juda oddiy bo'ladi. Agar buyruq satrida nisbatan yangi bo'lsangiz, ushbu fayllar atrofida yo'lingizni topishga yordam beradigan ba'zi muhim buyruqlar uchun ushbu hujjatning oxiriga qarang.

Tizim jurnallari

Tizim jurnallari asosan foydalanuvchilar tomonidan qo'shilgan qo'shimcha ilovalar bilan emas, balki Ubuntu tizimining ishlashi bilan bog'liq. Masalan, avtorizatsiya mexanizmlari, tizim demonlari, tizim xabarlari va hamma narsani o'z ichiga olgan tizim jurnalining o'zi, syslog.

Avtorizatsiya jurnali

Avtorizatsiya jurnali avtorizatsiya tizimlaridan foydalanishni, foydalanuvchi parollarini so'raydigan foydalanuvchilarni avtorizatsiya qilish mexanizmlarini, masalan, Pluggable Authentication Module (PAM) tizimi, sudo buyrug'i, sshd-ga masofadan kirish va hokazolarni kuzatib boradi. Avtorizatsiya jurnali fayliga /var/log/auth.log manzilida kirish mumkin. Ushbu jurnal foydalanuvchi loginlari va sudo buyrug'idan foydalanishni o'rganish uchun foydalidir.

Ovoz balandligini kamaytirish uchun grep dan foydalaning. Masalan, avtorizatsiya jurnalida faqat sshd loginlariga tegishli ma'lumotlarni ko'rish uchun bundan foydalaning:

grep sshd /var/log/auth.log | Ozroq

Daemon jurnali

Demon - bu fonda, odatda inson aralashuvisiz ishlaydigan va tizimingizning to'g'ri ishlashi uchun muhim bo'lgan ba'zi operatsiyalarni bajaradigan dastur. Demon jurnali /var/log/daemon.log va Gnome Display Manager daemon gdm, Bluetooth HCI daemon hcid yoki MySQL ma'lumotlar bazasi daemon mysqld kabi ishlaydigan tizim va dastur demonlari haqida ma'lumotni o'z ichiga oladi. Bu sizga ma'lum bir demon bilan bog'liq muammolarni bartaraf etishga yordam beradi.

Shunga qaramay, siz qiziqqan demon nomini kiritib, aniq ma'lumotlarni topish uchun grep-dan foydalaning.

Nosozliklarni tuzatish jurnali

Nosozliklarni tuzatish jurnali /var/log/debug va Ubuntu tizimi va DEBUG darajasida syslogd-ga kiradigan ilovalardan batafsil disk raskadrovka xabarlarini taqdim etadi.

Yadro jurnali

/var/log/kern.log manzilidagi yadro jurnali Ubuntu Linux yadrosidan kelgan xabarlarning batafsil jurnalini taqdim etadi. Ushbu xabarlar, masalan, yangi yoki maxsus tuzilgan yadroda muammolarni bartaraf etish uchun foydali bo'lishi mumkin.

Yadro halqasi buferi

Yadro halqasi buferi aslida jurnal fayli emas, balki dmesg yordam dasturi orqali yadroni ishga tushirish xabarlarini so'rashingiz mumkin bo'lgan ishlaydigan yadrodagi maydondir. Xabarlarni ko'rish uchun quyidagilardan foydalaning:

dmesg | Ozroq

Yoki Plug & Play tizimi eslatib o'tilgan qatorlarni qidirish uchun, masalan, grep dan quyidagi kabi foydalaning:

dmesg | grep pnp | Ozroq

Odatiy bo'lib, tizimni ishga tushirish skripti /etc/init.d/bootmisc.sh barcha yuklash xabarlarini /var/log/dmesg fayliga ham yuboradi. Siz ushbu faylni odatdagi usulda ko'rishingiz va qidirishingiz mumkin.

Tizim jurnali

Tizim jurnali odatda Ubuntu tizimingiz haqida sukut bo'yicha eng katta ma'lumotlarni o'z ichiga oladi. U /var/log/syslog manzilida joylashgan va boshqa jurnallarda mavjud bo'lmagan ma'lumotlarni o'z ichiga olishi mumkin. Boshqa jurnalda kerakli jurnal ma'lumotlarini topa olmasangiz, tizim jurnaliga murojaat qiling. Unda /var/log/messages da bo'lgan hamma narsa ham mavjud.

Ilova jurnallari

Ko'pgina ilovalar /var/log da jurnallar yaratadi. Agar /var/log pastki katalogingiz tarkibini sanab o'tsangiz, Apache 2 uchun jurnallarni ifodalovchi /var/log/apache2 kabi tanish nomlarni ko'rasiz. veb-server, yoki /var/log/samba , bu Samba serveri uchun jurnallarni o'z ichiga oladi. Qo'llanmaning ushbu bo'limida ilovalar jurnallari va ulardagi ma'lumotlarning ba'zi aniq misollari keltirilgan.

Apache HTTP server jurnallari

Ubuntu'da Apache2 uchun standart o'rnatish jurnal pastki katalogini yaratadi: /var/log/apache2 . Ushbu kichik katalog ichida ikkita alohida maqsadli ikkita jurnal fayli mavjud:

    /var/log/apache2/access.log - xizmat ko'rsatilgan har bir sahifa va veb-server tomonidan yuklangan har bir faylning yozuvlari.

    /var/log/apache2/error.log - HTTP serveri tomonidan xabar qilingan barcha xatolik holatlarining yozuvlari

Odatiy bo'lib, Apache har safar fayl yoki sahifaga kirganda, kirish jurnallari IP manzilini, vaqt va sanani, brauzer identifikatsiya qatorini, HTTP natija kodi va haqiqiy so'rov matnini yozib oladi, bu odatda sahifani ko'rish uchun GET bo'ladi. To'liq ma'lumot uchun Apache hujjatlariga qarang; Ushbu fayldan juda ko'p ma'lumotlarni olish mumkin va haqiqatan ham ushbu jurnallarni tahlil qiladigan ko'plab statistik paketlar mavjud.

Bundan tashqari, har qanday xatolik yuz berganda, Apache xato jurnaliga qator qo'shadi. Agar siz PHP-ni xato va ogohlantirish xabarlari o'chirilgan holda ishlatsangiz, bu xatolarni aniqlashning yagona yo'li bo'lishi mumkin.

CUPS Chop etish tizimi jurnallari

Common Unix Printing System (CUPS) axborot va xato xabarlarini saqlash uchun standart jurnal faylidan /var/log/cups/error_log foydalanadi. Agar siz Ubuntu'da chop etish muammosini hal qilishingiz kerak bo'lsa, ushbu jurnal boshlash uchun yaxshi joy bo'lishi mumkin.

Rootkit Hunter jurnali

Rootkit Hunter yordam dasturi (rkhunter) Ubuntu tizimingizda orqa eshiklar, snifferlar va rootkitlar mavjudligini tekshiradi, bularning barchasi tizimingiz buzilganligini ko'rsatadi. Rkhunter foydalanadigan jurnal /var/log/rkhunter.log manzilida joylashgan.

Samba SMB server jurnallari

Server Message Block Protocol (SMB) serveri Samba keng tarqalgan bo'lib Ubuntu kompyuteringiz va SMB protokolini qo'llab-quvvatlaydigan boshqa kompyuterlar o'rtasida fayllarni almashish uchun ishlatiladi. Samba /var/log/samba pastki katalogida uch xil turdagi jurnallarni saqlaydi:

    log.nmbd - IP orqali Samba-ning NETBIOS-ga tegishli xabarlar (tarmoq ma'lumotlari)

    log.smbd - Samba-ning SMB/CIFS funksiyasi bilan bog'liq xabarlar (fayl va bosma almashish materiallari)

    jurnal. - jurnal fayl nomidagi IP-manzildan xizmatlarga so'rovlar bilan bog'liq xabarlar, masalan, log.192.168.1.1 .

X11 Server jurnali

Ubuntu bilan qo'llaniladigan standart X11 Windowing Server Xorg X11 serveridir va kompyuteringizda faqat bitta displey belgilangan bo'lsa, u jurnal xabarlarini /var/log/Xorg.0.log faylida saqlaydi. Ushbu jurnal X11 muhiti bilan bog'liq muammolarni aniqlash uchun yordam beradi.

Inson tomonidan o'qilmaydigan jurnallar

/var/log pastki katalogida joylashgan ba'zi jurnal fayllari odamlar tomonidan emas, balki ilovalar tomonidan o'qilishi uchun mo'ljallangan. /var/log da paydo bo'ladigan bunday jurnal fayllariga ba'zi misollar quyida keltirilgan.

Kirish xatoliklari jurnali

/var/log/faillog manzilida joylashgan login xatolar jurnali aslida faillog buyrug'i bilan tahlil qilish va ko'rsatish uchun mo'ljallangan. Masalan, so'nggi kirish xatoliklarini chop etish uchun quyidagilarni foydalaning:

muvaffaqiyatsizlik jurnali

Oxirgi kirishlar jurnali

/var/log/lastlog-dagi oxirgi loginlar odatda odamlar tomonidan tahlil qilinmasligi va tekshirilmasligi kerak, aksincha, lastlog buyrug'i bilan birgalikda ishlatilishi kerak. Masalan, lastlog buyrug'i bilan loginlar ro'yxatini ko'rish uchun, har bir ekranda kamroq buyruq bilan bitta sahifa ko'rsatiladi, quyidagi buyruqdan foydalaning:

oxirgi jurnal | Ozroq

Kirish yozuvlari jurnali

/var/log/wtmp fayli kirish yozuvlarini o'z ichiga oladi, lekin yuqoridagi /var/log/lastlog dan farqli o'laroq, /var/log/wtmp so'nggi kirishlar ro'yxatini ko'rsatish uchun ishlatilmaydi, balki uning o'rniga boshqa yordam dasturlari tomonidan ishlatiladi, masalan, kim ro'yxatini ko'rsatish buyrug'i hozirda tizimga kirgan foydalanuvchilar. Ushbu buyruq hozirda kompyuteringizga kirgan foydalanuvchilarni ko'rsatadi:

JSSV

Tizim jurnali daemoni (syslogd)

sysklogd deb ham ataladigan tizim jurnali demoni syslogd ko'p manbalardan xabarlarni ro'yxatga olishni kutadi va xabarlarni tegishli fayl yoki tarmoq manziliga yo'naltiradi. Syslogd-ga kiritilgan xabarlar odatda maxsus jurnal ma'lumotlariga qo'shimcha ravishda tizim xost nomlari va vaqt belgilari kabi umumiy elementlarni o'z ichiga oladi.

Syslogd konfiguratsiyasi

Syslogd demonining konfiguratsiya fayli /etc/syslog.conf . Ushbu fayldagi har bir yozuv ikkita maydondan, selektor va harakatdan iborat. Selektor maydoni jurnalga yoziladigan ob'ektni belgilaydi, masalan autent avtorizatsiya bilan shug'ullanadigan ob'ekt va bunday ma'lumotlarni ro'yxatga olish uchun ustuvorlik darajasi, masalan ma'lumot, yoki ogohlantirish. Harakat maydoni standart jurnal fayli (masalan, /var/log/syslog) yoki jurnal ma'lumotlarini yuborish uchun masofaviy kompyuterning xost nomi kabi jurnal ma'lumotlari uchun maqsaddan iborat.

Logger yordamida syslogd-ga xabarlarni aks ettirish

Ro'yxatga oluvchi asbobda xabarlarni tizim jurnaliga (ya'ni /var/log/syslog) o'zboshimchalik bilan joylashtirish imkonini beruvchi toza yordamchi dastur mavjud. Misol uchun, foydalanuvchi ismingiz buddha deb faraz qiling va siz syslogga o'zingiz iste'mol qilayotgan juda mazali pitsa haqida xabar kiritmoqchi bo'lsangiz, terminal so'rovida quyidagi kabi buyruqdan foydalanishingiz mumkin:

logger Vinnys Gourmet Rocks-dan bu pizza

va siz /var/log/syslog faylida quyidagi qatorga ega bo'lasiz:

12 yanvar 23:34:45 localhost Budda: Vinnys Gourmet Rocksdan olingan bu pizza

Siz hatto xabarlar kelgan tegni belgilashingiz va chiqish standart xatosini ham qayta yo'naltirishingiz mumkin.

# # namuna logger xatosi jive # logmsg="/usr/bin/logger -s -t MyScript " # ushbu skript nima ekanligini e'lon qiling, hatto $logmsg "Directory Checker FooScript Jive 1.0" # Fred mavjudligini tekshirish" s home dir ushbu mashinada agar [ -d /home/fred ]; keyin $logmsg "I. Fredning uy katalogi topildi" boshqa $logmsg "E. Fredning uy katalogi topilmadi. "Boo Hoo." 1 fi chiqish

Ushbu skriptni Fredning /home/fred uy katalogi bo'lmagan mashina moylarida chkdir.sh sifatida bajarish quyidagi natijalarni beradi:

bumpy@butters:~$./chkdir.sh MyScript: katalog tekshiruvi FooScript Jive 1.0 MyScript: E. Fredning asosiy katalogi topilmadi. Boo Hoo. bumpy@butters:~$tail -n 2 /var/log/syslog 12-yanvar 23:23:11 localhost MyScript: Directory Checker FooScript Jive 1.0 12 yanvar 23:23:11 localhost MyScript: E. Fredning uy katalogi topilmadi. Boo Hoo.

Shunday qilib, siz ko'rib turganingizdek, biz xabarlarni standart xatolik orqali, terminal so'rovida oldik va ular bizning tizimlar jurnalida ham paydo bo'ladi.

Jurnalni aylantirish

Katalog ro'yxatlarini /var/log yoki uning har qanday quyi kataloglarida ko'rayotganda siz daemon.log.0 , daemon.log.1.gz va boshqalar kabi nomli jurnal fayllariga duch kelishingiz mumkin. Bu jurnal fayllari nima? Ular "aylanuvchi" jurnal fayllari. Ya'ni, ular oldindan belgilangan vaqt oralig'idan keyin avtomatik ravishda qayta nomlandi va yangi original jurnal boshlandi. Ko'proq vaqt o'tgach, jurnal fayllari daemon.log.1.gz misolidagi kabi gzip yordam dasturi bilan siqiladi. Jurnalni aylantirishning maqsadi eski jurnallarni arxivlash va siqishdir, shunda ular diskda kamroq joy egallaydi, lekin kerak bo'lganda tekshirish uchun mavjud. Ushbu funktsiyani nima boshqaradi? Nima uchun, albatta, logrotate buyrug'i! Odatda, logrotate /etc/cron.daily/logrotate tizimi bo'ylab cron skriptidan chaqiriladi va keyinchalik /etc/logrotate.conf konfiguratsiya fayli bilan belgilanadi. Individual konfiguratsiya fayllari /etc/logrotate.d ichiga qo'shilishi mumkin (masalan, Apache2 va MySQL konfiguratsiyalari saqlanadi).

Ushbu qo'llanma Ubuntu tizimingizdagi har qanday jurnal faylining avtomatik aylanishini boshqarish uchun logrotate sozlanishi mumkin bo'lgan ko'plab usullarni qamrab olmaydi. Batafsil ma'lumot uchun tekshiring Resurslar ushbu qo'llanmaning bo'limi.

ESLATMA: Bundan tashqari, logrotate dan foydalanish o'rniga cron.daily skripti /etc/cron.daily/sysklogd orqali tizim jurnali fayllarini aylantirishingiz mumkin. Aslida, saqlash jurnali logrotatsiyani sozlashda hech qanday ta'sir ko'rsatmaydigan jurnalni aylantirishda kutilmagan natijalar berishi mumkin. Bunday hollarda, cron.daily sysklogd skriptini /etc/cron.daily/sysklogd da tekshirishingiz va savelog aslida siz ko'rsatmagan tarzda aylantirishni amalga oshirmayotganligini bilish uchun savelog qo'llanmasi sahifasini o'qing. logrotate.

Muhim buyruqlar

Agar siz konsol va Linux buyruqlar qatorida yangi bo'lsangiz, bu buyruqlar sizni log fayllari bilan asosiy darajada ishlashingiz mumkin bo'lgan nuqtaga olib boradi.

Ishni boshlash

Ushbu fayllarning aksariyati joylashgan jurnallar katalogiga o'tish uchun cd buyrug'idan foydalaning. Bu har bir keyingi buyruq uchun to'liq yo'l nomini yozishni tejaydi:

cd /var/log

Fayllarni tahrirlash

Siz mos ravishda Ubuntu va Kubuntu bilan birga kelgan oddiy matn muharrirlari bo'lgan GEdit yoki Kate-da fayllarni ko'rishingiz va tahrirlashingiz mumkin, lekin siz faqat faylga qarash yoki oddiy o'zgartirishlar kiritish bo'lsa, ular ortiqcha bo'lishi mumkin. Konsoldan foydalanish uchun eng oson muharrir nano bo'lib, u unchalik kuchli emas, lekin vim yoki emacsga qaraganda unchalik murakkab emas. Nano-dan foydalangan holda ma'lum bir logfayl /var/log/example.logni tahrirlash buyrug'i:

nano example.log

Chiqish uchun Ctrl+X tugmalarini bosing. Chiqish paytida siz o'zgarishlarni saqlashni xohlaysizmi, deb so'raydi, lekin agar siz uni sudo buyrug'i bilan ishga tushirmasangiz, fayllarni yozib bo'lmaydi. Umuman olganda, siz o'zgarishlarni jurnal fayllariga saqlashni xohlamaysiz, albatta.

Fayllarni ko'rish

Faylni oddiygina ko'rib chiqish uchun muharrir ortiqcha ish. Bir vaqtning o'zida bir ekranda fayl bo'ylab qaysi sahifalar ochiladigan kamroq buyrug'idan foydalaning:

kamroq misol.log

Faylni koʻrish uchun sudo tugmasi kerak emas. Yordam olish uchun h yoki chiqish uchun q tugmasini bosing. Kursor tugmalari va sahifani yuqoriga/pastga tugmalari kutilganidek ishlaydi va slash tugmasi ("/") esa vaziyatni hal qiladi- sezgir qidiruv; n tugmasi oxirgi qidiruvni takrorlaydi.

Fayllarning boshini ko'rish

Faylning birinchi o'n qatorini ko'rish uchun head buyrug'idan foydalaning:

bosh misol.log

Fayl boshidan boshqa qator qatorlarni ko'rish uchun -n kalitini qo'shing, shunday qilib:

head -n 20 misol.log

Fayllar oxirini ko'rish

Faylning oxirgi o'n qatorini ko'rish uchun o'xshash buyruq tail:

quyruq misoli.log

Shunga qaramay, -n kaliti sizga qancha qatorni ko'rsatishini boshqarish imkonini beradi:

tail -n 20 misol.log

O'zgaruvchan faylni tomosha qilish

Bundan tashqari, -f ("kuzatish") tugmasi dumni doimiy ravishda o'zi ko'rsatayotgan faylga yangi qo'shimchalarni kutib, tsiklga qo'yadi. Bu real vaqtda yangilanayotgan fayllarni kuzatish uchun foydalidir:

tail -f example.log

Ko'chadan chiqish uchun Ctrl+C tugmalarini bosing.

Fayllarni qidirish

Jurnal fayllari katta va noqulay bo'lishi mumkinligi sababli, bu diqqatni jamlashga yordam beradi. grep buyrug'i faqat sizga qiziq bo'lgan tarkibni olib tashlashga yordam beradi. Masalan, "tizim" so'zini o'z ichiga olgan fayldagi barcha satrlarni topish uchun quyidagilarni ishlating:

grep "tizim" misol.log

Qator boshida "tizim" ni o'z ichiga olgan barcha qatorlarni topish uchun buni ishlating:

grep "^system" misol.log

Karet belgisiga e'tibor bering, bu faqat chiziq boshiga mos keladigan muntazam ifodadir. Bu har doim sana va vaqt bilan boshlanadigan standart jurnal fayllari uchun unchalik foydali emas, lekin aks holda qulay bo'lishi mumkin. Hamma fayllar standart formatga ega emas.

Har qanday vaqtda grep natijasi hali juda uzun bo'lsa, uni kamroq o'tkazishingiz mumkin:

grep "tizim" misol.log | Ozroq

Resurslar

Tizim va ilovalar jurnallari va syslogd haqida qo'shimcha ma'lumotni quyidagi manbalar orqali olish mumkin:

Mahalliy tizim resurslari

dmesg yadro halqasi bufer yordam dasturi uchun tizim qo'llanmasi sahifasi

Faillog buyrug'i uchun tizim qo'llanmasi sahifasi (shuningdek, man 5 faillog orqali faillog konfiguratsiya fayli)

Grep naqsh qidirish yordam dasturi uchun tizim qo'llanmasi sahifasi

Bosh yordam dasturi uchun tizim qo'llanmasi sahifasi

Yadro jurnali demoni (klogd) uchun tizim qo'llanmasi sahifasi

Oxirgi tizimga kirgan foydalanuvchilarni ko'rsatadigan oxirgi buyruq uchun tizim qo'llanmasi

Kamroq paging yordam dasturi uchun tizim qoʻllanmasi sahifasi

Syslog yordam dasturiga logger buyruq qatori interfeysi uchun tizim qo'llanmasi sahifasi

Logrotate yordam dasturi uchun tizim qo'llanmasi sahifasi

Savelog jurnali faylini saqlash yordam dasturi uchun tizim qoʻllanmasi sahifasi

Tizim jurnali demoni (syslogd) uchun tizim qoʻllanmasi sahifasi

Syslogd konfiguratsiya fayli uchun tizim qoʻllanmasi sahifasi

Quyruq yordam dasturi uchun tizim qo'llanmasi sahifasi


Linuxda jurnal fayllarini (jurnal fayllarini) ko'rayotganda, ba'zida siz real vaqtda yangi jurnal yozuvlarini kuzatishingiz kerak bo'ladi. Ya'ni, siz qaysi jurnal faylini (yoki fayllarni) ko'rishni va ushbu fayldagi yangi yozuvlarni real vaqtda kuzatib borishni belgilaysiz.

Jurnal fayllarini tail buyrug'i bilan kuzatish

Agar siz buyruqni bajarsangiz tailFileName qo'shimcha argumentlarsiz faylning oxirgi 10 qatori chop etiladi va buyruq o'z ishini yakunlaydi.

Quyruq buyrug'i doimiy ravishda chiqishi uchun oxirgi eslatmalar faylda, ya'ni faylda yangi yozuvlar paydo bo'lgan bo'lsa, ekrandagi ma'lumotlar yangilangan bo'lsa, -f opsiyasi ishlatiladi:
tail -f LogfileName

/var/log/syslog jurnali faylini chiqarish uchun tail -f buyrug'ini bajaring

quyruq -f /var/log/syslog

Variant ishlatilganligi sababli -f, tail buyrug'i o'z ishini tugatmaydi, lekin jurnal faylida yangi yozuvlar paydo bo'lishini kutadi. Jurnal fayliga yangi yozuvlar qo'shilgach, ular darhol terminalda ko'rsatiladi.

Buyruqning bajarilishini to'xtatish uchun Ctrl+C klaviatura yorliqlarini bosing

tailf buyrug'i

tail -f buyrug'i tailf buyrug'iga teng.

Foydalanish:

Tailf /var/log/mylogfile.log

Tayf buyrug'i va tail -f o'rtasidagi muhim farq shundaki, tailf fayl o'zgartirilmaganda unga kira olmaydi. Natijada, faylga kirish vaqti yangilanmaydi va fayl yangilanmagan bo'lsa, tizim doimiy ravishda faylni diskka o'tkazmaydi.

Tayf buyrug'ining tavsifi noutbuklarda jurnal fayllarini kuzatish uchun foydali ekanligini ko'rsatadi. Chunki diskka keraksiz kirmaydi va batareya quvvati saqlanib qoladi.

quyruq - F. Agar fayl nomi o'zgartirilgan yoki o'chirilgan bo'lsa

Odatda, Linuxda jurnal fayllari cheksiz yozilmaydi, aks holda bunday fayl kelajakda foydalanish uchun juda noqulay bo'ladi. Buning o'rniga, faylni aylantirish deb ataladigan narsa ishlatiladi. Jurnal fayli kattalashganda, u o'chiriladi yoki nomi o'zgartiriladi (faylning zaxira nusxasi yaratiladi) va keyingi xabarlar yangi, bo'sh faylga yozila boshlaydi.

Quyruq buyrug'i ikkita variantga ega: -f va -F

  • Agar ishlatilsa variant -f va kuzatilgan fayl nomi o'zgartiriladi, tail buyrug'i allaqachon o'zgartirilgan faylni kuzatishda davom etadi. Jamoa quyruq bu holda u faylning identifikatoriga (inode) bog'langan.
  • Agar ishlatilsa variant - F va kuzatilgan fayl nomi o'zgartirilsa, tail buyrug'i buni aniqlaydi va yangi jurnal fayli yaratilishi bilanoq (biz buyruqqa ko'rsatgan nom bilan) quyruq), jamoa quyruq ushbu yangi faylni kuzatishni boshlaydi.

Keling, bir misolni ko'rib chiqaylik.

Biz /var/log/apache2/error.log jurnalini kuzatib boramiz. -F opsiyasi bilan tail buyrug'ini bajaring

Quyruq -F /var/log/apache2/error.log

Agar tizim error.log faylini error.log.1 ga ko'chirsa (nomini o'zgartirsa) va yangi error.log faylini yaratsa, bizning tail buyrug'imiz yangi error.log faylini kuzatishda davom etadi.

Agar biz ushbu misoldagi variantdan foydalansak -f, keyin tail buyrug'i real vaqt rejimida jurnallarni ko'rishda biz uchun ahamiyatsiz bo'lgan error.log.1 faylini kuzatishda davom etadi.

Bir vaqtning o'zida bir nechta jurnal fayllarini kuzatib boring

Quyruq buyrug'i bir vaqtning o'zida bir nechta fayllarni kuzatishni qo'llab-quvvatlaydi. Buning uchun siz bo'sh joylar bilan ajratilgan fayl nomlarini belgilashingiz kerak.

Quyruq -f /var/log/apache2/error.log /var/log/apache2/access.log

Har qanday fayl o'zgarishi bilan ekranda ushbu fayl nomi va undagi yangi yozuvlar ko'rsatiladi.

Bir vaqtning o'zida bir nechta jurnal fayllarini kuzatish uchun juda qulay multitail yordam dasturi mavjud

U shunchaki ma'lumotlarni ko'rsatmaydi, balki har bir fayl uchun o'z oynasini (maydonini) yaratadi va ma'lumotlarni shu oynada ko'rsatadi. Uning yordami bilan bir vaqtning o'zida ko'plab jurnal fayllarini kuzatish va ularni bitta terminal oynasida ko'rish juda qulay.

Multitail yordam dasturini tarqatishning standart omborlaridan o'rnatish mumkin. O'rnatish uchun buyruqni bajaring (tarqatish uchun tegishli buyruqni tanlang):

Sudo apt install multitail sudo yum install multitail sudo dnf multitail o'rnatish

Foydalanish:

Multitail /var/log/apache2/access.log /var/log/apache2/error.log

Yordamchi dasturdan chiqish uchun q tugmasini bosing

Barcha jurnal fayllari /var/log katalogida joylashgan. Ushbu katalogda har bir jurnal turi uchun maxsus fayllar mavjud. Masalan, yadro faoliyati kabi tizim jurnallari syslog faylida qayd etiladi.

Ushbu katalogdagi eng keng tarqalgan jurnal fayllari:

    apt katalogida barcha paketlarni o'rnatish va olib tashlash ma'lumotlarini, hatto Live CD sifatida tuzilgan dastlabki tizimni saqlaydigan tarix.log fayli mavjud. Ushbu juda qiziqarli faylni ko'rish uchun ushbu faylni ochishingiz mumkin.

    Dist-upgrade katalogida tarqatish yangilanishi paytida ma'lumotlarni qayd qiluvchi apt.log fayli mavjud

    Katalog o'rnatuvchida o'rnatish vaqtida yaratilgan jurnal fayllarini topish mumkin.

    Tizimdagi nosozliklar va ular haqida xabar beruvchi ma'lumotlarni saqlaydigan apport.log fayli mavjud.

    auth.log fayli autentifikatsiya faoliyati haqidagi ma'lumotlarni o'z ichiga oladi, masalan, sudo orqali ildiz foydalanuvchi sifatida autentifikatsiya qilinganingizda.

    dpkg.log fayli dpkg bilan bog'liq paketlarni o'rnatish va olib tashlashning past darajadagi tafsilotlarini saqlaydi. Apt tizimi paketni o'rnatish va olib tashlash uchun dpkg ga bog'liqligini bilishingiz mumkin.

    boot.log har bir yuklash haqidagi ma'lumotlarni o'z ichiga oladi.

    kern.log ogohlantirishlar, xatolar va boshqalar kabi yadro ma'lumotlarini saqlaydi.

    alternatives.log turli paketlar tomonidan o'rnatilgan barcha alternativalar tarixini va ularni update-alternatives buyrug'i orqali olib tashlashni o'z ichiga oladi.

    Yana bir muhim jurnal fayli Xorg.log bo'lib, u grafik drayveri, uning nosozliklari, ogohlantirishlari va boshqalar haqida ma'lumotlarni o'z ichiga oladi.

O'rnatilgan paketlaringizga qarab ba'zi boshqa jurnallar fayl turlari bo'lishi mumkin. Masalan, Mening tizimim epoptes.log jurnalini ham o'z ichiga oladi, ular faqat epoptes paketini o'rnatganingizda bo'ladi.

Systemd keyin o'zgarishlar

Systemd ning paydo bo'lishi bilan jurnallar asosan jurnalctl yordam dasturi tomonidan amalga oshiriladi va jurnallarni ikkilik formatda /var/lib/systemd/catalog/ma'lumotlar bazasi faylida saqlaydi. Ushbu fayl barcha jurnallarni, jumladan yadro, yuklash va ilovalar jurnallarini sanab o'tadi va jurnalctl yordam dasturi orqali kerakli jurnallarni taqdim etadi.

Bu yerda jurnalctl-da kerakli jurnal ma'lumotlarini olish uchun undan qanday foydalanish haqida yaxshi maqola.

Tizim o'z faoliyati davomida xatolarni, noto'g'ri konfiguratsiyalarni va hokazolarni tuzatish va disk raskadrovka qilish uchun foydalanish uchun muhim yoki oddiygina zarur deb hisoblagan ba'zi hodisalarni kuzatib boradi va maxsus fayllarga saqlaydi. Ushbu hodisalar saqlanadigan fayllar jurnal fayllari yoki ro'yxatga olish deb ataladi. fayllar . Ko'pincha, ro'yxatga olish fayllari juda ko'p disk maydonini egallaydi, bu tizimning noto'g'ri ishlashini, konfiguratsiya xatolarini yoki hamma narsani kuzatadigan va to'playdigan voqealar jurnalining demonlarining noto'g'ri konfiguratsiyasini ko'rsatishi mumkin. Shunday qilib, hodisalarni ro'yxatga olish tizimi bilan ishlash har qanday tizim ma'muri ishining muhim tarkibiy qismi bo'lib, tizimga xizmat ko'rsatish sifati va natijada ularning ishonchliligi va mustahkamligi butunlay bog'liq.

Hodisalarni ro'yxatga olish tizimi qanday ishlaydi?

Tajribali tizim ma'murlari muntazam ravishda va alohida e'tibor bilan ro'yxatga olish jurnallarini (fayllarni) ko'rib chiqish va tahlil qilish zarurligini biladilar. Jurnallardagi ma'lumotlar ko'pincha muammolarni tezda hal qilishga yoki tizim konfiguratsiyasidagi yashirin muammolarni aniqlashga yordam beradi. Tizim tomonidan voqealarni kuzatish, jurnallarni tekshirish, ushbu jurnallardan ma'lumotlarni yozib olish, saqlash, arxivlash va yo'q qilish uchun tizimlar, serverlar va tarmoqlarni boshqaradigan va/yoki ularga xizmat ko'rsatuvchi tashkilot uchun maxsus qoidalar ishlab chiqilishi va tasdiqlanishi kerak.

UNIX va Linu-da hodisalarni ro'yxatga olishning asosiy vositasi hali ham qolmoqda syslogd demoni Syslog tizimlari. Ammo shuni ham yodda tutish kerakki, uzoq vaqt davomida UNIX ning turli tarmoqlari xilma-xilligi tufayli va Linux versiyalari Ko'pgina dasturiy paketlar, xizmat skriptlari va tarmoq demonlari o'zlarining jurnallaridan foydalanadilar, ba'zida ekzotik formatlar mavjud.

Umuman olganda, Syslog tizimi (va boshqa ixtisoslashtirilgan dasturlar) kuzatilayotgan hodisani ushlab turadi va uni jurnal faylida qayd etadi. Ro'yxatga olingan hodisaning o'zi voqea sanasi/vaqti, turi va jiddiyligi haqidagi ma'lumotlarni o'z ichiga olgan matn qatoridir. Vaziyatga qarab, bu to'plam boshqa ma'lumotlarni ham o'z ichiga olishi mumkin. Ro'yxatga olingan hodisaning o'zi chegaralovchi belgilar bilan bo'linadi: bo'shliqlar, yorliqlar va belgilangan komponentlarni ajratib ko'rsatish uchun tinish belgilari.

Jurnallarni ko'rish oson, chunki ular muntazam matnli fayllar. Uchun samarali ish eng ko'p jurnallar bilan standart vositalar har qanday taqsimotning asosiy taqsimotidan - buyruqlar va . Agar siz juda katta va murakkab jurnallarni tarashingiz kerak bo'lsa, grep yordam dasturi o'rniga bunday vazifalarni bajarishda ancha samarali va moslashuvchan bo'lgan boshqa vositadan foydalanishingiz mumkin (va hatto kerak). Matnni qayta ishlash tili Perl ham bunga juda mos keladi.

Odatda Syslog tizim jurnali yozuvi odatda shunday ko'rinadi:

18 dekabr 15:12:42 backup.main.superhosting.ru sbatchd: sbatchd/main: ls_info() bajarilmadi: LIM ishlamayapti; keyinroq urinib ko'ring; harakat qilmoqda ... 18 dekabr 15:14:28 system.main.superhosting.ru pop-proxy: 186.115.198.84 dan ulanish 18 dekabr 15:14:30 control.main.superhosting.ru pingem : office.main.superhosting.ru 42 marta javob bermadi 18-dekabr 15:15:05 service.main.superhosting.ru vmunix: Bir nechta yumshoq xatolar: SIMM J0201 dan 18-dekabr 15:15:16 dan 100 ta tuzatilgan Softerrors koʻrildi backup.main.superhosting.sessing.ru (PsAMd) yopiq "foydalanuvchi trent uchun

Bunday holda, Syslog jurnallaridan birida bir nechta manbalardan olingan voqealar mavjudligini ko'rishingiz mumkin: sbathd, pingem, pop-proksi dasturlari. Shuningdek, ushbu tizim bilan o'zaro aloqada bo'lgan bir nechta xostlar uchun voqealar qayd etilganligini ko'rishingiz mumkin: zaxira, tizim, ofis va xizmat.

log fayllari va ularning Linuxdagi joylashuvi

Yuqorida aytib o'tilganidek, in UNIX tizimlari va Linuxda jurnallar qayerda va qanday saqlanishi haqida aniq konventsiyalar mavjud emas. Ular butun fayl tizimi bo'ylab tarqalishi mumkin, shuning uchun har bir ma'mur uchun tegishli jurnal fayllari qayerda va qaysi paketlar va demonlar uchun joylashganligini darhol tushunishi muhimdir. Ammo jurnallar qayerda saqlanishiga oid aniq rasmiy qoidalar yo'qligiga qaramay, bu fayllar /var/log, /var/log/syslog, shuningdek, /var/adm kataloglarida joylashgan bo'lishi kerakligi haqidagi an'anaviy qoida mavjud.

Qoidaga ko'ra, faqat superfoydalanuvchiga ko'rsatilgan kataloglardagi fayllarni o'qish uchun ruxsat beriladi, lekin muhim tizim ma'lumotlarini o'z ichiga olmaydigan tez-tez ko'riladigan jurnallar uchun yanada "demokratik" kirish rejimini o'rnatishda hech qanday yomon narsa yo'q. Odatda, ushbu parametr qulaylik va ba'zi jurnallarni tez-tez va muntazam tekshirish kerak bo'lganda vaqtni tejash uchun ishlatiladi, masalan, odatda /var/log/apache2 yoki /var/log/httpd manzillarida joylashgan Apache veb-serverlari uchun. .

Shuni ham yodda tutish kerakki, (ayniqsa, noto'g'ri konfiguratsiyalarda) jurnal fayllarining umumiy hajmi keskin oshib, tizimni buzish xavfi yuqori bo'lgan holatlar mavjud. Saqlash qurilmalaridagi bo'sh joyni kuzatish qulayligi, shuningdek ishonchliligi uchun /var katalogi ko'pincha alohida joyga joylashtiriladi. fayl tizimi alohida bo'limda.

Ba'zi maxsus jurnal fayllari

Quyidagi jadvalda tizim ma'muriyati uchun juda foydali bo'lgan ba'zi jurnal fayllari haqida ma'lumot berilgan:

Fayl Dastur Joy Chastotasi Tizimlar Maqsad
kislotali kislotali F 64 ming RZ Quvvat tizimi hodisalari
auth.log sudo va boshqalar S M U Avtorizatsiya ma'lumotlari
apache2/* httpd yoki apache2 F D ZU Apache veb-server jurnallari
mos* APT F M U Paket o'rnatuvchilar
boot.log Skriptlarni ishga tushiring F M R Skript jurnallarini ishga tushiring
boot.msg Yadro IN - Z Yadro xabari buferi tasviri
cron cron S N RAH Cron demoni haqidagi jurnallar va ma'lumotlar
stakan/* CUPS F N ZRU Bosib chiqarish tizimi bilan bog'liq xabarlar
daemon.log Turli xil S N U Demon Tool xabarlari
disk raskadrovka Turli xil S D U Xabarlarni tuzatish
dmesg Yadro IN - RU Yadro xabari buferi tasviri
dpkg.log dpkg F M U Paket o'rnatuvchilar
muvaffaqiyatsizlik jurnali tizimga kirish N N RZU Muvaffaqiyatsiz avtorizatsiya urinishlari haqida ma'lumot
apache2/* Httpd yoki apache2 F D R /etc katalogi uchun Apache veb-server jurnallari
kern.log tizimga kirish IN - RZ Barcha yadro vositalari xabarlari
oxirgi jurnal tizimga kirish IN - RZ Har bir foydalanuvchi uchun oxirgi kirish vaqti (bu fayl ikkilikdir)
pochta* Elektron pochta dasturlari S N Hammasi Elektron aloqa
xabarlar Turli xil S N RZUS
rpmpkgs cron.daily IN D R O'rnatilgan RPM paketlar ro'yxati
samba/* smbd va boshqalar F N - Samba serveri haqida ma'lumot
xavfsiz sshd va boshqalar S M R Maxfiy avtorizatsiya xabarlari
sulog su F - SAH su buyrug'idan foydalanishning muvaffaqiyatli va muvaffaqiyatsiz urinishlari haqida ma'lumot
syslog* Turli xil S H SUH Asosiy tizim jurnali fayli
ogohlantir wpar S H Z Tizim ogohlantirish/xato darajasidagi hodisalar
wpars/* wpar F - A Yuklash bo'limi hodisasi haqida ma'lumot
wtmp tizimga kirish IN M Hammasi Tizim ro'yxatga olish xabarlari (ikkilik fayl)
xen/* Xen F 1m RZU Xen virtual mashinasi monitoridan olingan ma'lumotlar
Xorg.n.log Xorg F N R.S. X Windows Server xato xabarlari
yum.log yum F M R Paketni boshqarish jurnali

Ushbu jadval uchun quyidagi belgilar qo'llaniladi: S - Syslog, B - o'rnatilgan nom, F - konfiguratsiya fayli, D - kunlik, N - haftalik, M - oylik, NN - kilobayt yoki megabaytdagi o'lcham, Z - SUSE, R - Red Hat va CentOS, S - Solaris, H - HP-UX, A - AIX. Chastotalar ustuni vaqt yoki fayl hajmi bilan bog'liq eskirgan ma'lumotlarning o'chirilish chastotasini ko'rsatadi. Dastur ustuni faylni yaratgan dasturni ko'rsatadi.

Shuni ham ta'kidlash kerakki, jadvalda keltirilgan fayllar uchun xabarlarning aksariyati Syslog tizimiga yuboriladi. Jiddiylik darajasi va faylni yaratuvchi dastur /etc/initlog.conf konfiguratsiya faylida ko'rsatilgan. - Syslog tizimi shunday ishlaydi. Faillog fayli ikkilikdir va shuning uchun faillog yordam dasturi tomonidan o'qilishi mumkin.

Agar xato topsangiz, matnning bir qismini ajratib ko'rsating va bosing Ctrl+Enter.