Paano Magpatupad ng Mga Epektibong Pagsusuri sa Kalusugan sa HAProxy

Paano Magpatupad Ng Mga Epektibong Pagsusuri Sa Kalusugan Sa Haproxy



Ang pag-set up ng iyong HAProxy upang kumilos bilang iyong load balancer ay hindi kumpleto kung hindi mo isasaalang-alang ang mga epektibong pagsusuri sa kalusugan ng server. Ang pagpapatupad ng mga pagsusuri sa kalusugan ay nakakatulong sa pagpapabuti ng pagiging maaasahan at pagkakaroon ng aplikasyon. Sinusuportahan ng HAProxy ang pagpapatupad ng mga pagsusuring pangkalusugan na nagsusuri sa mga backend server upang matiyak na ang kanilang kalagayan sa kalusugan ay angkop para sa paggamit.

Tanging ang mga server na pumasa sa mga pagsusuri sa kalusugan ang idinaragdag sa pag-ikot. Sa ganoong paraan, hindi pipiliin ang isang server para magamit kung hindi ito pumasa sa pagsusuri sa kalusugan, na nagpapaliit sa mga pagkakataon ng downtime. Sa buong post na ito, maghuhukay tayo ng mas malalim sa pag-unawa kung paano gumagana ang mga pagsusuri sa kalusugan sa HAProxy at kung ano ang kinakailangan upang maipatupad ang isang epektibong pagsusuri sa kalusugan. Magsimula tayo!

Ano ang Mga Pagsusuri sa Kalusugan sa HAProxy

Kapag kino-configure ang HAProxy, isang gawain ay tukuyin kung anong mga backend server ang gagamitin para sa iyong aplikasyon. Sa ganoong paraan, ang trapiko ay ipapamahagi sa mga server upang maiwasan ang labis na karga ng anumang server. Gayunpaman, nakakatulong ang mga pagsusuring pangkalusugan upang matiyak na ang isang server ay pinili lamang upang pangasiwaan ang trapiko kung ito ay okay.







Ang mga pagsusuri sa kalusugan ay ginagawa sa bawat server, at ang mga pumasa lamang ang idinaragdag sa pag-ikot para magamit sa pagbabalanse ng load. Ang mga pagsusuri sa kalusugan ay isinasagawa sa pamamagitan ng pagpapadala ng mga kahilingan, gaya ng TCP o HTTP, sa isang paunang natukoy na endpoint sa iyong backend server. Tinutukoy ng mga resulta sa kalusugan na ibinalik ng backend server ang status nito. Halimbawa, ang status ng server ay maaaring magpakita ng UP o DOWN o magpadala ng okay 200 status na nagpapatunay na ang server ay malusog.



Sa pag-configure ng mga pagsusuri sa kalusugan, tiyaking mayroon kang paunang natukoy na endpoint na gagamitin para sa mga pagsusuri sa kalusugan. Mayroong iba't ibang mga opsyon na maaari mong gamitin upang i-set up ang iyong endpoint. Halimbawa, maaari kang magbalik ng status code o mensahe depende sa status ng server. Ang lahat ng mga pagsusuri sa kalusugan ay tinukoy sa backend na seksyon ng iyong HAProxy config file. Buksan ang config file at gawin ang iyong frontend na seksyon.



$ sudo nano /etc/haproxy/haproxy.cfg

Narito ang isang pangunahing halimbawa ng isang frontend na seksyon na nagbubuklod sa port 80, nagtatakda ng pahina ng istatistika, at tumutukoy sa default na backend.





Ang susunod na hakbang ay ang paggawa ng backend na seksyon. Ang mga sumusunod ay iba't ibang halimbawa kung paano ipatupad ang isang epektibong pagsusuri sa kalusugan sa HAProxy.



Halimbawa 1: Pagpapatupad ng Mga Epektibong Aktibong Pagsusuri sa Kalusugan

