Вэбсайтад зориулсан энгийн шилжүүлэлт (хяналт + динамик DNS)

Энэ нийтлэлд би мониторингийн хослолыг ашиглан вэб сайтыг (эсвэл бусад интернетийн үйлчилгээг) хэрхэн хялбар, үнэ төлбөргүй хийж болохыг харуулахыг хүсч байна. okerr болон динамик DNS үйлчилгээ. Өөрөөр хэлбэл, үндсэн сайттай холбоотой ямар нэгэн асуудал гарсан тохиолдолд (хуудас дээрх "PHP алдаа"-тай холбоотой асуудал, орон зай дутагдалтай эсвэл онлайн дэлгүүрийн хувьд сэжигтэй цөөн тооны захиалга гэх мэт) шинэ зочдод Хоёрдахь (гурав дахь гэх мэт) ажиллаж байгаа сервер эсвэл "Уучлаарай" хуудас руу чиглүүлэх бөгөөд тэд "Асуудал байна, бид аль хэдийн мэдэж байгаа бөгөөд үүнийг засаж байна" гэж эелдэгээр тайлбарлах болно. удахгүй засах болно" (мөн энэ тохиолдолд та аль хэдийн мэдэж байгаа бөгөөд засах боломжтой).

Ачаалалгүйгээр амьдрах уу?

Ямар нэг асуудал гарах хүртэл тийм ч их ялгаа байхгүй. Гэхдээ ийм зүйл тохиолдоход ямар нэгэн алдаа гарахгүй бол дараахь зүйл тохиолддог: та асуудал юу болохыг хурдан олж мэдэхийг оролддог, энэ нь ажиллахгүй байна (нөөцлөлтийг байршуулдаггүй, програм хангамж нь ямар нэг шалтгааны улмаас баримт бичигт заасан ёсоор ажиллахгүй байна). , гэх мэт), гэхдээ цаг байхгүй, сервер байхгүй - сайтууд хэвтэж байна, үйлчлүүлэгчид дуудаж байна, бүгд ирмэгц байна, та үүнийг ямар нэгэн байдлаар бүдүүлэг, бохир "соронзон хальсаар" засах гэж оролдож байна, тэгвэл ямар нэгэн байдлаар энэ нь эхэлж байх шиг байна. таяг, амьтай. Та чөлөөт цагаараа үүнийг илүү нарийвчлан тодорхойлж, бүх зүйлийг сайхан дахин хийх хэрэгтэй гэж бодож байгаа ч түр зуурынх шиг байнгын зүйл байхгүй.

Одоо энэ нь файлын тусламжтайгаар үзэсгэлэнтэй хувилбарт хэрхэн тохиолддог вэ:

  • Алдаа гардаг
  • Алдаа автоматаар илэрдэг
  • Анхааруулга илгээсэн
  • Нөөц серверүүдийн аль нэгэнд шилжих шилжсэн
  • Тайван, сандрахгүйгээр асуудлыг цэгцэлж, засч, серверийг дахин ажиллуулна.

Энэ схем нь мэдээжийн хэрэг өөрийн гэсэн асуудалтай байж болох ч схем нь шугаман, үе шат бүр нь энгийн бөгөөд гол зүйл нь үүнийг тусад нь дибаг хийх боломжтой тул энэ схемийн бүтэлгүйтэх магадлал хамаагүй бага бөгөөд бүх үйлдлийг автоматжуулж, хурдан гүйцэтгэх боломжтой (үл мэдэгдэх баатарлаг новшийг олж засахаас ялгаатай). Таны онгоц алс холын улсад газардлаа, та утсаа асаагаад телеграмм дээр сервер гацсан тухай мэдэгдлийг харна, гэхдээ бүх зүйл хэвийн, нөөц сервер идэвхжсэн, та аялалаа үргэлжлүүлж болно, танд хэрэггүй буцаж нисэх эсвэл WiFi-тай хамгийн ойр кафегаас SSH-ээр дамжуулан засах боломжтой. Энэ нь илүү тохиромжтой үед та үүнийг ойлгох болно.

Ирээдүй аль хэдийн энд байна!

