Hamma mening tug'ilgan kunimni nishonlayotganda, men ertalabgacha klasterni tuzatdim - va ishlab chiquvchilar xatolarida meni ayblashdi.

Hamma mening tug'ilgan kunimni nishonlayotganda, men ertalabgacha klasterni tuzatdim - va ishlab chiquvchilar xatolarida meni ayblashdi.

Mana mening devops ishiga bo'lgan munosabatimni butunlay o'zgartirgan bir hikoya. Koviddan oldingi davrlarda, ulardan ancha oldin, yigitlar va men shunchaki o'z biznesimizni rejalashtirayotganimizda va tasodifiy buyurtmalar bo'yicha freelancer bo'lganimizda, savatga bitta taklif tushdi.

Buni yozgan kompaniya ma'lumotlar tahlili kompaniyasi edi. U har kuni minglab so'rovlarni ko'rib chiqdi. Ular bizga quyidagi so'zlar bilan kelishdi: bolalar, bizda ClickHouse bor va biz uning konfiguratsiyasi va o'rnatilishini avtomatlashtirishni xohlaymiz. Biz Ansible, Terraform, Docker va bularning barchasi Gitda saqlanishini istaymiz. Biz har biri ikkita nusxaga ega bo'lgan to'rtta tugunli klasterni xohlaymiz.

Bu standart so'rov, ularning o'nlablari bor va sizga teng darajada yaxshi standart echim kerak. “Yaxshi” dedik va 2-3 haftadan so‘ng hammasi tayyor bo‘ldi. Ular ishni qabul qilishdi va bizning yordamchi dasturimiz yordamida yangi Clickhouse klasteriga o'tishni boshladilar.

Hech kim Clickhouse bilan qanday ishlashni xohlamagan yoki bilmas edi. Keyin biz bu ularning asosiy muammosi deb o'yladik va shuning uchun kompaniyaning xizmat ko'rsatish stantsiyasi mening jamoamga boshqa hech qachon bormaslik uchun ishni iloji boricha avtomatlashtirishga ruxsat berdi.

Biz harakatga hamrohlik qildik, boshqa vazifalar paydo bo'ldi - zaxira nusxalarini o'rnatish va monitoring. Shu bilan birga, ushbu kompaniyaning xizmat ko'rsatish stantsiyasi boshqa loyiha bilan birlashdi va bizni o'zimizdan biri - Leonidni qo'mondon sifatida qoldirdi. Lenya unchalik qobiliyatli yigit emas edi. To'satdan Clickhouse boshqaruviga qo'yilgan oddiy dasturchi. Aftidan, bu uning biror narsani boshqarish bo'yicha birinchi topshirig'i bo'lib, katta sharaf uni hayratda qoldirdi.

Birgalikda biz zaxira nusxalarini yaratishga kirishdik. Men darhol asl ma'lumotlarni zaxiralashni taklif qildim. Shunchaki uni oling, ziplang va oqlangan tarzda bir nechta C3 ichiga tashlang. Xom ma'lumotlar oltindir. Yana bir variant bor edi - muzlatish va nusxalashdan foydalanib, Clickhouse-da jadvallarni zaxiralash. Ammo Lenya o'z yechimini topdi.

U bizga ikkinchi Clickhouse klasteri kerakligini e'lon qildi. Va bundan buyon biz ikkita klasterga ma'lumotlarni yozamiz - asosiy va zaxira. Men unga aytaman, Lenya, bu zaxira emas, balki faol nusxa. Va agar ishlab chiqarishda ma'lumotlar yo'qola boshlasa, zaxirangizda ham xuddi shunday bo'ladi.

Ammo Lenya rulni mahkam ushlab oldi va mening dalillarimni tinglashdan bosh tortdi. Biz u bilan suhbatda uzoq vaqt suhbatlashdik, lekin qiladigan hech narsa yo'q edi - Lenya loyihaga mas'ul edi, biz shunchaki ko'chadan yollangan bolalar edik.

