Интерактивные задания, привязанные к этому уроку — выполните в реальной среде Kubernetes и проверьте результат.
terminal
Konveyer: access-log tahlili pipe zanjiri bilan
Osonbolt+10 XPflagОбязательная
Veb-serverdan /root/kirish.log tushdi: har qatorda IP METOD YO'L STATUS (masalan 10.0.0.5 GET /api/users 200). Rahbariyat 4 ta savolga javob kutyapti — va siz ularni darsdagi konveyer (|) va filtrlar (grep, sort, uniq, wc, cut) bilan topasiz. Vazifa /root/natija/ katalogini yaratib, ichiga quyidagilarni yozing: soni.txt — jurnaldagi jami qatorlar soni (faqat son). xato500.txt — 500 status bilan tugagan qatorlarning o'zi (jurnal tartibida, to'liq qatorlar). top-ip.txt — eng ko'p so'rov yuborgan IP (faqat IP, bitta qator). unikal-ip-soni.txt — jurnaldagi takrorlanmas IP'lar soni (faqat son). metodlar.txt — ishlatilgan HTTP metodlar ro'yxati (takrorsiz, alifbo tartibida, har qatorda bittadan). Muvaffaqiyat mezoni Har bir natija checker tomonidan jurnaldan qayta hisoblanadi — aynan mos bo'lishi shart
function
awk: maydon qiymati bo'yicha filtr
Osonbolt+10 XP
Inventar jadvalidan (nom muhit port) faqat prod muhitidagi servislar nomi kerak. Vazifa prog.awk — 2-maydoni aynan prod bo'lgan qatorlarning 1-maydonini chiqarsin Muvaffaqiyat mezoni (jonli) staging/dev qatorlari e'tiborsiz qoladi
function
awk: raqamli chegara bo'yicha filtr
Osonbolt+10 XP
Endpointlar javob vaqti jadvalidan (endpoint ms) 100 ms dan SEKIN javob berganlarini ajratish kerak. Vazifa prog.awk — 2-maydoni 100 dan KATTA qatorlarning 1-maydonini chiqarsin Muvaffaqiyat mezoni (jonli) Aynan 100 bo'lgan qator chiqmaydi (qat'iy katta)
terminal
Bash: jurnalda 500-xatolarni sanash
Osonbolt+10 XP
Access-jurnalda nechta so'rov 500 status bilan tugaganini hisobot qiluvchi skript kerak (SLA monitoringi). Vazifa (/root/sh/script.sh) Bitta argument: jurnal fayli (satrda status 500 ko'rinishida uchraydi) 500 uchragan qatorlarni grep -c bilan sanab http500= chiqarsin Muvaffaqiyat mezoni (jonli) Checker turli jurnal fayllari bilan sinaydi
find_replace
sed: jim rejim va p — grep taqlidi (#n)
Osonbolt+15 XP
sed standartda HAR qatorni chiqaradi; faqat TANLANGANLARINI chiqarish uchun jim rejim + p kerak. Skript faylning birinchi qatori n bo'lsa, -n avtomatik yoqiladi. Vazifa prog.sed — birinchi qatori n; ERROR qatorlarnigina chiqarsin (/ERROR/p) Muvaffaqiyat mezoni (jonli) sed -f prog.sed chiqishida faqat ERROR qatorlar (takrorsiz)
function
awk: naqshga mos qatorlarni sanash
Osonbolt+15 XP
Jurnalda nechta ERROR qatori borligini bitta son sifatida olish kerak — moslik bo'lmasa ham 0 chiqsin. Vazifa prog.awk — /ERROR/ qatorlarni sanab, END'da errors= chiqarsin Moslik yo'q bo'lganda ham errors=0 (bo'sh emas!) Muvaffaqiyat mezoni (jonli) 2 xatoli jurnal → errors=2; xatosiz → errors=0
terminal
Bash: until sikli bilan teskari sanash
Osonbolt+15 XP
Reliz oldidan teskari sanash: N dan 1 gacha, so'ng liftoff. Shart TESKARI ko'rinishda yozilsin (until). Vazifa (/root/sh/script.sh) Bitta argument: N until sikli bilan N, N-1, ... 1 raqamlarini chiqarsin, oxirida liftoff Muvaffaqiyat mezoni (jonli) bash script.sh 3 → 3, 2, 1, liftoff