Bu yazıda mən monitorinq birləşməsindən istifadə edərək vebsayt (və ya hər hansı digər İnternet xidməti) üçün əvəzetmə sxemini nə qədər asan və pulsuz edə biləcəyinizi göstərmək istəyirəm.
Fasilə ilə yaşamaq, yoxsa onsuz?
Bəzi problem yaranana qədər, çox da fərq yoxdur. Ancaq bu baş verəndə, uğursuzluq olmadan tez-tez aşağıdakılar baş verir: problemin nə olduğunu tez anlamağa çalışırsınız, o işləmir (yedek nüsxələri yerləşdirilmir, proqram nədənsə sənədlərdə olduğu kimi işləmir. , və s.), amma vaxt yoxdur, server yoxdur - saytlar uzanır, müştərilər zəng edir, hamı kənardadır, siz onu birtəhər kobud və çirkli "lent ilə" düzəltməyə çalışırsınız, sonra birtəhər işə başlayır. qoltuqağaqları və canları ilə. Fikirləşirsiniz ki, boş vaxtlarınızda bunu daha ətraflı başa düşməli və hər şeyi gözəl şəkildə yenidən düzəltməli olacaqsınız, amma müvəqqətidən daha daimi bir şey yoxdur.
İndi, bu, bir fayl ilə gözəl bir versiyada necə baş verir:
- Səhv baş verir
- Səhv avtomatik olaraq aşkar edilir
- Xəbərdarlıq göndərilir
- Yedək serverlərdən birinə keçid köçürülür
- Sakit və çaxnaşma olmadan problem həll olunur, düzəldilir və server yenidən işə salınır.
Bu sxemin, əlbəttə ki, öz problemləri də ola bilər, amma yenə də sxem xəttidir, hər bir mərhələ sadədir və əsas odur ki, ayrı-ayrılıqda düzəldilə bilər, buna görə də bu sxemin uğursuzluq şansı daha azdır və bütün hərəkətlər avtomatlaşdırıla və tez yerinə yetirilə bilər (naməlum epik cəfəngiyatı tapmaq və düzəltmək vəzifəsindən fərqli olaraq). Təyyarəniz uzaq bir ölkəyə enib, telefonunuzu yandırıb teleqramda serverin qəzaya uğradığı barədə bildiriş görürsünüz, amma hər şey qaydasındadır, ehtiyat server aktivləşdirilib, səfərinizə davam edə bilərsiniz, ehtiyac yoxdur geri uçmaq və ya WiFi ilə ən yaxın kafedən SSH vasitəsilə təmir etmək. Bunu daha rahat olanda anlayacaqsınız.
Gələcək artıq buradadır!
Əvvəllər uğursuzluğu tez-tez qəbuledilməz bir həllə çevirən əsas problem onun xərclərinin miqdarı idi. Və ya bahalı avadanlıq almaq (və daha bahalı mütəxəssisləri dəvət etmək) lazım idi. Və ya kollektiv təsərrüfatda bələdçilərə görə mürəkkəb bir şey var (hətta iki serverin əlavə olaraq null modem kabeli ilə bağlandığı bir seçimlə rastlaşdım və onlar onun vasitəsilə ürək döyüntüsü göndərirlər ki, lazımi anda ehtiyat server onu tanısın və ələ keçirsin. nəzarət). İndi daha asan və pulsuz yollar var. Əgər sizdə pişiklər olan vebsaytınız varsa, bunun üçün uğursuzluq tətbiq etməmək üçün hələ heç bir bəhanə yoxdur!
Bundan əlavə, uğursuzluq sxemi üçün başqa bir serverə (və bəlkə də birdən çox) ehtiyacınız var və əvvəllər bu böyük xərc idi, indi qəpiklər üçün VDS əldə edə bilərsiniz.
Pişiklərlə ən etibarlı sayt
Həllini okerr + dinamik dns ilə praktiki şəkildə təsvir etmək üçün veb saytımızı pişiklərlə işə saldıq
Texniki məlumatda “status=OK” sətri var. Bəzən serverlər problem yaradır və status=ERR yazır. Əsas server hər saatın 20 dəqiqəsində (0:20, 1:20, 2:20, …) “çökmək kimi görünür”. 40 dəqiqə ərzində serverin ehtiyat nüsxəsi. Sonuncu server (“üzr istəyirik” serveri) həmişə işləyir. Hər saatın 0 dəqiqəsində əsas və ehtiyat serverlər “bərpa olunur”.
Saytı açıb nişanda qoysanız, onun heç vaxt qəzaya uğramadığını görəcəksiniz (baxmayaraq ki, hər bir fərdi server vaxtaşırı problemi simulyasiya edir) və serverdə problem yaranarsa, o, sadəcə canlı serverlər arasında “çalışır”. Serverin şəkli, adı və ünvanı və onun rolu dəyişəcək. Bəzən status = ERR (problem artıq mövcuddur, lakin bütün uğursuzluq sxemi hələ işləməyib) anı tuta bilərsiniz, lakin növbəti yeniləmə sizə iş saytından bir səhifə göstərəcəkdir.
okerr + dinamik DNS-də yüklənmə
Başlıq altında necə işlədiyini görək. Fayl verənin vəzifəsi cat.okerr.com ünvanının həmişə işləyən serverin IP ünvanını göstərməsini təmin etməkdir.
Okerr-də pişik saytımızı yerləşdirən serverlərin hər birinin arxasında onun statusunu dəqiqədə bir dəfə yoxlayan göstərici var.
Bu ekran görüntüsündə cat.okerr.com saytının alpha.okerr.com serverindən necə yoxlanıldığını görürük. Səhifədə status=OK olmalıdır və yuxarıda gördüyümüz kimi indi göstərici statusumuz qaydasındadır. Server "sındıqda" bir ERR olacaq. (Bu, göstəricinin yalnız bir nümunəsidir, okerr monitorinq edir, buna görə də istənilən növ göstərici əlavə edə bilərsiniz, məsələn, diskdəki boş yeri, verilənlər bazasında yeni sifarişlərin sayını və hətta məntiqi göstəriciləri, məsələn, yoxlayın. , gecə bəzi səhv meyarları olacaq, gündüz isə başqaları).
Layihə parametrlərində biz bu göstəricilərlə əvəzlənmə sxemi yaratdıq:
Sxemdə prioritet baxımından fərqli üç göstərici (üç server) var. Saytın əsas serveri Çarlidir, əgər o işləmirsə (“status=OK” olmayacaq və ya sadəcə əlçatmazdır), onda bravo və ikinci halda alfa. Səhifənin sağ tərəfində müxtəlif serverlərdə DNS qeydinin vəziyyəti göstərilir.
cat.he.okerr.com adının istifadə edildiyini görənlər üçün: Bir az daha mürəkkəb sxemdən istifadə edirik. cat.okerr.com-un DNS qeydini dəyişmək əvəzinə biz cat.he.okerr.com-u (Dinamik DNS provayderində) dəyişdiririk.
Düşməkdən yüksəlməyə
Bu sxemin necə işlədiyi addım-addım:
- Serverdə problem (imitasiya) baş verir
- Okerr sensoru dəqiqədə bir dəfə hər serverin vəziyyətini yoxlayır və okerr-də əsas layihə serverinə hesabat verir
- Müvafiq server göstəricisi OK-dən ERR-ə dəyişir
- Göstəricinin vəziyyəti dəyişdikdə, uğursuzluq yenidən hesablanır və hansı ünvanın təyin edilməsi lazım olduğu hesablanır (lazım olduqda. Məsələn, əsas server işləyirsə və eyni zamanda ehtiyat server ölürsə, heç bir dəyişiklik olmayacaqdır. etdi)
- Bu ünvan dinamik dns xidmətinə bildirilir. Bu mərhələni başa vurduqdan sonra sağda "sinxronlaşdırılmış" statusu görəcəksiniz.
- Çox tezliklə (saniyələr) qeyd domeninizin DNS serverlərinə çatacaq (pişik saytı üçün bu ns1-ns5.he.net-dir).
- Bu andan etibarən bəzi istifadəçilər artıq yeni canlı serverdə olacaqlar. Ancaq dünyanın bütün DNS serverləri hələ qeydləri yeniləməyib və köhnə qeyd hələ də haradasa keşdə saxlanıla bilər. İctimai DNS serverlərindəki məlumatların yeni və ya köhnə dəyəri göstərərək necə "rəqs etdiyini" görə bilərsiniz. Əgər əvəzetmə konfiqurasiyası səhifəsini yeniləsəniz, operator özü DNS serverlərindən yeni məlumatlar tələb edəcək.
- Məlumat sabitləşdikdən sonra köhnə keşlənmiş qeyd hər yerdə çürüyür - sorğuların hamısı 100% yeni serverə gedir.
7-ci mərhələni (çox vaxt ən uzun) sürətləndirmək üçün dinamik DNS qeydinin TTL dəyərini mümkün qədər aşağı təyin etmək lazımdır. Tipik olaraq xidmətlər 90-120 saniyəlik fasilələrə imkan verir. Bu tamamilə ağlabatan kompromisdir.
Bundan əlavə,
Bütün bunlar bir axşam konfiqurasiya edilə bilər (əgər artıq ehtiyat serveriniz varsa). Həm okerr, həm də dinamik DNS xidmətləri pulsuzdur. Okerr-də daha çox çek və daha qısa yoxlama müddəti əldə etmək üçün siz təlimi tamamlamalısınız (profil səhifənizdən). Bitirdikdən sonra səviyyə dərhal artır (saatda 20 göstərici + 1 sürətli, 10 dəqiqə). Əgər onlardan azdırsa, yazın [e-poçt qorunur], çox güman ki, artırmaq mümkün olacaq (indiyə qədər həmişə fürsət olub, heç vaxt imtina etməmişəm, əksinə, özüm təklif etmişəm). Sadəcə, əvvəlcə hər kəsə hər şeyi vəd etmək istəmirəm, sözümü tutmaq üçün kifayət qədər gücüm olduğuna əmin deyiləm. Amma indiyə qədər istifadəçi azdır, ona görə də limitlərin artırılması ilə bağlı heç bir problem yoxdur.
Okerr ümumiyyətlə nə edə bilər - veb saytına baxın
Göstərici statusu dəyişdikdə e-poçt və ya Telegram vasitəsilə bildiriş göndərilir. (Biz baş verənlərə baxdıq və başa düşdük ki, teleqram ən etibarlı messencer kimi görünür. Stress testi üçün RKN-ə təşəkkürlər!) Düzgün konfiqurasiya edilmiş okerr ilə istənilən bildiriş ya “hər şeyi at, onu düzəltmək lazımdır!” siqnalıdır. və ya "işıqlar sönür!" Okerradan əlavə xəbərdarlıqlar olmamalıdır (əgər varsa, onlar bir şəkildə fərqli şəkildə konfiqurasiya edilməlidir). Məsələn, bizim pişik saytımız üçün alfa server sonuncudur və heç vaxt səhvi saxtalaşdırmır. Yatırsa, bilməliyik. Lakin digər serverlər daim səhvlər edir, buna görə də saatda bir neçə dəfə xəbərdarlıq almamaq üçün bu göstəricilər “səssiz” statusa malikdir.
Üzrxahlıq səhifəniz olacaq (bütün əsas və ehtiyat serverlər işləmədiyi halda) və ya sizi okerr-də status səhifəsinə yönləndirəcək (məsələn, bizimki) üzrxahlıq serveri (hər hansı ucuz hostinqdə) yaratmaq da məna kəsb edir.
Mənbə: www.habr.com