안녕하세요, Zabbix 공식 파트너 디무브입니다.
최근 많은 기업이 분산 환경에서 대규모 IT 인프라를 안정적으로 운영하기 위해 다양한 모니터링 방안을 고민하고 있습니다. 이런 수요에 부응하기 위해 Zabbix 7.0 버전부터 기존의 Proxy 구조를 한 단계 발전시킨 Proxy Group 기능을 제공하게 되었습니다.
Proxy Group은 여러 개의 Proxy 서버를 하나의 그룹으로 묶어 관리할 수 있도록 해주는 기능으로, 단일 Proxy에 의존하던 기존 구조의 한계를 보완합니다. 이를 통해 서버 모니터링 안정성을 높이고, 장애 발생 시 자동으로 다른 Proxy로 트래픽이 분산되어 서비스 연속성을 보장할 수 있습니다.
오늘 포스트에서는 Zabbix Proxy Group의 개념과 장점, 구성 방법, 그리고 로드밸런싱 동작 확인 방법까지 단계별로 소개해 드리겠습니다.
1. Zabbix Proxy Group 도입 배경
Zabbix는 대규모 인프라 환경에서도 안정적으로 모니터링할 수 있도록 다양한 확장 기능을 제공해 왔습니다.
그중에서도 Proxy는 지리적으로 분산된 데이터 수집을 가능하게 하고, 서버의 부하를 줄여주는 중요한 구성 요소입니다. 하지만 기존 버전에서는 Proxy와 Host가 1:1로 매핑되었기 때문에 Zabbix proxy 사용 시 다음과 같은 문제점이 있었습니다.
- 특정 Proxy에 모니터링 대상이 집중되어 부하 불균형 발생
- Proxy 장애 시 담당 Host의 데이터 수집이 중단 → 서버 운영자가 직접 Proxy를 변경해야 함
- 신규 Host 추가 시 어느 Proxy에 연결할지 수동으로 판단·지정 필요
이러한 문제는 특히 수천 개 이상의 Host, 수십만 개 이상의 item을 수집하는 대규모 환경에서 지연 큐(Delay Queue)증가, 운영 복잡성 확대, 서비스 모니터링 공백으로 이어졌습니다.
이런 배경 속에서 Zabbix 7.0에서는 Proxy Group이라는 개념이 새로 도입되었습니다.
📌 Zabbix 7.0 업데이트에 관련된 추가 내용은 Zabbix 7.0 릴리즈 노트를 확인해 보세요. 모니터링 최신 기능을 이용하기 위해서는 최신 버전 업데이트를 권장합니다.
2. Zabbix Proxy Group 기능 개요
Proxy Group은 여러 개의 Zabbix Proxy를 하나의 논리적 그룹으로 묶고, Host를 그룹 단위로 할당하는 기능입니다. 즉, 더 이상 개별 Proxy에 직접 Host를 연결하지 않고, Proxy Group에만 연결하면 됩니다.
이렇게 되면 Zabbix 서버가 자동으로 그룹 내 Proxy를 선택하고, 부하 상황이나 장애 상태에 따라 Host를 동적으로 재할당합니다.
운영자는 단순히 ‘어떤 Proxy 그룹에서 이 Host를 관리할지’만 정하면 되고, 세부적인 분배는 자동화되어 서버가 알아서 처리합니다.
3. Zabbix Proxy Group이 제공하는 장점
① 자동 로드밸런싱 (Automatic Load Balancing)
기존에는 특정 Proxy가 많은 Host를 담당하면 지연 큐가 폭증하고, 다른 Proxy는 여유가 있어도 활용되지 못하는 비효율이 발생했습니다.
Proxy Group은 그룹 내 각 Proxy의 Host 수를 지속적으로 평가하여 신규 Host를 평균치에 비해 사용량이 적은 Proxy로 자동 배정합니다.
이 방식으로 Proxy 간 부하가 고르게 분산되며, 모니터링 지연 문제를 크게 완화할 수 있습니다.
⚠️ Host 개수에 따른 로드밸런싱이 이루어지며, Host에 지정된 item의 개수에 따라 부하의 불균형이 있을 수 있습니다. item 개수가 비슷한 장비들을 Proxy group으로 묶어 사용하는 것을 추천드립니다.
균형 재배치는 조건이 충족될 때 자동으로 수행됩니다. 조건은 :
- Host 수가 그룹 평균과 비교해 10개 이상 차이나거나, 2배 이상 차이가 날 때.
- 일정 유예 기간(Grace Period:10 × failover delay
) 이후에 자동 재분배가 시작됩니다.
📌 참고 자료
② 고가용성 (High Availability)
Proxy 장애는 곧바로 모니터링 공백으로 이어집니다.
하지만 Proxy Group 환경에서는 그룹 내 Proxy 중 하나가 다운되더라도, 서버가 즉시 이를 감지하고 해당 Proxy가 담당하던 Host를 다른 정상 Proxy로 재할당합니다.
이를 통해 운영자의 수동적 개입 없이도 서비스가 연속성을 유지할 수 있고, 무중단 모니터링이 가능합니다.
③ 운영 단순화 (Operational Simplification)
Proxy가 여러 대 있을 때 Host를 어디에 연결해야 할지 고민할 필요가 없습니다.
운영자는 Host 생성 시 단순히 "Proxy Group"만 지정하면 되며, Zabbix 서버가 적절한 Proxy를 알아서 선택합니다.
Proxy를 새로 증설하거나 교체하는 경우에도 그룹에 추가하거나 제거만 하면 되므로, 운영 관리가 훨씬 단순해집니다.
④ 확장성 (Scalability)
대규모 인프라 환경에서는 모니터링 대상이 지속적으로 증가합니다.
기존 구조에서는 Host 수가 많아질수록 Proxy 별 분배 전략을 수동으로 설계해야 했지만, Proxy Group에서는 단순히 새로운 Proxy를 그룹에 추가하기만 하면 자동으로 재분배가 이루어집니다.
즉, IT 시스템 환경 규모가 커지더라도 관리 복잡성은 증가하지 않고, 탄력적으로 확장할 수 있습니다.
⑤ 장애 대응 속도 향상
운영자가 직접 Proxy 장애를 확인하고 Host를 옮기는 방식은 수 분에서 수십 분까지 시간이 걸릴 수 있습니다.
하지만 Proxy Group은 서버 차원에서 자동화된 장애 대응을 제공하므로, 장애 발생 즉시 몇 분 내에 Host가 다른 Proxy로 이동합니다.
이 덕분에 MTTR(Mean Time to Recovery)을 획기적으로 단축할 수 있습니다.
5. Proxy Group 설정 방법
Proxy Group은 Zabbix 7.0부터 정식 UI와 API를 통해 지원됩니다. 실제 설정 과정은 크게 두 단계로 나눌 수 있습니다: Proxy Group 생성과 Host 그룹 할당입니다.