Өмнө нь бүтэлгүйтлийг ихэвчлэн хүлээн зөвшөөрөгдөөгүй шийдэл болгож байсан гол асуудал бол зардлын хэмжээ байв. Эсвэл үнэтэй тоног төхөөрөмж худалдаж авах шаардлагатай байсан (мөн илүү үнэтэй мэргэжилтнүүдийг урих). Эсвэл хамтын ферм нь удирдамжийн дагуу төвөгтэй зүйл юм (Би бүр хоёр серверийг null модемийн кабелиар холбож, зүрхний цохилтыг дамжуулдаг сонголттой таарч байсан бөгөөд ингэснээр нөөц сервер нь зөв цагт нь үүнийг таньж, хүлээн авдаг. хяналт). Одоо илүү хялбар, үнэ төлбөргүй аргууд байдаг. Хэрэв танд мууртай вэб сайт байгаа бол одоохондоо үүнийг гүйцэлдүүлэхгүй байх шалтгаан байхгүй!

Үүнээс гадна, бүтэлгүйтлийн схемийн хувьд танд өөр сервер (мөн нэгээс олон) хэрэгтэй бөгөөд өмнө нь энэ нь маш их зардалтай байсан бол одоо та пенниээр VDS авах боломжтой.

Мууртай хамгийн найдвартай сайт

Okerr + dynamic dns-ийн тусламжтайгаар шийдлийг бодитоор харуулахын тулд бид мууртай вэбсайтаа нээлээ cat.okerr.com. Бид муурыг үзэн яддаг, тиймээс тэд тэнд тийм ч олон байдаггүй. Нийтдээ гурван сайт байдаг бөгөөд тус бүр нь ойролцоогоор ижилхэн харагддаг (бүгд ижил загвар дээр), гэхдээ ялгахад хялбар болгох үүднээс өөр өөр зулзагатай, мөн тус бүр нь техникийн мэдээлэл бичиж, дампууралт хэрхэн ажилладагийг хардаг. Хуудас 1 минут тутамд нэг удаа шинэчлэгддэг боловч та хөтөч дээр дахин ачаалах товчийг дарж болно.

Техникийн мэдээлэлд "статус = OK" гэсэн мөр байна. Заримдаа серверүүд асуудал гаргаж, status=ERR гэж бичдэг. Үндсэн сервер цаг бүрийн 20 минутад (0:20, 1:20, 2:20, …) "гацаж" байх шиг байна. 40 минутын дотор серверийн нөөцлөлт. Сүүлийн сервер (“уучлаарай” сервер) үргэлж ажиллаж байна. Цаг бүрийн 0 минутад үндсэн болон нөөц серверүүдийг "сэргэдэг".

Вэбсайтад зориулсан энгийн шилжүүлэлт (хяналт + динамик DNS)

Хэрэв та сайтыг нээж, таб дээр үлдээвэл энэ нь хэзээ ч гацдаггүй (хэдийгээр сервер бүр асуудалтай тулгардаг), серверт асуудал гарсан тохиолдолд шууд серверүүдийн хооронд "ажилладаг" гэдгийг харах болно. Серверийн зураг, нэр, хаяг, түүний үүрэг өөрчлөгдөнө. Заримдаа та статус = ERR (асуудал аль хэдийн үүссэн, гэхдээ бүтэлгүйтлийн схем хараахан ажиллаагүй байгаа) мөчийг барьж чадна, гэхдээ дараагийн шинэчлэлт нь ажлын сайтын хуудсыг харуулах болно.

okerr + динамик DNS дээр ажиллахгүй байх

Бүрээсний доор хэрхэн ажилладагийг харцгаая. Файллагчийн даалгавар бол cat.okerr.com хаяг нь үргэлж ажиллаж байгаа серверийн IP хаягийг зааж өгөх явдал юм.
Манай муур сайтыг okerr-д байршуулдаг сервер бүрийн ард түүний статусыг минут тутамд нэг удаа шалгадаг үзүүлэлт байдаг.

Вэбсайтад зориулсан энгийн шилжүүлэлт (хяналт + динамик DNS)

