Veb-sayt uchun oddiy o'zgartirish (monitoring + dinamik DNS)

Ushbu maqolada men monitoring kombinatsiyasidan foydalangan holda veb-sayt (yoki boshqa Internet-xizmat) uchun uzilish sxemasini qanchalik oson va bepul qilishingiz mumkinligini ko'rsatmoqchiman. okerr va dinamik DNS xizmati. Ya'ni, asosiy sayt bilan bog'liq har qanday muammo yuzaga kelgan taqdirda (sahifadagi "PHP xatosi" bilan bog'liq muammodan tortib, bo'sh joy etishmasligi yoki oddiygina onlayn-do'konda shubhali oz miqdordagi buyurtmalargacha), yangi tashrif buyuruvchilar. Ikkinchi (uchinchi va hokazo) keyingi) ma'lum ishlaydigan serverga yoki "Kechirasiz" sahifasiga yo'naltiriladi, u erda ular muloyimlik bilan "muammo bor, biz allaqachon xabardormiz va uni tuzatmoqdamiz, biz tez orada tuzataman" (va bu holda siz allaqachon xabardor bo'lasiz va tuzatishingiz mumkin).

Muvaffaqiyatsiz yashash uchunmi yoki yo'qmi?

Ba'zi muammo yuzaga kelguncha, unchalik katta farq yo'q. Ammo bu sodir bo'lganda, uzilishsiz quyidagilar sodir bo'ladi: siz muammo nimada ekanligini tezda aniqlashga harakat qilasiz, u ishlamayapti (zaxira nusxalari o'rnatilmaydi, dasturiy ta'minot negadir hujjatlardagidek ishlamaydi). , va hokazo), lekin vaqt yo'q, server yo'q - saytlar yotibdi, mijozlar qo'ng'iroq qilmoqda, hamma chetda, siz qandaydir tarzda uni qo'pol va iflos "lenta bilan" tuzatishga harakat qilyapsiz, keyin qandaydir tarzda u ishga tushganga o'xshaydi. tayoqchalar va jonlar bilan. Sizning fikringizcha, bo'sh vaqtingizda uni batafsilroq tushunishingiz va hamma narsani chiroyli tarzda qayta tiklashingiz kerak bo'ladi, ammo vaqtinchalikdan ko'ra doimiyroq narsa yo'q.

Endi, bu qanday qilib to'ldiruvchi bilan chiroyli versiyada sodir bo'ladi:

  • Xato sodir bo'ladi
  • Xato avtomatik ravishda aniqlanadi
  • Ogohlantirish yuboriladi
  • Zaxira serverlaridan biriga o'tish o'tkaziladi
  • Sokin va vahimasiz muammo hal qilinadi, tuzatiladi va server qayta ishga tushiriladi.

Bu sxema, albatta, o'ziga xos muammolarga ega bo'lishi mumkin, ammo shunga qaramay, sxema chiziqli, har bir bosqich oddiy va asosiysi, uni alohida tuzatish mumkin, shuning uchun bu sxemaning muvaffaqiyatsiz bo'lish ehtimoli ancha past bo'ladi va barcha harakatlar avtomatlashtirilishi va tezda bajarilishi mumkin (noma'lum epik axlatni topish va tuzatish vazifasidan farqli o'laroq). Samolyotingiz uzoq davlatga qo'ndi, siz telefoningizni yoqasiz va telegramda server ishdan chiqqani haqida bildirishnomani ko'rasiz, lekin hammasi joyida, zaxira server faollashtirilgan, sayohatingizni davom ettirishingiz mumkin, sizga kerak emas orqaga uchib yoki WiFi bilan eng yaqin kafedan SSH orqali ta'mirlash uchun. Qachon qulayroq bo'lsa, buni bilib olasiz.

Kelajak allaqachon shu erda!

Ilgari, uzilishni ko'pincha qabul qilib bo'lmaydigan yechimga aylantirgan asosiy muammo uning xarajatlari edi. Yoki qimmatbaho jihozlarni sotib olish kerak edi (va undan ham qimmatroq mutaxassislarni taklif qilish). Yoki qo'llanmalarga ko'ra murakkab narsa (men hatto ikkita server qo'shimcha ravishda null modem kabeli bilan ulangan va ular u orqali yurak urishini yuboradigan variantga duch keldim, shuning uchun kerakli vaqtda zaxira server uni tanib oladi va o'z zimmasiga oladi. boshqaruv). Endi osonroq va bepul usullar mavjud. Agar sizda mushuklar mavjud bo'lgan veb-saytingiz bo'lsa, buning uchun muvaffaqiyatsizlikni amalga oshirmaslik uchun hech qanday bahona yo'q!

Bundan tashqari, uzilish sxemasi uchun sizga boshqa server kerak (va ehtimol bir nechta) va oldin bu katta xarajat edi, endi siz pennies uchun VDS olishingiz mumkin.

Mushuklar bilan eng ishonchli sayt