Biz klaster holatini kuzatdik va faqat ma'murlar ishi uchun haq oldik. Ma'lumotlarga kirmasdan Pure Clickhouse ma'muriyati. Klaster mavjud edi, disklar yaxshi, tugunlar yaxshi edi.

Biz bu buyruqni ularning jamoasi ichidagi dahshatli tushunmovchilik tufayli olganimizni bilmagan edik

Menejer Clickhouse sekin ishlayotganidan va ba'zida ma'lumotlar yo'qolganidan norozi edi. U xizmat ko'rsatish stantsiyasiga buni aniqlash vazifasini qo'ydi. U buni iloji boricha aniqladi va bizga Clickhouse-ni avtomatlashtirish kerak, degan xulosaga keldi - hammasi shu. Ammo tez orada ma'lum bo'lishicha, ularga devoplar jamoasi umuman kerak emas edi.

Bularning barchasi juda og'riqli bo'lib chiqdi. Va eng haqoratlisi bu mening tug'ilgan kunim edi.

Juma kuni kechqurun. Men o'zimning sevimli vino barimga joy band qildim va homiylarni taklif qildim.

Deyarli ketishdan oldin biz o'zgartirish yaratish vazifasini olamiz, biz uni bajaramiz, hammasi joyida. O'zgartirish o'tdi, klikxona tasdiqlandi. Biz allaqachon barga boryapmiz va ular bizga ma'lumotlar etarli emasligini yozishadi. Biz hisoblab chiqdikki, hammasi yetarlidek tuyuladi. Va ular bayram qilish uchun ketishdi.

Juma kuni restoran shovqinli edi. Ichimlik va ovqatga buyurtma berib, divanlarda o'tirdik. Shu vaqt ichida mening bo'shashganligim asta-sekin xabarlarga to'lib ketdi. Ular ma'lumotlar etishmasligi haqida nimadir yozishgan. Men o'yladim - ertalab kechqurundan donoroq. Ayniqsa bugun.

O'n birga yaqin ular qo'ng'iroq qila boshladilar. Bu kompaniya rahbari edi... “Ehtimol, meni tabriklashga qaror qilgandir”, deb juda ikkilanib o‘yladim va telefonni ko‘tardim.

Va shunga o'xshash narsani eshitdim: "Siz bizning ma'lumotlarimizni buzdingiz! Men sizga to'layman, lekin hech narsa ishlamaydi! Siz zahira nusxalari uchun mas'ul edingiz va hech qanday la'nat qilmadingiz! Keling, tuzatamiz!" - faqat qo'polroq.

- Bilasanmi, ketgin! Bugun mening tug'ilgan kunim, endi men ichaman va sizning iyun oyida uy qurilishi mahsulotlarini axlat va tayoqlardan tayyorlamayman!

Men buni aytmadim. Buning o'rniga men noutbukimni olib, ishga kirishdim.

Yo'q, men bombaladim, do'zaxdek bombaladim! U suhbatga "men sizga aytdim" deb kaustikni quydi - chunki zaxira nusxasi umuman bo'lmagan - albatta, hech narsani saqlamadi.

O'g'il bolalar va men yozuvni qanday qilib qo'lda to'xtatish va hamma narsani tekshirishni aniqladik. Biz aslida ba'zi ma'lumotlar yozilmaganligiga ishonch hosil qildik.

Biz yozishni to'xtatdik va kuniga u erda bo'lgan voqealar sonini hisobladik. Ular ko'proq ma'lumot yuklashdi, ulardan faqat uchdan bir qismi qayd etilmagan. Har birida 2 ta nusxadan iborat uchta parcha. Siz 100.000 33.000 qator kiritasiz - XNUMX XNUMX tasi yozilmagan.

