HAProxy에서 로깅을 설정하고 이해하는 방법

Haproxyeseo Loging Eul Seoljeonghago Ihaehaneun Bangbeob



웹 서버나 기타 호스팅된 애플리케이션이 있는 경우 HAProxy와 같은 로드 밸런서는 서버가 과부하되지 않도록 트래픽을 분산하는 데 도움이 됩니다. 로드 밸런서를 사용하기로 선택한 경우에도 로그를 확인하여 문제를 해결할 수 있는 방법이 필요합니다. HAProxy를 사용하면 감지하고 기록하려는 오류에 따라 다양한 심각도 수준에 대한 로깅을 설정하는 방법을 이해해야 합니다. 이 게시물에서는 HAProxy의 로깅을 소개하고 로깅을 설정하고 이해하는 단계를 설명합니다. 읽어!

HAProxy에서 로깅 설정

인프라에서 HAProxy를 사용할 수 있는 다양한 인스턴스가 있습니다. 웹 서버 또는 컨테이너화를 위한 로드 밸런서로 사용하든 로깅이 작동하는 방식과 로깅을 설정하기 위해 따라야 할 단계를 이해해야 합니다. 오류를 깔끔하게 기록하는 방법이 없으면 HAProxy 문제 해결이 어려운 작업이 됩니다.

다행히 원활한 통합과 서비스를 위해 HAProxy를 감지, 모니터링, 문제 해결하는 데 도움이 되는 로깅을 설정할 수 있습니다. 사용할 수 있는 다양한 로깅 도구가 있지만 이 가이드에서는 syslog 메시지를 처리하는 Rsyslog 도구에 중점을 둡니다.







HAProxy에서 로그인을 설정하는 방법은 다음과 같습니다.



1단계: Rsyslog가 설치되어 있는지 확인



이 튜토리얼에서는 HAProxy용 Rsyslog 로깅 도구를 사용합니다. 따라서 시스템에 설치되어 있는지 확인하십시오. 버전을 확인하여 확인하세요.





최신 Linux 시스템에는 Rsyslog가 사전 설치되어 있습니다. 설치되어 있지 않은 경우 다음 명령을 실행하십시오.



$ sudo apt install rsyslog

2단계: HAProxy 구성 파일 편집

시스템에서 Rsyslog를 사용할 수 있게 되면 다음 단계는 HAProxy 구성 파일에 액세스하고 로깅을 처리할 방법을 정의하는 것입니다. 구성 파일은 '/etc/haproxy/haproxy.cfg'에 있습니다. 원하는 편집기로 열어보세요.

sudo nano /etc/haproxy/haproxy.cfg

전역 섹션에서는 HAProxy 로깅이 발생하는 방식을 지정합니다. UDP 포트 514와 같은 특정 포트에서 수신 대기하는 syslog 서버가 있는 경우 다음 줄을 사용하여 'local0' 기능을 통해 로그를 보낼 수 있습니다.

또는 로그를 '/dev/log' 소켓으로 보내고 Rsyslog를 사용하여 액세스하도록 선택할 수 있습니다. 이를 위해 구성 파일에 다음 줄을 추가하세요.

'log' 키워드는 지정된 syslog 서버 또는 소켓으로 로그를 보내라는 지시문을 제공하므로 포함되어야 합니다. 다시 말하지만, 로그에 대해 특정 보안 수준을 지정하려면 알림 보안 수준에 대해 했던 것처럼 명령문 끝에 해당 이름을 추가하세요.

기록할 수 있는 보안 수준에는 여러 가지가 있습니다. 명령문의 첫 번째 줄에서 했던 것처럼 보안 수준 유형을 지정하지 않으면 로그 파일에는 HAProxy에서 공유하는 모든 로그 메시지가 포함되며 기록된 메시지에 따라 용량이 커질 수 있습니다. 따라서 syslog 서버나 소켓에 기록하려는 내용을 구체적으로 지정하는 것이 좋습니다.

'기본값' 섹션에 다음 줄이 있는지 확인하세요.

이 명령문은 백엔드와 같은 구성 파일의 모든 후속 프록시 섹션이 전역 섹션에 지정한 기준을 사용하여 메시지를 기록하도록 보장합니다. 그러나 모든 프록시에 대해 특정 로그 기준을 사용하여 대상으로 삼는 보안 수준 유형을 캡처하도록 선택할 수 있습니다. 사용할 syslog 서버 또는 소켓을 지정한 후 변경 사항을 저장하고 파일을 종료합니다.

3단계: Rsyslog 구성 파일 편집

rsyslog 구성 파일에서 HAProxy 로그를 저장할 위치를 rsyslog에 지정해야 합니다. 이 경우에는 일반 로그와 공지 수준 로그를 저장하려고 합니다. 따라서 구성 파일을 열고 하단에 다음 명령문을 추가하십시오.

변경 사항을 저장하고 파일을 종료합니다. Rsyslog는 생성된 로그 메시지 유형에 따라 이전에 지정한 로그 파일 중 하나로 로그 메시지를 보냅니다.

4단계: 서비스 다시 시작

그런 다음 HAProxy 및 rsyslog 서비스를 다시 시작해야 합니다. 'systemctl'을 사용하여 다음 명령을 실행합니다.

$ sudo systemctl 재시작 rsyslog.service
$ sudo systemctl 재시작 haproxy.service

5단계: 로깅 테스트

이제 HAProxy 로그가 설정되었습니다. 남은 단계는 로깅이 작동하는지 확인하는 것입니다. 이를 테스트하기 위해 'tail' 명령을 사용하여 로그 파일의 마지막 줄을 실시간으로 표시합니다.

이전에 'rsyslog' 구성 파일에 지정한 것과 동일한 경로를 어떻게 지정하는지 확인하세요.

제공된 출력은 HAProxy 로깅을 성공적으로 설정했음을 확인합니다. 캡처하려는 로그 유형을 수용하도록 구성 파일을 자유롭게 편집하십시오.

결론

HAProxy에는 다양한 애플리케이션이 있습니다. 어떤 방식으로 활용하든 로깅은 오류를 방지하고 문제 해결을 돕는 데 필수적입니다. 구성 파일 편집부터 로그 저장 위치 지정, 로깅 작동 테스트까지 HAProxy 로깅을 설정하는 단계를 배웠습니다. 이제 귀하의 사례에 대한 HAProxy 로깅을 설정할 수 있기를 바랍니다.