Энэ дэлгэцийн агшинд бид cat.okerr.com сайтыг alpha.okerr.com серверээс хэрхэн шалгаж байгааг харж байна. Энэ хуудсанд status=OK агуулагдах ёстой бөгөөд дээр дурдсанчлан манай үзүүлэлтийн төлөв хэвийн байна. Сервер "эвдрэх" үед ERR гарна. (Энэ бол индикаторын зөвхөн нэг жишээ бөгөөд okerr хянаж байгаа тул та ямар ч төрлийн индикаторыг хавсаргах боломжтой, жишээлбэл, диск дээрх сул зай, мэдээллийн сан дахь шинэ захиалгын тоо, тэр ч байтугай логик үзүүлэлтүүдийг шалгах боломжтой. , шөнө зарим алдааны шалгуур байх болно, өдрийн цагаар бусад).

Төслийн тохиргоонд бид эдгээр үзүүлэлтүүдээр бүтэлгүйтлийн схемийг үүсгэсэн.

Вэбсайтад зориулсан энгийн шилжүүлэлт (хяналт + динамик DNS)

Уг схем нь тэргүүлэх ач холбогдол бүхий гурван үзүүлэлттэй (гурван сервер) байна. Сайтын үндсэн сервер бол Чарли, хэрэв энэ нь ажиллахгүй бол ("статус=OK" байхгүй эсвэл зүгээр л ашиглах боломжгүй), дараа нь bravo, сүүлчийн тохиолдолд - альфа. Хуудасны баруун талд өөр өөр сервер дээрх DNS бичлэгийн төлөвийг харуулав.

cat.he.okerr.com нэрийг ашиглаж байгааг анзаарсан хүмүүсийн хувьд: Бид арай илүү төвөгтэй схемийг ашигладаг. Бид cat.okerr.com-ын DNS бичлэгийг өөрчлөхийн оронд cat.he.okerr.com-г өөрчилдөг (Динамик DNS үйлчилгээ үзүүлэгч дээр) Хар салхины цахилгаан), cat.okerr.com нь өөрчлөгддөггүй CNAME (алиас) бөгөөд үргэлж cat.he.okerr.com руу чиглэдэг. Бид хар салхинд динамик DNS-ийн хувьд илүү дуртай бөгөөд энэ нь нэг оруулгыг удирдах түлхүүрүүдтэй (бүхэл бүтэн бүс гэхээсээ илүү), бид үүнийг илүү аюулгүй гэж бодож байна. Та мөн домэйныг бүхэлд нь удирдахын тулд okerr-д түлхүүр нууц үг оруулах шаардлагагүй, зөвхөн дэд домайн эсвэл бичлэгт зориулагдсан болно.

Уналтаас дээшлэх хүртэл

Энэ схем хэрхэн ажилладаг талаар алхам алхмаар:

  1. Сервер дээр асуудал гарлаа (симуляци).
  2. Okerr мэдрэгч нь сервер бүрийн статусыг минут тутамд нэг удаа шалгаж, okerr дахь төслийн үндсэн серверт мэдээлдэг
  3. Харгалзах серверийн үзүүлэлт OK-оос ERR болж өөрчлөгдөнө
  4. Шалгуур үзүүлэлтийн төлөв өөрчлөгдөхөд бүтэлгүйтлийг дахин тооцоолж, аль хаягийг тохируулах шаардлагатайг тооцоолно (шаардлагатай бол. Жишээлбэл, хэрэв үндсэн сервер ажиллаж байгаа бол нөөц сервер ажиллаж байх үед ямар ч өөрчлөлт гарахгүй. хийсэн)
  5. Энэ хаягийг динамик dns үйлчилгээнд мэдээлнэ. Энэ үе шат дууссаны дараа та баруун талд "синк хийсэн" статусыг харах болно.
  6. Тун удахгүй (секундэд) бичлэг таны домэйны DNS серверт хүрэх болно (муурын сайтын хувьд энэ нь ns1-ns5.he.net).
  7. Энэ мөчөөс эхлэн зарим хэрэглэгчид аль хэдийн шинэ шууд сервер дээр байх болно. Гэхдээ дэлхийн бүх DNS серверүүд бүртгэлээ шинэчлээгүй байгаа бөгөөд хуучин бичлэг нь хаа нэгтээ хадгалагдсан хэвээр байж магадгүй юм. Олон нийтийн DNS сервер дээрх өгөгдөл хэрхэн "бүжиглэж" байгааг та шинэ эсвэл хуучин утгыг харуулах боломжтой. Хэрэв та бүтэлгүйтлийн тохиргооны хуудсыг шинэчлэх юм бол оператор өөрөө DNS серверүүдээс шинэ өгөгдөл хүсэх болно.
  8. Өгөгдөл тогтворжсоны дараа хуучин кэштэй бичлэг хаа сайгүй муудсан - бүх хүсэлтийн 100% шинэ сервер рүү очдог.