To'liq chalkashlik bor edi. Hamma bir-biriga navbatma-navbat janjal qilishni aytdi: birinchi bo'lib Lenya u erga bordi, keyin men va kompaniya asoschisi. Faqat qo‘shilgan xizmat ko‘rsatish shoxobchasi baqirgan qo‘ng‘iroqlarimiz va yozishmalarimizni muammoga yechim topishga yo‘naltirishga harakat qildi.

Hech kim aslida nima bo'layotganini tushunmadi

Yigitlar va men barcha ma'lumotlarning uchdan bir qismi nafaqat yozib olinmagan, balki yo'qolganini tushunganimizda, hayratda qoldik! Ma'lum bo'lishicha, kompaniyada buyurtma quyidagicha bo'lgan: kiritilgandan so'ng ma'lumotlar qaytarib bo'lmaydigan tarzda o'chirilgan, voqealar partiyalarda behuda ketgan. Men Sergey bularning barchasini qanday qilib yo'qolgan rublga aylantirishini tasavvur qildim.

Tug'ilgan kunimni ham axlatga tashlashdi. Biz barda o'tirdik va g'oyalarni ishlab chiqdik, bizga tashlangan jumboqni hal qilishga harakat qildik. Clickhouse qulashi sababi aniq emas edi. Ehtimol, bu tarmoq, ehtimol Linux sozlamalari. Ha, nima xohlasangiz, etarli farazlar mavjud.

Men ishlab chiquvchining qasamini ichmadim, lekin chiziqning narigi tomonidagi yigitlarni tashlab ketish insofsizlik edi - hatto ular hamma narsada bizni ayblashsa ham. Muammo biz tomonda emas, qarorlarimizda emasligiga 99% amin edim. Oxir oqibat, biz buzib tashlagan 1% imkoniyat tashvish bilan yonib ketdi. Ammo muammo qaysi tomonda bo'lmasin, uni tuzatish kerak edi. Mijozlarni, kim bo'lishidan qat'iy nazar, bunday dahshatli ma'lumotlar sizib chiqishi bilan tark etish juda shafqatsiz.

Biz ertalab soat uchgacha restoran stolida ishladik. Biz voqealarni qo'shdik, tanlashni qo'shdik va bo'shliqlarni to'ldirish uchun o'chirildi. Ma'lumotni buzganingizda, buni shunday qilasiz: siz oldingi kunlar uchun o'rtacha ma'lumotlarni olasiz va ularni buzilgan kunlarga kiritasiz.

Ertalab soat uchdan keyin do'stim bilan uyimga bordik va spirtli ichimliklar bozoridan pivo buyurtma qildik. Men noutbuk va Clickhouse muammolari bilan o'tirgan edim, bir do'stim menga nimadir dedi. Natijada, bir soatdan keyin u ishlayotganimdan va u bilan pivo ichmaganimdan xafa bo'ldi va ketdi. Klassik - Men Devopsning do'sti edim.

Ertalab soat 6 ga kelib men yana jadvalni qayta yaratdim va ma'lumotlar to'plana boshladi. Hammasi hech qanday yo'qotishlarsiz ishladi.

Keyin qiyin bo'ldi. Ma'lumotlar yo'qolishida hamma bir-birini aybladi. Agar yangi xatolik yuz berganida, ishonchim komilki, otishma bo'lardi

Ushbu janglarda biz nihoyat tushuna boshladik - kompaniya bizni ma'lumotlar bilan ishlaydigan va jadvallar tuzilishini kuzatadigan yigitlar deb o'yladi. Ular adminlarni dilerlar bilan aralashtirib yuborishdi. Va ular bizdan adminlardan farqli narsani so'rashga kelishdi.

Ularning asosiy shikoyati shundaki, siz zaxira nusxalari uchun javobgar bo'ldingiz va ularni to'g'ri bajarmadingiz, siz ma'lumotlarni isrof qilishda davom etdingiz. Va bularning barchasi gilamchalar bilan.

