프록시 부하 분산 및 고가용성

Zabbix v7.4번역일: 2026-09-09원본 보기

개요

Zabbix 프록시는 프록시 그룹으로 구성하여 프록시 부하 분산과 고가용성을 활성화할 수 있습니다.

프록시 부하 분산 및 고가용성이란 프록시 그룹 내 프록시 간에 호스트를 자동으로 재분배하는 기능입니다.

  • 프록시가 오프라인 상태가 되면 해당 프록시의 호스트가 다른 프록시로 이동되어 프록시 고가용성을 유지합니다.
  • 어떤 프록시의 호스트 수가 다른 프록시보다 훨씬 많거나 적으면, 프록시 부하를 균형 있게 맞추기 위해 해당 프록시의 호스트가 다른 프록시로 이동됩니다.

호스트 재분배는 다음 조건을 충족하는 그룹 내 프록시 간에만 작동합니다.

  • 프록시가 Zabbix 7.0 이상 버전을 실행 중이어야 합니다.
  • 프록시 버전이 Zabbix server 버전과 일치해야 합니다. Zabbix agent(passive)를 사용하는 경우, 프록시 버전이 agent 버전과 일치해야 합니다. Active agent는 Zabbix 7.0 이상만 요구합니다.
  • 프록시 그룹이 온라인 상태여야 합니다.
  • 호스트가 개별 프록시가 아닌 프록시 그룹에 의해 모니터링되도록 구성되어 있어야 합니다.

프록시 그룹에 할당된 호스트라면 어떤 호스트로든 internal 체크를 통해 프록시 그룹의 상태를 모니터링할 수 있습니다. 다만 그룹 내 개별 프록시의 상태를 모니터링하려면 해당 호스트를 그 프록시에 할당해야 합니다. 그렇지 않으면 결과가 일관되지 않을 수 있습니다.

호스트 재분배

프록시 부하 분산 및 고가용성은 프록시 그룹 매니저를 통해 Zabbix server가 관리하며, 이는 각 프록시 그룹 내 모든 프록시의 상태와 호스트 분포를 지속적으로 모니터링합니다.

그룹 내 프록시 고가용성은 프록시 장애 조치(failover)를 통해 보장됩니다. 프록시가 오프라인 상태가 되면 해당 호스트는 즉시 다른 프록시로 재분배됩니다. 또한 호스트가 할당된 수가 가장 적은 프록시로 재할당되면서 프록시 부하 분산도 함께 이루어집니다.

또한 프록시의 호스트 수가 그룹 평균과 최소 10개 호스트 및 2배 이상 차이 나는 경우(호스트 초과 또는 부족) 프록시 부하 분산이 트리거됩니다. 유예 기간(failover delay의 10배)이 지난 후에도 불균형이 지속되면 해당 프록시 그룹은 호스트 재분배 대기열에 등록됩니다.

프록시 그룹 매니저는 다음 로직으로 호스트를 재분배합니다.

  1. 프록시당 평균 호스트 수를 계산합니다.
  2. 호스트가 초과된 프록시의 경우, 초과된 호스트를 미할당 풀로 이동합니다.
  3. 호스트가 부족한 프록시의 경우, 균형을 맞추는 데 필요한 호스트 수를 계산합니다.
  4. 호스트가 가장 많은 프록시부터 필요한 수만큼 호스트를 제거합니다.
  5. 미할당 호스트를 호스트 수가 가장 적은 프록시로 이동합니다.

호스트 재분배 예시:

프록시의 호스트 수 그룹 평균 호스트 재할당
100 50 예
60 50 아니오
40 50 아니오
25 50 예
15 5 예
10 5 아니오

프록시 그룹에 의해 모니터링되는 호스트가 10개 미만이면 그룹 내 프록시 간 호스트 분포가 고르지 않을 수 있습니다.

프록시 그룹 구성

Zabbix frontend에서 프록시 그룹을 구성하려면:

  1. Administration > Proxy groups로 이동합니다
  2. Create proxy group을 클릭합니다

매개변수 설명
Name 프록시 그룹의 이름입니다.
Failover period 프록시 그룹 내 프록시가 온라인 상태로 간주되기 위해 Zabbix server와 통신해야 하는 기간(초 단위, 기본값: 1m, 범위: 10s-15m)입니다. 프록시가 이 기간 내에 통신하지 않으면 프록시 상태가 Offline으로 변경되고 해당 호스트는 즉시 다른 프록시로 재분배됩니다. 프록시 부하 분산은 이 기간의 10배가 지난 후 시작됩니다.
시간 접미사(예: 30s, 1m) 및 사용자 매크로를 지원합니다.
Minimum number of proxies 프록시 그룹을 온라인 상태로 유지하는 데 필요한 온라인 프록시의 최소 개수(기본값: 1, 범위: 1-1000)입니다.
사용자 매크로를 지원합니다.