Yechimni okerr + dinamik dns bilan amaliy tasvirlash uchun biz mushuklar bilan veb-saytimizni ishga tushirdik cat.okerr.com. Biz mushuklarni yomon ko'ramiz, shuning uchun u erda ular ko'p bo'lmaydi. Hammasi bo'lib uchta sayt mavjud, ularning har biri taxminan bir xil ko'rinadi (barchasi bir xil shablonda), lekin farqlashni osonlashtirish uchun turli mushukchalar mavjud va ularning har biri muvaffaqiyatsizlik qanday ishlashini ko'rish uchun texnik ma'lumotlarni yozadi. Sahifa har 1 daqiqada bir marta yangilanadi, lekin siz istalgan vaqtda brauzerda qayta yuklash tugmasini bosishingiz mumkin.

Texnik ma'lumotlarda "status = OK" qatori mavjud. Ba'zan serverlar muammolarni ko'rsatishadi va status=ERR deb yozadilar. Asosiy server har soatda 20 daqiqada (0:20, 1:20, 2:20, …) "halokatga uchraganga o'xshaydi". 40 daqiqada serverning zaxira nusxasini yarating. Oxirgi server (β€œkechirasiz” server) har doim ishlaydi. Har soatning 0 daqiqasida asosiy va zaxira serverlar "tiklanadi".

Veb-sayt uchun oddiy o'zgartirish (monitoring + dinamik DNS)

Agar siz saytni ochsangiz va uni yorliqda qoldirsangiz, u hech qachon ishdan chiqmasligini ko'rasiz (garchi har bir alohida server vaqti-vaqti bilan muammoni taqlid qilsa ham) va serverda muammo yuzaga kelganda, u shunchaki jonli serverlar o'rtasida "ishlaydi". Rasm, server nomi va manzili va uning roli o'zgaradi. Ba'zan siz status = ERR (muammo allaqachon mavjud, ammo butun o'chirish sxemasi hali ishlamagan) lahzasini ushlashingiz mumkin, ammo keyingi yangilanish sizga ishchi saytdan sahifani ko'rsatadi.

okerr + dinamik DNS-da uzilish

Keling, kaput ostida qanday ishlashini ko'rib chiqaylik. Fayl beruvchining vazifasi cat.okerr.com manzili har doim ishlaydigan serverning IP manziliga ishora qilishini ta'minlashdir.
Bizning mushuk saytimizni okerrda joylashtiradigan har bir serverning orqasida uning holatini daqiqada bir marta tekshiradigan indikator mavjud.

Veb-sayt uchun oddiy o'zgartirish (monitoring + dinamik DNS)

Ushbu skrinshotda cat.okerr.com sayti alpha.okerr.com serveridan qanday tekshirilganligini ko'ramiz. Sahifada status=OK bo'lishi kerak va yuqorida ko'rib turganimizdek, bizning indikator holatimiz hozir OK. Server "buzilgan"ida, ERR paydo bo'ladi. (Bu indikatorning faqat bir misoli, okerr kuzatmoqda, shuning uchun siz har qanday turdagi indikatorni qo'shishingiz mumkin, masalan, diskdagi bo'sh joyni, ma'lumotlar bazasidagi yangi buyurtmalar sonini va hatto mantiqiy ko'rsatkichlarni tekshirishingiz mumkin, masalan , kechasi ba'zi xato mezonlari bo'ladi, boshqalari esa kunduzi) .

Loyiha sozlamalarida biz ushbu ko'rsatkichlar bilan uzilish sxemasini yaratdik:

Veb-sayt uchun oddiy o'zgartirish (monitoring + dinamik DNS)

Sxema uchta ko'rsatkichga ega (uchta server), ustuvorlik jihatidan farq qiladi. Saytning asosiy serveri - charli, agar u ishlamasa (u "status=OK" bo'lmasa yoki oddiygina mavjud bo'lmasa), bravo va ikkinchi holatda - alfa. Sahifaning o'ng tomonida turli serverlardagi DNS yozuvining holati ko'rsatilgan.

cat.he.okerr.com nomi ishlatilganligini payqaganlar uchun: Biz biroz murakkabroq sxemadan foydalanamiz. Biz cat.okerr.com saytining DNS yozuvini o'zgartirish o'rniga cat.he.okerr.com ni o'zgartiramiz (Dynamic DNS provayderida) Dovul elektr) va cat.okerr.com - bu CNAME (taxallus), u o'zgarmaydi, har doim cat.he.okerr.com manziliga ishora qiladi. Bizga Hurricane dinamik DNS sifatida koβ€˜proq yoqadi va unda bitta kirishni (butun zonani emas) boshqarish uchun kalitlari bor, biz uni xavfsizroq deb hisoblaymiz. Shuningdek, butun domenni boshqarish uchun okerr-da kalit parollarni belgilashingiz shart emas, faqat subdomen yoki yozuv uchun.

Yiqilishdan ko'tarilishgacha

Ushbu sxema qanday ishlaydi bosqichma-bosqich:

  1. Serverda muammo yuzaga keldi (simulyatsiya qilingan).
  2. Okerr sensori har bir serverning holatini daqiqada bir marta tekshiradi va okerrdagi asosiy loyiha serveriga hisobot beradi
  3. Tegishli server indikatori OK dan ERR ga o'zgaradi
  4. Ko'rsatkich holati o'zgarganda, muvaffaqiyatsizlik qayta hisoblab chiqiladi va qaysi manzilni o'rnatish kerakligi hisoblab chiqiladi (agar kerak bo'lsa. Masalan, agar asosiy server ishlayotgan bo'lsa va bir vaqtning o'zida zaxira serveri o'lgan bo'lsa, hech qanday o'zgarishlar bo'lmaydi. qilingan)
  5. Bu manzil dinamik dns xizmatiga xabar qilinadi. Ushbu bosqichni tugatgandan so'ng, o'ng tomonda "sinxronlashtirilgan" holatini ko'rasiz.
  6. Tez orada (soniyalar) yozuv domeningizning DNS serverlariga etib boradi (mushuk sayti uchun bu ns1-ns5.he.net).
  7. Shu paytdan boshlab, ba'zi foydalanuvchilar allaqachon yangi jonli serverda bo'lishadi. Ammo dunyodagi barcha DNS serverlar hali yozuvlarni yangilamagan va eski yozuv hali ham biron bir joyda keshlangan bo'lishi mumkin. Siz umumiy DNS serverlaridagi ma'lumotlarning yangi yoki eski qiymatni ko'rsatib, qanday "raqsga tushishini" ko'rishingiz mumkin. Agar siz uzilish konfiguratsiyasi sahifasini yangilasangiz, operatorning o'zi DNS serverlaridan yangi ma'lumotlarni so'raydi.
  8. Ma'lumotlar barqarorlashgandan so'ng, eski keshlangan yozuv hamma joyda chirigan - barcha 100% so'rovlar yangi serverga o'tadi.