(1) Proxy Group 생성
- Zabbix UI 접속 → Administration → Proxy groups → Create proxy group
- 그룹 이름 입력
(예: Proxy-Group)
- 멤버 Proxy 선택 (예:
ProxyA
,ProxyB
,ProxyC
) - (선택 사항) Failover 대기 시간, 최소 온라인 Proxy 수 등 고급 설정값 지정
이렇게 하면 Proxy Group 자체가 생성되어, 그룹 단위의 Proxy 관리가 가능해집니다.
(2) Proxy 생성 후 Proxy Group에 할당

- Zabbix UI 접속 → Administration → Proxies → Create proxy
- Proxy name 입력
- Proxy group (생성한 Proxy 그룹 지정)
- Address for active agents (*Active agents가 연결할 경우 접속할 ip와 port를 설정하는 옵션입니다.)
- Proxy mode 선택
- Proxy address (Proxy의 ip를 입력합니다.)

(3) Zabbix 에이전트 설정 파일 IP 부여 (Passive, Active)
(3-1) Passive 에이전트 설정 파일 IP 수정
vi /etc/zabbix/zabbix_agent2.conf
- Server: Zabbix proxy들의 대역을 설정
(3-2) Active 에이전트 설정 파일 IP 수정
vi /etc/zabbix/zabbix_agent2.conf
- ServerActive: Proxy들의 ip를 각각 입력

