1 Proxies
원본 보기1 프록시
개요
Zabbix 프록시는 Zabbix 서버를 대신하여 성능 및 가용성 데이터를 수집할 수 있습니다. 이렇게 하면 프록시가 데이터 수집 부하의 일부를 담당하여 Zabbix 서버의 부하를 줄일 수 있습니다.
또한 프록시를 사용하는 것은 중앙 집중식 및 분산 모니터링을 구현하는 가장 쉬운 방법입니다. 모든 에이전트와 프록시가 하나의 Zabbix 서버에 보고하고 모든 데이터가 중앙에서 수집됩니다.
Zabbix 프록시는 다음과 같은 용도로 사용할 수 있습니다:
- 원격 위치 모니터링
- 통신이 불안정한 위치 모니터링
- 수천 대의 장치를 모니터링할 때 Zabbix 서버 부하 분산
- 분산 모니터링 유지보수 간소화

프록시는 Zabbix 서버에 대한 하나의 TCP 연결만 필요합니다. 이렇게 하면 하나의 방화벽 규칙만 구성하면 되므로 방화벽을 우회하기가 더 쉬워집니다.
Zabbix 프록시는 별도의 데이터베이스를 사용해야 합니다. Zabbix 서버 데이터베이스를 가리키면 구성이 손상됩니다.
프록시가 수집한 모든 데이터는 서버로 전송하기 전에 로컬에 저장됩니다. 이렇게 하면 서버와의 일시적인 통신 문제로 인한 데이터 손실이 없습니다. 프록시 구성 파일의 ProxyLocalBuffer 및 ProxyOfflineBuffer 매개변수는 데이터가 로컬에 보관되는 기간을 제어합니다.
Zabbix 서버 데이터베이스에서 직접 최신 구성 변경 사항을 받는 프록시가, CacheUpdateFrequency 값으로 인해 구성 업데이트가 빠르지 않을 수 있는 Zabbix 서버보다 더 최신 구성을 가질 수 있습니다. 그 결과, 프록시는 데이터 수집을 시작하여 Zabbix 서버에 전송하지만 서버는 이러한 데이터를 무시할 수 있습니다.
Zabbix 프록시는 데이터 수집기입니다. 트리거를 계산하거나 이벤트를 처리하거나 알림을 보내지 않습니다. 프록시 기능의 개요는 다음 표를 참조하십시오:
| 기능 | 프록시 지원 | |
|---|---|---|
| 아이템 | ||
| Zabbix 에이전트 검사 | 예 | |
| Zabbix 에이전트 검사 (능동) | 예 1 | |
| 단순 검사 | 예 | |
| 트래퍼 아이템 | 예 | |
| SNMP 검사 | 예 | |
| SNMP 트랩 | 예 | |
| IPMI 검사 | 예 | |
| JMX 검사 | 예 | |
| 로그 파일 모니터링 | 예 | |
| 내부 검사 | 예 | |
| SSH 검사 | 예 | |
| Telnet 검사 | 예 | |
| 외부 검사 | 예 | |
| 종속 아이템 | 예 | |
| 스크립트 아이템 | 예 | |
| 브라우저 아이템 | 예 | |
| 내장 웹 모니터링 | 예 | |
| 아이템 값 전처리 | 예 | |
| 네트워크 검색 | 예 | |
| 능동 에이전트 자동등록 | 예 | |
| 저수준 검색 | 예 2 | |
| 원격 명령 | 예 | |
| 트리거 계산 | 아니요 | |
| 이벤트 처리 | 아니요 | |
| 이벤트 상관관계 | 아니요 | |
| 알림 전송 | 아니요 | |
[1] 에이전트가 능동 검사를 위해 (서버가 아닌) 프록시에 요청하도록 하려면, 에이전트 구성 파일의 ServerActive 매개변수에 프록시가 나열되어야 합니다.
[2] LLD의 경우, Zabbix 프록시는 데이터를 수집하고 전처리한 다음 추가 처리를 위해 Zabbix 서버로 전송하기만 합니다.
과부하 방지
Zabbix 서버가 일정 시간 동안 중단되어 프록시들이 많은 데이터를 수집한 후 서버가 다시 시작되면, 서버에 과부하가 발생할 수 있습니다(히스토리 캐시 사용률이 한동안 95-100%를 유지). 이러한 과부하는 체크가 원래보다 느리게 처리되는 성능 저하를 초래할 수 있습니다. 히스토리 캐시 과부하로 인해 발생하는 문제를 방지하기 위해 이 시나리오에 대한 보호 기능이 구현되었습니다.
Zabbix 서버 히스토리 캐시가 가득 차면 히스토리 캐시 쓰기 접근이 제한되어 서버 데이터 수집 프로세스가 지연됩니다. 가장 일반적인 히스토리 캐시 과부하 사례는 서버 중단 후 프록시들이 수집된 데이터를 업로드할 때입니다. 이를 방지하기 위해 프록시 제한 기능이 추가되었습니다(현재 비활성화할 수 없음).
히스토리 캐시 사용률이 80%에 도달하면 Zabbix 서버는 프록시로부터 데이터 수신을 중단합니다. 대신 해당 프록시들은 제한 목록에 추가됩니다. 이는 캐시 사용률이 60%로 떨어질 때까지 계속됩니다. 그러면 서버는 제한 목록에 정의된 순서대로 프록시들로부터 데이터를 하나씩 받기 시작합니다. 즉, 제한 기간 동안 데이터 업로드를 시도한 첫 번째 프록시가 먼저 처리되며, 해당 작업이 완료될 때까지 서버는 다른 프록시로부터 데이터를 받지 않습니다.
이러한 제한 모드는 캐시 사용률이 다시 80%에 도달하거나 20%로 떨어지거나 제한 목록이 비워질 때까지 계속됩니다. 첫 번째 경우에는 서버가 다시 프록시 데이터 수신을 중단합니다. 나머지 두 경우에는 서버가 정상적으로 작동하여 모든 프록시로부터 데이터를 수신합니다.
위의 정보는 다음 표에서 확인할 수 있습니다:
| 히스토리 쓰기 캐시 사용률 |
Zabbix 서버 모드 | Zabbix 서버 동작 |
|---|---|---|
| 80% 도달 | 대기 | 프록시 데이터 수신을 중단하지만 제한 목록(나중에 연결할 프록시의 우선순위 목록)을 유지합니다. |
| 60%로 하락 | 제한됨 | 제한 목록 처리를 시작하지만 여전히 프록시 데이터는 수신하지 않습니다. |
| 20%로 하락 | 정상 | 제한 목록을 삭제하고 프록시 데이터를 정상적으로 수신하기 시작합니다. |
zabbix[wcache,history,pused] 내부 아이템을 사용하여 Zabbix 서버의 이러한 동작을 메트릭과 연관지을 수 있습니다.
구성
프록시를 설치하고 구성한 후에는 Zabbix 프론트엔드에서 설정할 차례입니다.
프록시 추가
Zabbix 프론트엔드에서 프록시를 구성하려면:
- 다음으로 이동: 관리 → 프록시
- 프록시 생성을 클릭