7-bosqichni (ko'pincha eng uzun) tezlashtirish uchun dinamik DNS yozuvining TTL imkon qadar past bo'lishi kerak. Odatda xizmatlar 90-120 soniya oralig'iga ruxsat beradi. Bu mutlaqo o'rinli kelishuv.

qo'shimcha ravishda

Bularning barchasini kechqurun sozlash mumkin (agar sizda zaxira serveringiz bo'lsa). Ham okerr, ham dinamik DNS xizmatlari bepul. Okerr-da ko'proq tekshiruvlar va qisqaroq tekshirish muddati uchun siz treningni yakunlashingiz kerak (profil sahifangizdan). Tugatgandan so'ng, daraja darhol oshadi (soatiga 20 ko'rsatkich + 1 tez, 10 daqiqa). Va agar ular kam bo'lsa, yozing [elektron pochta bilan himoyalangan], katta ehtimol bilan oshirish mumkin bo'ladi (hozirga qadar har doim imkoniyat bo'lgan, men hech qachon rad qilmaganman, aksincha, o'zim taklif qilganman). Avvaliga men hammaga hamma narsani va'da qilmoqchi emasman, o'z so'zimni bajarish uchun yetarlicha salohiyatim borligiga ishonchim komil emas. Ammo hozirgacha foydalanuvchilar kam, shuning uchun cheklovlarni oshirish bilan bog'liq muammolar yo'q.

Umuman olganda, okerr nima qilishi mumkin - veb-saytga qarang taqdimot. Umuman olganda, bu monitoring (bulutdan zabbix) va faylni qo'shish yaxshi qo'shimcha funktsiyadir. Bundan tashqari, demoga saytdan ro'yxatdan o'tmasdan kirishingiz mumkin.

Ko'rsatkich holati o'zgarganda, elektron pochta yoki Telegram orqali bildirishnoma yuboriladi. (Biz nima bo'layotganiga qaradik va tushundikki, telegram eng ishonchli messenjer ekan. Stress testi uchun RKNga rahmat!) Okerr to'g'ri sozlangan bo'lsa, har qanday bildirishnoma yoki "hamma narsani tashlab qo'ying, biz uni tuzatishimiz kerak!" , yoki "chiroqlar o'chdi!" Okerradan qo'shimcha ogohlantirishlar bo'lmasligi kerak (agar mavjud bo'lsa, ular qandaydir tarzda boshqacha sozlanishi kerak). Misol uchun, bizning mushuk saytimiz uchun alfa-server oxirgisi bo'lib, hech qachon xatolikka yo'l qo'ymaydi. Agar u yotsa, bilishimiz kerak. Ammo boshqa serverlar doimo xatolarga yo'l qo'yadilar, shuning uchun soatiga bir necha marta ogohlantirishlarni olmaslik uchun bu ko'rsatkichlar "jim" holatiga ega.

Kechirasiz serverni (har qanday eng arzon hostingda) yaratish ham mantiqan to'g'ri keladi, unda sizning uzr so'rash sahifangiz bo'ladi (agar barcha asosiy va zaxira serverlar ishlamay qolgan bo'lsa) yoki sizni okerr dagi holat sahifasiga yo'naltiradi (masalan, bizniki). cp.okerr.com/status/okerr) yoki statuspage.io.

Manba: www.habr.com

a Izoh qo'shish