(4) Host를 Proxy Group에 할당
- Configuration → Hosts → 선택한 Host → Monitored by proxy
- 이전 버전에는 개별 Proxy를 지정했지만, 7.0 이후 버전에서는 Proxy group을 선택
- 생성한
Proxy-Group
을 선택하여 저장
이제부터 해당 Host는 그룹 내에서 자동으로 적절한 Proxy에 분배되어 모니터링됩니다.
6. 로드밸런싱 및 Failover 확인
이번 챕터에서는 Proxy Group을 올바르게 적용했는지, 실제로 로드밸런싱과 장애 조치가 정상적으로 동작하는지 확인해 보도록 하겠습니다.
(1) Host 분배 현황 확인
- 경로 : Monitoring → Hosts
Proxy
컬럼을 보면 각 Host가 실제로 어떤 Proxy에 연결되어 있는지 확인 가능- Proxy Group 내 Proxy들이 균등하게 Host를 나눠 맡고 있는지 점검
아래는 Proxy 장애 발생시 Active agent의 Failover과정을 설명한 그림입니다.
- 장애 발생 전
- 장애 발생 시 (Demo-passive 장애)
Demo-proxy-active로 Failover되는 것을 볼 수 있습니다.
(2) 장애 시 Failover 검증
- ProxyA 서비스를 중지 (예:
systemctl stop zabbix-proxy
) - Monitoring → Hosts 화면에서 해당 Host들이 ProxyB, ProxyC로 재할당되었는지 확인
- 또는 Administration → Proxies 화면에서 확인
(3) Proxy 복구 후 재분배 확인
- ProxyA를 다시 기동 (
systemctl start zabbix-proxy
) - 서버 로그에서 “ProxyA recovered” 메시지 확인
- 일부 Host가 ProxyA로 자동 이동하며, 그룹 전체 균형이 다시 맞춰지는지 검증
7. Proxy Group 적용 시 주의 사항
🚫 Proxy와 Agent 간의 무한 루프
Agent가 특정 Proxy 한 대와만 통신 가능한 경우, 무한 루프가 발생할 수 있으므로 주의가 필요합니다.
Server는 Active 상태인 Proxy 1과 Proxy 2 중 하나를 선택하여 할당합니다. 만약 Agent와 통신이 불가능한 Proxy 2가 선택되면, 이로 인해 무한 루프가 발생하게 됩니다.
즉, Proxy Group에 속하는 Proxy와 모두 통신이 가능하도록 설정해야 합니다.
Zabbix 7.0 에서 업데이트 된 Proxy Group 기능과 쿠버네티스(Kubernetes) 모니터링을 함께 활용하면, 대규모 인프라에서도 빠르고 안정적인 감시 체계를 구성할 수 있습니다. Zabbix로 쿠버네티스를 모니터링해, 안정적이고 안전한 서비스 환경을 구축하는 방법이 궁금하신가요? 상담이 필요하시다면 Zabbix 공식 파트너 디무브를 찾아주세요 😉
'자빅스 > Case Study' 카테고리의 다른 글
Case Study- Zabbix와 JSM 통합으로 인시던트 관리 자동화 ② (0) | 2025.02.07 |
---|---|
Case Study- Zabbix와 JSM 통합으로 인시던트 관리 자동화 ① (1) | 2024.12.30 |
Case Study- Zabbix Server를 활용한 Jira Data Center 모니터링 방법 (1) | 2024.05.07 |
Case Study- Ansible 기반의 Zabbix 에이전트 배포 (0) | 2024.04.05 |
Case Study- Zabbix를 통한 TCP/UDP 포트 상태 확인 (0) | 2024.02.28 |