Sådan konfigureres og forstås logning i HAProxy

Sadan Konfigureres Og Forstas Logning I Haproxy



Når du har en webserver eller en anden hostet applikation, vil en load balancer som HAProxy hjælpe dig med at distribuere trafikken for at sikre, at din server ikke overbelastes. Når du vælger at bruge en belastningsbalancer, har du stadig brug for en måde at fejlfinde det på ved at tjekke logfilerne. Med HAProxy skal du forstå, hvordan du opsætter logningen til forskellige sværhedsgrader afhængigt af, hvilke fejl du vil opdage og logge. Dette indlæg introducerer logning i HAProxy og diskuterer trinene til at konfigurere og forstå logning. Læs videre!

Opsætning af logge på HAProxy

Der er forskellige tilfælde, hvor du kan bruge HAProxy i din infrastruktur. Uanset om du bruger det som en belastningsbalancer til din webserver eller din containerisering, skal du forstå, hvordan logning fungerer, og hvilke trin du skal følge for at konfigurere det. Uden en ren måde at logge fejl på, vil fejlfinding af HAProxy være en vanskelig opgave.

Heldigvis kan du konfigurere logning for at hjælpe dig med at opdage, overvåge og fejlfinde HAProxy for problemfri integration og service. Der er forskellige logningsværktøjer, som du kan bruge, men denne guide fokuserer på Rsyslog-værktøjet til at håndtere syslog-meddelelserne.







Sådan kan du konfigurere logning i HAProxy:



Trin 1: Sørg for, at Rsyslog er installeret



Denne tutorial bruger Rsyslog-logningsværktøjet til HAProxy. Sørg derfor for, at du har det installeret på dit system. Bekræft det ved at tjekke dens version.





De nyeste Linux-systemer leveres med Rsyslog forudinstalleret. Hvis du ikke har det installeret, skal du køre følgende kommando:



$ sudo apt installere rsyslog

Trin 2: Rediger HAProxy-konfigurationsfilen

Når du har Rsyslog tilgængelig på dit system, er næste trin at få adgang til HAProxy-konfigurationsfilen og definere, hvordan vi ønsker, at vores logning skal håndteres. Konfigurationsfilen er placeret i '/etc/haproxy/haproxy.cfg'. Åbn den med en editor efter eget valg.

sudo nano /etc/haproxy/haproxy.cfg

I den globale sektion er det her, vi specificerer, hvordan vi ønsker, at HAProxy-logningen skal ske. Hvis du har en syslog-server, der lytter i en given port, såsom UDP-port 514, kan du sende logfilerne til den via 'local0'-faciliteten med følgende linje:

Alternativt kan du vælge at sende logfilerne til '/dev/log'-stikket og få adgang til dem ved hjælp af Rsyslog. Til det skal du tilføje følgende linje til din konfigurationsfil:

Bemærk, at nøgleordet 'log' skal inkluderes, da det giver direktiverne om at sende logfilerne til den angivne syslog-server eller -socket. Igen, hvis du vil angive et givet sikkerhedsniveau for logfilerne, skal du tilføje dets navn i slutningen af ​​erklæringen, som vi gjorde for meddelelsessikkerhedsniveauet.

Der er flere sikkerhedsniveauer, som du kan logge. Hvis du ikke angiver typen af ​​sikkerhedsniveau, som vi gjorde med den første linje i erklæringen, vil logfilen indeholde alle logmeddelelser, der deles af HAProxy og kan være omfangsrige afhængigt af de loggede meddelelser. Overvej derfor at være specifik med, hvad du vil logge på din syslog-server eller socket.

Under afsnittet 'Standarder' skal du sikre dig, at du har følgende linje:

Erklæringen sikrer, at alle de efterfølgende proxy-sektioner i konfigurationsfilen, såsom backend, vil logge meddelelserne ved hjælp af de kriterier, du har angivet i den globale sektion. Du kan dog vælge at bruge et specifikt logkriterie for hver proxy for at fange den type sikkerhedsniveau, du målretter mod. Når du har angivet den syslog-server eller socket, der skal bruges, skal du gemme ændringerne og afslutte filen.

Trin 3: Rediger Rsyslog-konfigurationsfilen

I rsyslog-konfigurationsfilen skal vi dirigere rsyslog, hvor HAProxy-logfilerne skal gemmes. I dette tilfælde ønsker vi at gemme de generelle logfiler og logfilerne på meddelelsesniveau. Åbn derfor konfigurationsfilen og tilføj følgende udsagn i bunden:

Gem ændringerne og afslut filen. Rsyslog sender logmeddelelserne til en af ​​de logfiler, som du tidligere har angivet, afhængigt af typen af ​​logmeddelelse, der genereres.

Trin 4: Genstart tjenesterne

Du skal derefter genstarte HAProxy- og rsyslog-tjenesterne. Kør følgende kommandoer ved hjælp af 'systemctl':

$ sudo systemctl genstart rsyslog.service
$ sudo systemctl genstart haproxy.service

Trin 5: Test logningen

Dine HAProxy-logfiler er nu sat op. Det resterende trin er at verificere, at logningen fungerer. For at teste det bruger vi kommandoen 'hale' til at vise de sidste linjer i vores logfil i realtid.

Bemærk, hvordan vi angiver den samme sti, som vi specificerede i 'rsyslog'-konfigurationsfilen tidligere.

Det givne output bekræfter, at vi har opsat vores HAProxy-logning. Du er velkommen til at redigere konfigurationsfilerne, så de passer til den type logfiler, du ønsker at fange.

Konklusion

HAProxy har forskellige applikationer. Uanset hvilken måde du vælger at bruge det, er logning afgørende for at forhindre fejl og hjælpe med fejlfinding af problemer. Vi lærte trinene til at konfigurere HAProxy-logningen, fra redigering af konfigurationsfilerne til at specificere, hvor logfilerne skal gemmes til at teste, at logningen fungerer. Forhåbentlig kan du nu konfigurere HAProxy-logningen til din sag.