Kaip įdiegti veiksmingus sveikatos patikrinimus naudojant HAProxy

Kaip Idiegti Veiksmingus Sveikatos Patikrinimus Naudojant Haproxy



Nebaigtas HAProxy nustatymas, kad jis veiktų kaip apkrovos balansuotojas, jei neatsižvelgiate į veiksmingus serverio būklės patikrinimus. Sveikatos patikrinimų įgyvendinimas padeda pagerinti programos patikimumą ir prieinamumą. HAProxy palaiko sveikatos patikrinimų įgyvendinimą, kurie tikrina galinius serverius, kad įsitikintų, jog jų sveikatos būklė yra tinkama naudoti.

Prie rotacijos pridedami tik tie serveriai, kurie praeina sveikatos patikrinimus. Tokiu būdu serveris nebus pasirinktas naudoti, jei jis nepraeis sveikatos patikrinimo ir sumažins prastovų tikimybę. Šiame įraše mes gilinsimės į tai, kaip veikia HAProxy sveikatos patikrinimai ir ko reikia norint atlikti veiksmingą sveikatos patikrinimą. Pradėkime!

Kas yra HAProxy sveikatos patikrinimai

Konfigūruojant HAProxy, viena užduotis yra nurodyti, kokius galinius serverius naudoti jūsų programai. Tokiu būdu srautas bus paskirstytas serveriams, kad būtų išvengta serverio perkrovos. Tačiau sveikatos patikrinimai padeda įsitikinti, kad serveris yra pasirinktas valdyti srautą tik tada, kai jis yra gerai.







Sveikatos patikrinimai atliekami kiekviename serveryje ir tik tie, kurie išlaikomi, pridedami prie rotacijos, kad būtų galima naudoti apkrovos balansavimui. Būklės patikrinimai atliekami siunčiant užklausas, pvz., TCP arba HTTP, į iš anksto nustatytą galinį tašką jūsų vidiniame serveryje. Užpakalinio serverio siunčiami sveikatos rezultatai nustato jo būseną. Pvz., serverio būsena gali būti rodoma AUKŠTYN arba ŽEMYN arba gali būti išsiųsta gera 200 būsena, kuri patvirtina, kad serveris yra sveikas.



Konfigūruodami sveikatos patikrinimus įsitikinkite, kad turite iš anksto nustatytą galutinį tašką, kurį naudosite atliekant sveikatos patikrinimus. Yra įvairių parinkčių, kurias galite naudoti nustatydami galutinį tašką. Pavyzdžiui, galite grąžinti būsenos kodą arba pranešimą, atsižvelgdami į serverio būseną. Visi sveikatos patikrinimai yra apibrėžti jūsų HAProxy konfigūracijos failo skiltyje. Atidarykite konfigūracijos failą ir sukurkite savo sąsajos skyrių.



$ sudo nano /etc/haproxy/haproxy.cfg

Pateikiame pagrindinį priekinės dalies sekcijos, kuri susieja 80 prievadą, nustato statistikos puslapį ir nurodo numatytąją vidinę dalį, pavyzdys.





Kitas žingsnis yra sukurti backend skyrių. Toliau pateikiami skirtingi pavyzdžiai, kaip įdiegti veiksmingą sveikatos patikrinimą naudojant HAProxy.



1 pavyzdys: Veiksmingų aktyvių sveikatos patikrinimų įgyvendinimas

Paprastas būdas atlikti sveikatos patikrinimus HAProxy yra aktyvių sveikatos patikrinimų nustatymas. Pasirinkus šią parinktį, HAProxy bandys prisijungti prie serverio. Jei atsakymas neišsiunčiamas, serveris laikomas nesveiku ir pašalinamas iš rotacijos. Numatytasis aktyvių sveikatos patikrinimų įgyvendinimo būdas yra kiekvienoje serverio eilutėje pridėti raktinį žodį „tikrinti“, kad HAProxy patikrintų juos visus.

Nors šis pirmasis pavyzdys veikia, tai nėra geriausias būdas atlikti sveikatos patikrinimus. Be to, jis naudoja numatytuosius nustatymus. Pavyzdžiui, intervalas tarp patikrinimų, pažymėtas kaip tarpinis, yra nustatytas į dvi sekundes. Kritimas, leidžiamų nepavykusių patikrų skaičius, nustatytas iki trijų. Norėdami pakoreguoti šiuos nustatymus, nurodykite pageidaujamą tarpinį laiką ir patikrinimų skaičių, kaip parodyta šiame pavyzdyje:

2 pavyzdys: HTTP būklės patikrinimo įgyvendinimas

Patikrinusi HTTP būklę, HAProxy išsiųs HTTP užklausą visiems serveriams su raktiniu žodžiu „tikrinti“. Remiantis atsakymu, nustatoma serverio būsena. Sėkmingų serverio atsakymų pavyzdžiai yra 2xx arba 3xx. Atsakymas, pvz., 200 gerai, reiškia, kad serveris yra geros būklės.

Šiame pavyzdyje savo vidinėje programoje pridėkite eilutę „httpchk parinktis“.

3 pavyzdys: darbas su GET užklausa

Pateikdama HTTP užklausą HAProxy siunčia GET užklausą į kelią „/“. Tačiau, jei galutinis taškas sukonfigūruotas kitame kelyje, galite nurodyti URL kelią, pvz., „/health“, ir HAProxy jam išsiųs GET užklausą.

Atsižvelgdamas į jūsų galutinį tašką, serveris naudos atsakymą serverio būsenai nustatyti. Štai kaip tai įgyvendinti:

4 pavyzdys: GET užklausos kelio ir atsakymo būsenos nurodymas

Naudodami galinį tašką galite nurodyti, kokio sėkmingo atsakymo tikėtis iš galutinio taško GET užklausos, kad būtų nustatyta serverio būsena. Šiame pavyzdyje mūsų GET užklausos kelias yra „/health“, ir tikimės, kad 200 atsakymo būsena patvirtins, kad serveris yra geros būklės, kad galėtų atlikti apkrovos balansavimą ir kitas užduotis.

Pakeitę HAProxy konfigūracijos failą, iš naujo paleiskite HAProxy, kad pakeitimai įsigaliotų.

Viskas! Įdiegėte efektyvius HAProxy sveikatos patikrinimus. Galite pasiekti statistikos puslapį arba patikrinti žurnalo failą naudodami šią komandą, kad įsitikintumėte, jog sveikatos patikrinimai veikia taip, kaip tikėtasi:

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

Išvada

Veiksmingą sveikatos patikrinimą HAProxy galite atlikti įvairiais būdais. Sveikatos patikrinimai yra įdiegti HAProxy konfigūracijos failo skiltyje, o šiame įraše pateikti įvairūs pavyzdžiai, kaip tai padaryti. Patikrinkite savo idealų metodą ir patogiai atlikite veiksmingą sveikatos patikrinimą HAProxy.