이 값은 그룹 내 전체 프록시 수보다 작아야 합니다. 예를 들어 프록시 10개로 구성된 그룹에서 최소값을 10으로 설정하면 프록시 하나만 장애가 발생해도 그룹이 오프라인 상태가 됩니다. 오프라인 그룹 내 온라인 프록시는 계속 정상적으로 동작하지만, 부하 분산/고가용성 기능은 작동하지 않습니다.
Description 프록시 그룹에 대한 설명입니다.
Proxies 프록시가 있는 그룹을 편집할 때 최대 5개까지 프록시 목록을 표시합니다(프록시에 대한 사용자 권한에 따라 링크 또는 일반 텍스트로 표시).

프록시 부하 분산 구성

프록시 부하 분산을 사용하려면 Zabbix frontend에서 프록시 그룹을 구성하고(위 내용 참고), 호스트가 개별 프록시가 아닌 프록시 그룹에 의해 모니터링되도록 해야 합니다(호스트를 프록시에서 프록시 그룹으로 이동할 때 일괄 업데이트를 사용할 수 있습니다).

Zabbix agent를 사용하는 경우, 다음과 같이 구성하십시오.

  • Passive 체크의 경우, Server 매개변수에 프록시 그룹의 모든 프록시를 나열하십시오.
  • Active 체크의 경우, ServerActive 매개변수에 프록시 그룹의 모든 프록시 또는 Zabbix server를 나열하는 것이 좋습니다. Zabbix agent 7.0 이상만 active 모드에서 프록시 그룹과 함께 작동한다는 점에 유의하십시오.

ServerActive 매개변수에 프록시 그룹 내 프록시 하나만(또는 Zabbix server만) 포함되어 있어도 agent는 올바른 프록시에 연결할 수 있습니다. agent 서비스가 시작되어 지정된 프록시에 연결되면, agent는 그룹 내 전체 프록시 IP 목록과 현재 부하 정보를 수신하여 캐시합니다. 이후 active 체크는 프록시 그룹 내 현재 프록시-호스트 할당 상태에 따라 해당 호스트에 맞는 올바른 온라인 프록시로 리디렉션됩니다.

Zabbix agent의 ServerActive 매개변수에 프록시를 하나만 지정하면, 지정된 프록시가 오프라인 상태일 때 agent가 시작되거나 재부팅될 경우 모니터링 데이터가 유실될 수 있습니다.

Zabbix sender를 사용할 때도, 데이터 요청은 프록시 그룹 내 현재 프록시-호스트 할당 상태에 따라 해당 호스트에 맞는 올바른 온라인 프록시로 리디렉션됩니다. 다만 입력 파일에서 여러 호스트의 값을 전송하는 경우, 잘못된 프록시로 데이터가 전송되지 않도록 -g 옵션을 사용하십시오.

Zabbix agent는 방화벽을 통해 프록시 그룹 내 모든 프록시에 연결할 수 있어야 합니다. 그렇지 않으면 리디렉션이나 failover 과정에서 active 체크가 멈추거나 실패할 수 있습니다. 예를 들면:

  • active 체크 중 프록시가 agent를 다른 프록시로 리디렉션할 수 있습니다. 해당 프록시가 방화벽에 의해 차단되어 있으면 응답을 기다리는 동안 통신이 멈추게 됩니다.
  • 최근 재조정이 없었던 안정적인 고가용성 구성에서는 agent가 백업 프록시에 전혀 연결하지 않을 수 있습니다. 방화벽 규칙이 변경되었는데 테스트되지 않았다면 failover가 실패할 수 있습니다.
프록시 부하 분산 테스트

프록시 부하 분산을 테스트하려면:

  1. 프록시 그룹을 구성합니다.
  2. 프록시 그룹이 온라인 상태인지 확인합니다.
  3. 호스트가 개별 프록시가 아닌 프록시 그룹에 의해 모니터링되는지 확인합니다(호스트를 프록시에서 프록시 그룹으로 이동할 때 일괄 업데이트를 사용할 수 있습니다).
  4. 구성 업데이트와 프록시 그룹 내 프록시 간 호스트 분배가 이루어질 때까지 몇 초 기다립니다. Administration > Proxies에서 호스트 목록을 새로고침하여 변경 사항을 확인합니다.
중요 참고 사항
  • SNMP trap은 프록시 그룹 내 프록시에서 지원되지 않습니다.
  • 외부 구성에 의존하는 체크(예: external 체크용 스크립트나 database 체크용 ODBC 구성)는 프록시 그룹 내 모든 프록시에서 동일하게 구성되어야 합니다.
  • Database 체크는 데이터베이스 객체/서버에 대한 확장 권한이 필요합니다.
  • 프록시 그룹에 의해 모니터링되는 VMware 호스트는 그룹 내 프록시에 무작위로 분산됩니다. 이로 인해 각 프록시가 모든 VMware 데이터를 캐시하게 되어 vCenter에 추가 부하가 발생합니다.
  • 프록시 그룹 내 프록시의 자동 등록 데이터를 기반으로 생성된 호스트는 해당 프록시 그룹에 의해 모니터링되도록 설정됩니다. 반면 프록시 그룹 내 프록시의 네트워크 탐색 데이터를 기반으로 생성된 호스트는 해당 프록시에 의해 모니터링되도록 설정됩니다.