| 매개변수 | 설명 | |
|---|---|---|
| 프록시 이름 | 프록시 이름을 입력합니다. 프록시 구성 파일의 Hostname 매개변수와 동일한 이름이어야 합니다. | |
| 프록시 그룹 | 프록시 로드 밸런싱/고가용성을 위해 하나의 프록시 그룹을 선택합니다. | |
| 활성 에이전트용 주소 | 모니터링하는 활성 에이전트 또는 발송자가 연결해야 하는 주소를 입력합니다. Zabbix 7.0 에이전트 이상에서만 지원됩니다. 이 주소는 활성 및 수동 프록시 모두에 연결하는 데 사용됩니다. 이 필드는 프록시 그룹 필드에서 프록시 그룹이 선택된 경우에만 사용할 수 있습니다. |
|
| 주소 | 연결할 IP 주소/DNS 이름입니다. | |
| 포트 | 연결할 TCP 포트 번호입니다(기본값: 10051). 사용자 매크로를 지원합니다. | |
| 프록시 모드 | 프록시 모드를 선택합니다. 활성 - 프록시가 Zabbix 서버에 연결하여 구성 데이터를 요청합니다 수동 - Zabbix 서버가 프록시에 연결합니다 참고 암호화된 통신 없이 활성 프록시를 사용할 때는 Zabbix 서버 트래퍼 포트에 액세스할 수 있는 당사자가 (민감한) 프록시 구성 데이터를 사용할 수 있게 될 수 있습니다. 이는 인증이 이루어지지 않거나 프록시 주소 필드에서 프록시 주소가 제한되지 않은 경우 누구든지 활성 프록시인 척 하여 구성 데이터를 요청할 수 있기 때문입니다. |
|
| 프록시 주소 | 지정된 경우 활성 프록시 요청은 쉼표로 구분된 IP 주소 목록(선택적으로 CIDR 표기법) 또는 활성 Zabbix 프록시의 DNS 이름에서만 허용됩니다. 이 필드는 프록시 모드 필드에서 활성 프록시가 선택된 경우에만 사용할 수 있습니다. 매크로는 지원되지 않습니다. |
|
| 인터페이스 | 수동 프록시의 인터페이스 세부사항을 입력합니다. 이 필드는 프록시 모드 필드에서 수동 프록시가 선택된 경우에만 사용할 수 있습니다. |
|
| 주소 | 수동 프록시의 IP 주소/DNS 이름입니다. | |
| 포트 | 수동 프록시의 TCP 포트 번호입니다(기본값: 10051). 사용자 매크로를 지원합니다. | |
| 설명 | 프록시 설명을 입력합니다. | |
암호화 탭에서는 프록시와의 암호화된 연결을 요구할 수 있습니다.
| 매개변수 | 설명 |
|---|---|
| 프록시로의 연결 | 서버가 수동 프록시에 연결하는 방법: 암호화 없음(기본값), PSK(사전 공유 키) 사용 또는 인증서 사용. |
| 프록시로부터의 연결 | 활성 프록시에서 허용되는 연결 유형을 선택합니다. 여러 연결 유형을 동시에 선택할 수 있습니다(테스트 및 다른 연결 유형으로 전환하는 데 유용). 기본값은 "암호화 없음"입니다. |
| 발급자 | 인증서의 허용된 발급자입니다. 인증서는 먼저 CA(인증 기관)로 검증됩니다. 유효하고 CA에서 서명된 경우 발급자 필드를 사용하여 허용된 CA를 더 제한할 수 있습니다. 이 필드는 선택사항으로, Zabbix 설치에서 여러 CA의 인증서를 사용하는 경우 사용하기 위한 것입니다. |
| 주체 | 인증서의 허용된 주체입니다. 인증서는 먼저 CA로 검증됩니다. 유효하고 CA에서 서명된 경우 주체 필드를 사용하여 주체 문자열의 하나의 값만 허용할 수 있습니다. 이 필드가 비어 있으면 구성된 CA에서 서명한 모든 유효한 인증서가 허용됩니다. |
| PSK 식별자 | 사전 공유 키 식별자 문자열입니다. PSK 식별자에 민감한 정보를 넣지 마십시오. 사용할 PSK를 수신자에게 알리기 위해 네트워크를 통해 암호화되지 않은 상태로 전송됩니다. |
| PSK | 사전 공유 키(16진 문자열)입니다. 최대 길이: Zabbix가 GnuTLS 또는 OpenSSL 라이브러리를 사용하는 경우 512 16진 자릿수(256바이트 PSK), Zabbix가 mbed TLS (PolarSSL) 라이브러리를 사용하는 경우 64 16진 자릿수(32바이트 PSK). 예시: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952 |
타임아웃 탭에서는 이를 지원하는 아이템 유형에 대해 전역 타임아웃을 재정의할 수 있습니다.