7-р үе шатыг (ихэвчлэн хамгийн урт) хурдасгахын тулд динамик DNS бичлэгийн TTL-ийг аль болох бага тохируулах хэрэгтэй. Ерөнхийдөө үйлчилгээ нь 90-120 секундын интервалыг зөвшөөрдөг. Энэ бол бүрэн үндэслэлтэй буулт юм.

Үүнээс гадна

Энэ бүгдийг оройн цагаар тохируулах боломжтой (хэрэв танд нөөц сервер байгаа бол). Okerr болон динамик DNS үйлчилгээ хоёулаа үнэ төлбөргүй байдаг. Okerr дээр илүү олон шалгалт авах, баталгаажуулах хугацааг богиносгохын тулд та сургалтаа дуусгах хэрэгтэй (профайл хуудаснаас). Дууссаны дараа түвшин нэн даруй нэмэгддэг (цагт 20 үзүүлэлт + 1 хурдан, 10 минут). Мөн цөөхөн байвал бичээрэй [имэйлээр хамгаалагдсан], нэмэгдүүлэх боломжтой байх магадлалтай (одоо хүртэл үргэлж боломж байсан, би хэзээ ч татгалзаж байгаагүй, эсрэгээр би өөрөө санал болгосон). Эхэндээ би бүх хүнд бүх зүйлийг амлахыг хүсэхгүй байна, би хэлсэн үгэндээ хүрэх хангалттай хүчин чадалтай гэдэгт эргэлзэж байна. Гэхдээ одоогоор хэрэглэгч цөөхөн байгаа тул хязгаарлалтыг нэмэгдүүлэхэд асуудал гараагүй байна.

Ерөнхийдөө okerr юу хийж чадах вэ - вэбсайтаас харна уу танилцуулга. Ерөнхийдөө энэ бол хяналт (үүлээс zabbix) бөгөөд файл үүсгэгч нь сайхан нэмэлт функц юм. Та мөн сайтаас демо руу бүртгүүлэхгүйгээр нэвтрэх боломжтой.

Шалгуур үзүүлэлт өөрчлөгдөхөд имэйл эсвэл Telegram-аар мэдэгдэл илгээгдэнэ. (Бид юу болж байгааг хараад Telegram бол хамгийн найдвартай мессенжер юм шиг санагдлаа. Стресс тест хийсэн RKN-д баярлалаа!) Okerr-г зөв тохируулснаар аливаа мэдэгдэл нь "бүгдийг хая, бид үүнийг засах хэрэгтэй!" гэсэн дохио юм. , эсвэл "гэрэл унтар!" Океррагаас нэмэлт сэрэмжлүүлэг байх ёсгүй (хэрэв байгаа бол тэдгээрийг өөр байдлаар тохируулах шаардлагатай). Жишээлбэл, манай муурны сайтын хувьд альфа сервер нь хамгийн сүүлчийнх бөгөөд хэзээ ч алдаа гаргадаггүй. Хэрэв тэр хэвтэж байвал бид мэдэх хэрэгтэй. Гэхдээ бусад серверүүд байнга алдаа гаргадаг тул цагт хэд хэдэн удаа дохио авахгүйн тулд эдгээр үзүүлэлтүүд "чимээгүй" статустай байдаг.

Уучлаарай сервер (ямар ч хямд хостинг дээр) үүсгэх нь утга учиртай бөгөөд энэ нь таны уучлалт гуйх хуудастай (бүх үндсэн болон нөөц серверүүд унтарсан тохиолдолд) эсвэл таныг okerr дээрх статусын хуудас руу дахин чиглүүлэх болно (жишээлбэл, манайх). cp.okerr.com/status/okerr) эсвэл statuspage.io.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх