Serveringizning ishlashi bilan bog'liq har qanday muammoga duch kelganingizda, siz qilishni xohlagan birinchi narsa Linux jurnallaringizni tekshiring. Tizim jurnalida siz yadro yoki turli xizmatlar kabi operatsion tizimning turli komponentlaridan ba'zi foydali diagnostika xabarlarini topishingiz mumkin, shuning uchun xato sababini o'sha erda topasiz.
Jurnaldagi har bir xabar operatsion tizimdagi ma'lum hodisalar natijasida hosil bo'ladi: foydalanuvchi, avtorizatsiyadan tortib, xizmatni o'chirish yoki dasturning ishlamay qolishigacha. Bu voqealar qanchalik muhimligiga qarab turli ustuvorliklarga ega. Linuxda quyidagi hodisalar turlari mavjud:
emerg- muvaffaqiyatsizlik, eng yuqori ustuvorlik;alert- shoshilinch ogohlantirish;crit- tanqidiy hodisa;err- oddiy xato;warn- oddiy ogohlantirish;notice- xabarnoma;info- axborot xabari;debug- disk raskadrovka ma'lumotlari;
Ayni paytda Linuxda asosiy jurnallarni yig'ish xizmatlari rsyslog va systemd-jurnal. Ular zamonaviy tarqatish paketlarining ko'pchiligiga mos keladi va mustaqil ishlaydi.
rsyslog
Ushbu xizmatning jurnallari "da joylashgan./ var / log /” jildini oddiy matnli fayllar ko‘rinishida oching. Jurnal xabarlari voqea turiga qarab turli fayllarga joylashtiriladi. Masalan, “/var/log/auth.log” foydalanuvchilarning tizimdagi avtorizatsiyasi haqidagi ma’lumotlarni o‘z ichiga oladi va “/var/log/kern.log” yadro xabarlarini oʻz ichiga oladi. Fayllar nomlari tarqatish paketlarida farq qilishi mumkin, shuning uchun qayerda ekanligi haqidagi fikrni olish uchun konfiguratsiya faylini koʻrib chiqaylik “/etc/rsyslog.d/50-default.conf".
Ushbu qoidalar har bir turdagi jurnal xabarlarini o'z ichiga olgan faylni ko'rsatadi. Chap qism quyidagi shaklda xabar turini ko'rsatadi "[Manba].[Ustuvorlik]” va o'ng qismida jurnal fayli nomi ko'rsatiladi. Xabarni yozishda “*” belgisini qo‘shish mumkin. Bu bo‘sh qiymat yoki “hech qaysi” bu uni roʻyxatdan olib tashlaydi. Keling, birinchi ikkita qoidani batafsil koʻrib chiqaylik.
“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”
Birinchi qoida avtorizatsiya mexanizmidan olingan barcha xabarlar "ga" qayd etilishini anglatadi./var/log/auth.log” fayli. Barcha avtorizatsiyaga urinishlar (ham muvaffaqiyatli, ham boʻlmagan) ushbu faylda roʻyxatga olinadi. Ikkinchi qoida avtorizatsiya bilan bogʻliq boʻlganlardan tashqari barcha xabarlar ““ga qayd etilishini bildiradi./ Var / log / syslog"fayl. Bu ikki fayl odatda eng mashhur hisoblanadi. Quyidagi qoidalar yadro jurnallarini saqlash yoʻlini belgilaydi "yadro.*” va pochta xizmati jurnallari “pochta.*"
Jurnal fayllari kabi har qanday matn muharriri yordamida ochilishi mumkin Kamroq, mushuk, Quyruq. Keling, "/var/log/auth.log” fayli
less /var/log/auth.log
Faylning har bir satri ilova yoki xizmatdan olingan alohida xabardir. Barcha xabarlar manbasidan qat'iy nazar bitta formatga ega va 5 qismdan iborat. Misol tariqasida skrinshotdagi ta'kidlangan xabarni olaylik.
- Xabar vaqti belgisi - “12-fevral 06:18:33”
- Xabarni yuborgan kompyuter nomi - "vds"
- Xabarni yuborgan dastur yoki xizmat nomi - "sshd"
- Jarayon identifikatori - [653]
- Xabar matni - "Mihail uchun 188.19.42.165 port 2849 ssh2 dan qabul qilingan parol"
Bu SSH ga muvaffaqiyatli ulanishning namunasi edi.
Muvaffaqiyatsiz kirish urinishi quyidagicha ko'rinadi:
Ushbu fayl kengaytirilgan ruxsatnomalarga ega buyruqlarni ham yozib oladi
ni ochamiz / Var / log / syslog Fayl
Skrinshotda ta'kidlangan xabar tarmoq interfeysining o'chirilishi haqidagi xabardir.
Uzoq matnli fayllar orqali ma'lumot qidirish uchun foydalaning grep yordamchi dastur. Qabul qilingan barcha xabarlarni topishingiz mumkin pptpd "da xizmat ko'rsatish/ Var / log / syslog” fayli.
grep 'pptpd' /var/log/syslog
Diagnostika vaqtida siz foydalanishingiz mumkin Quyruq bir nechta oxirgi qator fayllarni ko'rsatishi mumkin bo'lgan yordamchi dastur. Buyruq "tail -f / var / log / syslog” sizga real vaqtda qayd yozuvlarini ko'rish imkonini beradi.
Xizmat rsyslog juda moslashuvchan va kuchli. U mahalliy tizimlarda ham, korxona darajasida ham jurnallarni yig'ish uchun ishlatilishi mumkin. To'liq hujjatlarni rasmiy veb-saytda topishingiz mumkin https://www.rsyslog.com/
Linuxda jurnallar aylanishi
Jurnalni yozib olish doimiy ravishda amalga oshiriladi, shuning uchun fayllar hajmi doimiy ravishda o'sib boradi. Aylanish mexanizmi eski jurnallarni avtomatik arxivlash va yangi fayllarni yaratishni ta'minlaydi. Qoidalarga qarab, u kunlik, haftalik, oylik yoki o'lcham chegarasi bo'yicha sodir bo'lishi mumkin. Yangi jurnallar yaratilganligi sababli, eskilarini o'chirish yoki elektron pochta orqali yuborish mumkin. Jurnallarni aylantirish tomonidan amalga oshiriladi erishildi yordamchi dastur. Asosiy konfiguratsiyani "da topishingiz mumkin./etc/logrotate.conf” fayli. Fayllar tarkibi “da ham qayta ishlanadi./etc/logrotate.d/"Papkasida
Yangi qoidalarni asosiy konfiguratsiya fayliga kiritish mumkin. Biroq, "da alohida fayl yaratgan ma'qul./etc/logrotate.d/”. Odatiy bo'lib, ushbu katalogda bir nechta fayllar mavjud
Keling, faylni ko'rib chiqaylik "/etc/logrotate.d/rsyslog" bu jurnallar uchun aylanish qoidalarini o'z ichiga oladi rsyslog xizmati.
Birinchidan, qoida jurnal fayliga yo'lni o'z ichiga olishi kerak va keyin barcha ko'rsatmalarni egri qavslar ichida o'tkazish kerak.
- 7. aylantirish - saqlanadigan fayllar soni - 7
- kundalik - har kuni yangi fayl yarating
- siq - eski fayllarni siqish va arxivlash
Skrinshotda buni ko'rishingiz mumkin "/ var / log /"papkasida asosiy jurnal mavjud"syslog” va 7 ta arxiv, bu konfiguratsiya faylidagi qoidalarga mos keladi.
Siz logrotatning batafsil tavsifini qo'llanmada topishingiz mumkin, "odam logrotate” buyrug'i
Linux jurnallarini yig'ish - jurnalda
Jurnallarni yig'ish xizmati systemd-jurnal ishga tushirish tizimining bir qismidir tizimd. Linux jurnali fayllari "da saqlanadi./var/log/journal/” maxsus formatda va yordamida ochilishi mumkin Journalctl yordamchi dastur. Yozuvlar formati avvalgisi bilan bir xil rsyslog.
buyruq Journalctl hech qanday atributsiz barcha yozuvlarni ko'rsatadi, lekin u kattaroq jurnallar uchun mos emas. Keling, ushbu yordam dasturining ba'zi variantlarini ko'rib chiqaylik.
journalctl -b- oxirgi boshlanganidan beri barcha yozuvlarni ko'rsatishjournalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10"- ma'lum vaqt oralig'ida yozuvni ko'rsatishjournalctl -u pptpd- ma'lum bir xizmatning yozuvlarini ko'rsatishjournalctl -k- yadro xabarlarini ko'rsatishjournalctl -p err- ma'lum bir ustuvorlikdagi xabarlarni ko'rsatish, bu holda muhimroq xabarlar (kritik, ogohlantirish, favqulodda)journalctl -f- real vaqtda xabarlarni ko'rsatish
Yaxshiroq moslashuvchanlik uchun siz ushbu variantlarni birlashtira olasiz. ning barcha xatolarini ko'rsatamiz pptpd xizmat
journalctl -u pptpd -p err
Agar siz bajariladigan faylga yo'lni atribut sifatida belgilasangiz, yordamchi dastur ushbu fayl tomonidan yuborilgan barcha xabarlarni ko'rsatadi. Fayl tomonidan yuborilgan barcha xabarlarni ko'rsataylik "/usr/bin/sudo” 04-yil 15-fevral soat 18:2020 dan boshlab. Aslida u yuqori ruxsatnomalar bilan bajarilgan barcha buyruqlarni ko‘rsatadi.
journalctl -S "2020-02-18 04:15" /usr/bin/sudo
Quyidagi buyruqni bajarish uchun jurnal fayllari qancha disk maydoni egallashini bilish uchun
journalctl --disk-usage
Jurnal faylini 1 Gb bilan cheklash uchun quyidagi buyruqni bajaring
journalctl --vacuum-size=1G
Ikkilik fayllarni ochish
Endi keling, ""dagi ba'zi maxsus fayllarni ko'rib chiqaylik./ var / log /” papkasida barcha kirishga urinishlar saqlanadi.Bu fayllar ikkilikdir va faqat maxsus dasturlarda ochilishi mumkin.
/var/log/wtmp muvaffaqiyatli kirish urinishlari haqidagi ma'lumotlarni o'z ichiga oladi. Uni ochish uchun oxirgi yordamchi dasturdan foydalaning.
/var/log/btmp - barcha muvaffaqiyatsiz kirish urinishlarini o'z ichiga oladi. Uni kengaytirilgan ruxsatnomalar bilan lastb bilan ochish mumkin. Atribut -n fayl oxiridan boshlab ko'rsatiladigan qatorlar sonini belgilaydi.
/var/log/lastlog - har bir hisob qaydnomasi uchun oxirgi kirish amali vaqtini o'z ichiga oladi. bilan ochilishi mumkin oxirgi yozuv