| 매개변수 | 설명 |
|---|---|
| 아이템 유형별 타임아웃 | 타임아웃 옵션을 선택합니다: 전역 - 전역 타임아웃이 사용됩니다(각 아이템 유형의 회색으로 표시된 타임아웃 필드에 표시); 재정의 - 사용자 정의 타임아웃이 사용됩니다(각 아이템 유형의 타임아웃 필드에서 설정). 허용 범위: 1 - 600초(기본값: 전역 타임아웃에서 상속). 시간 접미사(예: 30s, 1m) 및 사용자 매크로를 지원합니다. 전역 타임아웃 링크를 클릭하면 전역 타임아웃을 구성할 수 있습니다. 전역 타임아웃 링크는 관리 → 일반 프론트엔드 섹션에 대한 권한이 있는 슈퍼 관리자 유형의 사용자에게만 표시됩니다. 지원되는 아이템 유형: - Zabbix 에이전트 (수동 및 활성 검사 모두) - 단순 검사 ( icmpping*, vmware.* 아이템 제외)- SNMP 에이전트 (SNMP walk[OID] 및 get[OID] 아이템만)- 외부 검사 - 데이터베이스 모니터 - HTTP 에이전트 - SSH 에이전트 - TELNET 에이전트 - 스크립트 - 브라우저 재정의에서 설정된 타임아웃은 전역 타임아웃보다 우선하지만, 아이템 구성에서 개별 아이템 타임아웃이 설정된 경우 해당 타임아웃에 의해 재정의됩니다. |
프록시 주 버전이 서버 주 버전과 일치하지 않는 경우,
아이콘이
아이템 유형별 타임아웃 옆에 표시되며, 마우스를 올리면
"프록시와 서버 버전이 일치하지 않아 타임아웃이 비활성화됨"이라는 메시지가 나타납니다.
이러한 경우 프록시는 프록시 구성 파일의 Timeout 매개변수를 사용합니다.
기존 프록시의 편집 양식에는 다음과 같은 추가 버튼이 있습니다:
- 구성 새로 고침 - 프록시의 구성을 새로 고침
- 복제 - 기존 프록시의 속성을 기반으로 새 프록시 생성
- 삭제 - 프록시 삭제
호스트 구성
호스트 구성 폼에서 모니터링 대상 필드를 사용하여 개별 호스트가 프록시 또는 프록시 그룹에 의해 모니터링되어야 한다고 지정할 수 있습니다.

호스트 일괄 업데이트는 호스트가 프록시 또는 프록시 그룹에 의해 모니터링되어야 한다고 지정하는 또 다른 방법입니다.