Men adolatni xohlardim. Men yozishmalarni qazib oldim va hammaning skrinshotlarini ilova qildim, u erda Leonid bor kuchi bilan ularni zaxira nusxasini yaratishga majbur qildi. Telefon qo'ng'irog'imdan keyin ularning xizmat ko'rsatish shoxobchasi biz tomonni oldi. Keyinchalik Lenya o'z aybini tan oldi.

Korxona rahbari, aksincha, o‘z odamlarini ayblashni istamadi. Skrinshotlar va so'zlar unga ta'sir qilmadi. U biz bu yerda mutaxassis bo'lganimiz uchun hammani ishontirishimiz va qarorimizda turib olishimiz kerak deb hisobladi. Ko'rinishidan, bizning vazifamiz Lenyaga o'rgatish va bundan tashqari, loyiha menejeri etib tayinlangan uni chetlab o'tib, asosiy narsaga o'tish va unga zaxiralash tushunchasi haqidagi barcha shubhalarimizni shaxsan to'kish edi.

Suhbat nafrat, yashirin va yashirin tajovuz bilan oqardi. Men nima qilishni bilmasdim. Hamma narsa to'xtab qoldi. Va keyin ular menga eng oson yo'lni maslahat berishdi - menejerga shaxsiy xabar yozish va u bilan uchrashuv tashkil etish. Vasya, haqiqiy hayotdagi odamlar suhbatda bo'lgani kabi tez emas. Rahbar mening xabarimga javob berdi: keling, savol yo'q.

Bu faoliyatimdagi eng qo'rqinchli uchrashuv bo'ldi. Mijozdan mening ittifoqdoshim - STO - vaqt topa olmadi. Men xo'jayin va Lena bilan uchrashuvga bordim.

Mumkin bo'lgan dialogimizni qayta-qayta o'ynadim. Men juda erta, yarim soat oldin kelishga muvaffaq bo'ldim. Men asabiylasha boshladim, 10 ta sigaret chekdim. Tushundim, bo'ldi - yolg'iz qolaman. Men ularni ishontira olmayman. Va u liftga kirdi.

O‘rnidan turib, zajigalkani shunday urdiki, uni sindirdi.

Natijada, Lenya yig'ilishda emas edi. Va biz xo'jayin bilan hamma narsa haqida ajoyib suhbatlashdik! Sergey menga og'rig'i haqida gapirdi. U "Clickhouse"ni "avtomatlashtirishni" xohlamadi - u "so'rovlar ishlashini" xohladi.

Men echkini ko'rmadim, lekin yaxshi yigit o'z biznesidan xavotirlanib, 24/7 ish bilan band. Chat ko'pincha bizni yovuz odamlar, yaramaslar va ahmoq odamlarni jalb qiladi. Ammo hayotda bular xuddi siz kabi odamlardir.

Sergeyga ijaraga olish uchun bir nechta devop kerak emas edi. Ularning muammosi ancha katta bo'lib chiqdi.

Men uning muammolarini hal qilishim mumkinligini aytdim - bu mutlaqo boshqa ish va mening do'stim bor. Agar bu ular uchun kelishuv ekanini boshidan bilganimizda, ko'p narsadan qochgan bo'lardik. Kech bo'ldi, lekin biz muammo infratuzilmada emas, ma'lumotlarning noto'g'ri boshqaruvida ekanligini tushundik.

Biz qo'l berib ko'rishdik, ular bizning maoshimizni ikki yarim baravar ko'tarishdi, lekin men ularning ma'lumotlari va Clickhouse bilan bog'liq muammolarni o'zim uchun olishim sharti bilan. Liftda men o'sha DI yigiti Maks bilan gaplashdim va uni ishga ulashdim. Butun klasterni belkurak bilan yig'ish kerak edi.

Qabul qilingan loyihada juda ko'p axlat bor edi. Yuqorida aytib o'tilgan "zaxira" dan boshlab. Ma'lum bo'lishicha, xuddi shu "zaxira" klaster izolyatsiya qilinmagan. Ular hamma narsani sinovdan o'tkazdilar, ba'zida uni ishlab chiqarishga ham qo'yishdi.