Ang isang simpleng paraan ng pagpapatupad ng mga pagsusuri sa kalusugan sa HAProxy ay sa pamamagitan ng pagtatakda ng mga aktibong pagsusuri sa kalusugan. Sa opsyong ito, susubukan ng HAProxy na kumonekta sa server. Kung walang maipadalang tugon, ituturing nitong hindi malusog ang server at aalisin ito sa pag-ikot. Ang default na paraan ng pagpapatupad ng mga aktibong pagsusuri sa kalusugan ay sa pamamagitan ng pagdaragdag ng 'check' na keyword sa bawat linya ng server para masuri ng HAProxy ang lahat ng ito.

Bagama't gumagana ang unang halimbawang ito, hindi ito ang pinakamahusay na paraan para ipatupad ang mga pagsusuri sa kalusugan. Bukod dito, ginagamit nito ang mga default na setting. Halimbawa, ang pagitan sa pagitan ng mga tseke, na minarkahan bilang inter, ay nakatakda sa dalawang segundo. Ang pagkahulog, ang bilang ng mga nabigong tseke na pinapayagan, ay nakatakda sa tatlo. Upang isaayos ang mga setting na ito, tukuyin ang gustong inter time at bilang ng mga pagsusuri gaya ng ipinapakita sa sumusunod na halimbawa:

Halimbawa 2: Pagpapatupad ng HTTP Health Check

Sa pamamagitan ng isang pagsusuri sa kalusugan ng HTTP, magpapadala ang HAProxy ng isang kahilingan sa HTTP sa lahat ng mga server na may 'check' na keyword. Batay sa tugon, tinatapos nito ang katayuan ng server. Ang mga halimbawa ng matagumpay na tugon ng server ay nasa hanay na 2xx o 3xx. Ang tugon tulad ng 200 OK ay nangangahulugan na ang server ay nasa mabuting kalagayan.

Para sa halimbawang ito, idagdag ang linyang 'opsyon httpchk' sa iyong backend.

Halimbawa 3: Paggawa gamit ang isang Kahilingan sa GET

Nagpapadala ang HAProxy ng kahilingan sa GET sa landas na “/” kapag gumagawa ng kahilingan sa HTTP. Gayunpaman, kung na-configure mo ang iyong endpoint sa ibang path, maaari mong tukuyin ang path ng URL gaya ng '/health', at ipapadala ng HAProxy ang kahilingang GET dito.

Batay sa iyong endpoint, gagamitin ng server ang tugon upang matukoy ang status ng server. Narito kung paano ito ipatupad:

Halimbawa 4: Pagtukoy ng GET Request Path at Status ng Tugon

Sa isang endpoint, maaari mong tukuyin kung anong matagumpay na tugon ang aasahan mula sa kahilingan sa endpoint na GET upang matukoy ang status ng server. Para sa halimbawang ito, ang aming GET request path ay '/health', at inaasahan namin ang 200 na status ng pagtugon upang makumpirma na ang server ay nasa mabuting kalusugan upang mahawakan ang load balancing at iba pang mga gawain.

Sa sandaling binago mo ang iyong HAProxy configuration file, i-restart ang HAProxy para magkabisa ang mga pagbabago.

Ayan yun! Ipinatupad mo ang mga epektibong pagsusuri sa kalusugan sa iyong HAProxy. Maaari mong i-access ang pahina ng istatistika o suriin ang log file gamit ang sumusunod na command upang kumpirmahin na gumagana ang mga pagsusuri sa kalusugan tulad ng inaasahan:

$ tail -f /var/log/haproxy.log

Konklusyon

Maaari kang magpatupad ng epektibong pagsusuri sa kalusugan sa HAProxy sa iba't ibang paraan. Ang mga pagsusuri sa kalusugan ay ipinatupad sa backend na seksyon ng HAProxy configuration file, at ang post na ito ay nagbigay ng iba't ibang mga halimbawa kung paano ito gagawin. Suriin ang iyong perpektong paraan at kumportableng magpatupad ng epektibong pagsusuri sa kalusugan sa HAProxy.