09. Loglar va troubleshooting — 15 ta savol-javob
Avval javobni o'zingiz ayting, so'ng ochib solishtiring.
1. Linux loglari qayerda saqlanadi?
Javob
An'anaviy matnli loglar /var/log/ da: syslog yoki messages (umumiy), auth.log yoki secure (autentifikatsiya), kern.log, dpkg.log/dnf.log, xizmatlarning o'z kataloglari (nginx/, apache2/). Bundan tashqari systemd tizimlarda journald binar jurnali bor, uni journalctl o'qiydi.
2. Syslog/rsyslog va journald farqi nima?
Javob
rsyslog loglarni matnli fayllarga yozadi va masofaviy serverga yuboradi. journald systemd xizmatlarining stdout/stderr va tizim xabarlarini strukturalangan binar formatda yig'adi (xizmat, PID, daraja bo'yicha filtr). Ikkalasi birga ishlashi mumkin. Jurnal sukut bo'yicha ba'zi tizimlarda faqat xotirada saqlanadi; doimiy qilish uchun /var/log/journal kerak.
3. Log darajalari (severity) qaysilar?
Javob
Jiddiylik bo'yicha: emerg (0), alert, crit, err, warning, notice, info, debug (7). journalctl -p err — err va undan jiddiyroqlarni ko'rsatadi. Production'da debug doimiy yoqilmaydi: hajm va unumdorlik, shuningdek maxfiy ma'lumot oqib chiqishi xavfi bor.
4. Qaysi logda SSH kirishlari va sudo ishlatilishi qayd etiladi?
Javob
Debian/Ubuntu: /var/log/auth.log; RHEL oilasi: /var/log/secure; ikkalasida ham journalctl -u ssh (yoki sshd). Unda muvaffaqiyatli va muvaffaqiyatsiz kirishlar, sudo chaqiruvlari (kim, qaysi buyruq) yoziladi. last, lastb esa binar wtmp/btmp fayllaridan o'qiydi.
5. dmesg nima va qachon ishlatiladi?
Javob
dmesg kernel halqa buferini (ring buffer) ko'rsatadi: apparat aniqlanishi, drayver xatolari, disk I/O xatolari, fayl tizimi ro ga o'tishi, OOM killer. -T — odam o'qiydigan vaqt. Bufer cheklangan, eski xabarlar o'chadi; doimiy kernel loglari uchun journalctl -k.
6. logrotate nima qiladi? Uning yo'qligi nimaga olib keladi?
Javob
logrotate loglarni davriy ravishda arxivlaydi (nomini almashtiradi, siqadi), eskilarini o'chiradi va kerak bo'lsa, xizmatga yangi faylni ochishni buyuradi. Bo'lmasa, log fayllari cheksiz o'sib, diskni to'ldiradi va xizmatlar No space left on device bilan ishdan chiqadi. Sozlama /etc/logrotate.conf va /etc/logrotate.d/.
7. Troubleshooting uchun umumiy metodologiya qanday?
Javob
1) Muammoni aniq tasvirlash (nima kutilgan, nima bo'lyapti, qachondan beri, nima o'zgargan). 2) Ma'lumot yig'ish (log, holat, resurslar). 3) Gipoteza qurish — odatiy sabablardan boshlab. 4) Bir vaqtda bitta narsani tekshirish yoki o'zgartirish. 5) Tuzatishni tasdiqlash. 6) Nima qilinganini hujjatlash va takrorlanmasligini ta'minlash. Qatlamlar bo'yicha (apparat → tarmoq → OT → xizmat → ilova) pastdan yoki yuqoridan borish mumkin.
8. Xizmat ishga tushmadi. Qayerdan boshlaysiz?
Javob
systemctl status xizmat (holat, chiqish kodi), so'ng journalctl -u xizmat -n 50 (aniq sabab), keyin konfiguratsiya sintaksisi, fayl ruxsatlari va yo'llari, port bandligi (ss -ltnp), disk joyi va bog'liq xizmatlar. Odatiy kodlar: 203/EXEC — dastur ishga tushmadi, 217/USER — foydalanuvchi topilmadi. SELinux/AppArmor rad etishi ham audit logida ko'rinadi.
9. Server sekin ishlayapti. Qaysi resurslarni tekshirasiz?
Javob
To'rtta resurs: CPU (top, uptime, load average), xotira (free -h, available, swap, OOM), disk (df, iostat, iotop; wa ustuni) va tarmoq (ss, iftop). Yuqori load, lekin kam CPU — ko'pincha disk yoki tarmoq fayl tizimini kutish (D holati). Eng ko'p resurs sarflayotgan jarayonni topib, uning logini ko'rasiz.
10. Disk to'lib qoldi. Nima sabab va qanday topiladi?
Javob
df -h qaysi bo'lim to'lganini ko'rsatadi, du -h --max-depth=1 | sort -h katta kataloglarni topadi. Odatiy sabablar: o'sib ketgan loglar, eski arxivlar, kesh, Docker obrazlari. df to'la, lekin du kam desa — o'chirilgan, lekin ochiq fayl (lsof +L1). Joy bor-u yaratib bo'lmasa — inode (df -i).
11. Log faylni tahlil qilishda grep, awk va sort qanday birga ishlatiladi?
Javob
Odatiy zanjir: grep kerakli qatorlarni tanlaydi, awk/cut kerakli maydonni (IP, status) ajratadi, sort | uniq -c | sort -rn sanab eng ko'pini tepaga chiqaradi. Masalan, eng ko'p 5xx xatolari bergan yo'llar yoki eng ko'p muvaffaqiyatsiz kirgan IP lar. Vaqt oralig'i uchun journalctl --since/--until.
12. Nima uchun tizim vaqti (NTP) loglar uchun muhim?
Javob
Hodisalarni bir nechta serverlar loglarida solishtirish vaqt tamg'alariga tayanadi; soatlar farq qilsa, voqealar ketma-ketligi chalkashadi. Sertifikatlar, Kerberos va tokenlar ham vaqtga sezgir. Shu sabab chrony/systemd-timesyncd orqali sinxronlash va serverlarda UTC dan foydalanish tavsiya etiladi.
13. Markazlashgan logging nima uchun kerak?
Javob
Ko'p serverda loglarni yagona joyga (ELK/Loki/Graylog/syslog server) yig'ish qidirish va korrelyatsiyani soddalashtiradi. Server buzilganda yoki hujumchi lokal loglarni o'chirganda, ular yo'qolmaydi. Shuningdek, ogohlantirish (alert) va saqlash muddatini boshqarish mumkin.
14. "Ilova ishlayapti, lekin foydalanuvchi ulana olmayapti" holatida tekshirish tartibi qanday?
Javob
Qatlamma-qatlam: 1) xizmat ishlayaptimi (systemctl status), 2) portda tinglayaptimi va qaysi manzilda (ss -ltnp, 127.0.0.1 yoki 0.0.0.0), 3) lokal ulanish (curl localhost), 4) firewall (ufw/nft), 5) tarmoq marshruti va DNS, 6) tashqaridan sinov (nc -zv). Qaysi bosqichda muvaffaqiyatsizlikka uchrashi sababni toraytiradi.
15. last, lastb, w, who nima ko'rsatadi?
Javob
who va w — hozir tizimga kirgan foydalanuvchilar (w ularning nima qilayotganini ham). last — kirishlar tarixi (/var/log/wtmp dan), reboot'lar ham. lastb — muvaffaqiyatsiz kirish urinishlari (btmp, root kerak). Hodisani tekshirishda "kim, qachon, qayerdan kirgan" savoliga javob beradi.