Bizning ichki ishlab chiquvchilarimiz o'zlarining shaxsiy ma'lumotlar kirituvchisini yaratdilar. U shunday ishladi: u fayllarni to'pladi, skriptni ishga tushirdi va ma'lumotlarni jadvalga birlashtirdi. Ammo asosiy muammo shundaki, bitta oddiy so'rov uchun juda ko'p ma'lumotlar qabul qilindi. So'rov har soniyada ma'lumotlarga qo'shildi. Hammasi bitta raqam uchun - kunlik miqdor.

Ichki ishlab chiquvchilar tahlil vositasidan noto'g'ri foydalanganlar. Ular grafanaga borib, shohlik iltimoslarini yozishdi. U 2 hafta davomida ma'lumotlarni yukladi. Bu chiroyli grafik bo'lib chiqdi. Lekin, aslida, ma'lumotlar so'rovi har 10 soniyada edi. Bularning barchasi navbatga to'lib ketdi, chunki Clickhouse ishlov berishni olib tashlamadi. Bu erda asosiy sabab yashiringan edi. Grafana'da hech narsa ishlamadi, so'rovlar navbatda turdi va eski, ahamiyatsiz ma'lumotlar doimiy ravishda kelib turardi.

Biz klasterni qayta sozladik, qo'shishni qayta kiritdik. Ichki ishlab chiquvchilar o'zlarining "inserter" ni qayta yozishdi va u ma'lumotlarni to'g'ri taqsimlashni boshladi.

Maks to'liq infratuzilma auditini o'tkazdi. U to'laqonli backendga o'tish rejasini belgilab berdi. Ammo bu kompaniyaga mos kelmadi. Ular Maksdan eski uslubda ishlashga imkon beradigan sehrli sirni kutishgan, lekin faqat samarali. Lenya hali ham loyihaga mas'ul edi va u hech narsa o'rganmadi. Taklif etilganlarning barchasidan u yana o'z muqobilini tanladi. Har doimgidek, bu eng tanlangan... jasur qaror edi. Lenya uning kompaniyasining alohida yo'li borligiga ishondi. Tikanli va aysberglarga to'la.

Aslida, bu erda biz ajraldik - biz qo'limizdan kelganini qildik.

Ushbu tarixdan bilim va donolikka to'la biz o'z biznesimizni ochdik va o'zimiz uchun bir nechta tamoyillarni shakllantirdik. Biz hech qachon o'sha paytdagidek ishni boshlamaymiz.

Ushbu loyihadan so'ng DJ Maks bizga qo'shildi va biz hali ham birga ajoyib ishlaymiz. Clickhouse ishi menga ishni boshlashdan oldin infratuzilmani to'liq va puxta tekshirishni o'rgatdi. Biz hamma narsa qanday ishlashini tushunamiz va shundan keyingina vazifalarni qabul qilamiz. Agar ilgari biz infratuzilmani saqlashga shoshilgan bo'lsak, endi biz birinchi navbatda uni qanday qilib ish holatiga keltirishni tushunishga yordam beradigan bir martalik loyihani amalga oshiramiz.

Ha, biz yomon infratuzilmaga ega loyihalardan qochamiz. Ko'p pul uchun bo'lsa ham, hatto do'stlikdan tashqarida bo'lsa ham. Kasal loyihalarni amalga oshirish foydasizdir. Buni anglash bizga o'sishga yordam berdi. Yoki infratuzilmani tartibga solish uchun bir martalik loyiha va keyin texnik xizmat ko'rsatish shartnomasi yoki biz shunchaki uchib o'tamiz. Boshqa aysbergdan o'tib ketdi.

P.S. Shunday qilib, infratuzilmangiz haqida savollaringiz bo'lsa, iltimos qoldiring.

Bizda oyiga 2 ta bepul audit bor, ehtimol sizning loyihangiz ulardan biri bo'ladi.

Manba: www.habr.com

a Izoh qo'shish