2 요구사항
원본 보기2 요구사항
하드웨어
메모리
Zabbix는 물리 메모리와 디스크 메모리가 모두 필요합니다. 필요한 디스크 메모리의 양은 모니터링되는 호스트와 매개변수의 수에 따라 달라집니다. 모니터링 매개변수의 긴 이력을 유지할 계획이라면, 데이터베이스에 이력을 저장할 충분한 공간을 확보하기 위해 최소 몇 기가바이트를 고려해야 합니다. 각 Zabbix 데몬 프로세스는 데이터베이스 서버에 여러 연결이 필요합니다. 연결에 할당되는 메모리의 양은 데이터베이스 엔진의 구성에 따라 달라집니다.
물리 메모리가 많을수록 데이터베이스(따라서 Zabbix)가 더 빠르게 작동합니다.
CPU
Zabbix와 특히 Zabbix 데이터베이스는 모니터링 매개변수의 수와 선택한 데이터베이스 엔진에 따라 상당한 CPU 리소스가 필요할 수 있습니다.
기타 하드웨어
Zabbix에서 SMS 알림 지원을 사용하려면 직렬 통신 포트와 직렬 GSM 모뎀이 필요합니다. USB-to-serial 변환기도 사용할 수 있습니다.
하드웨어 구성 예시
이 표는 Linux/BSD/Unix 플랫폼을 기준으로 한 하드웨어 구성 예시를 제공합니다.
이는 시작할 수 있는 크기와 하드웨어 구성 예시입니다. 각 Zabbix 설치는 고유합니다. Zabbix 설치를 프로덕션 환경에 배포하기 전에 요구사항을 완전히 이해할 수 있도록 스테이징 또는 개발 환경에서 Zabbix 시스템의 성능을 벤치마크해야 합니다.
| 설치 규모 | 모니터링 메트릭1 | CPU/vCPU 코어 | 메모리 (GiB) |
데이터베이스 | Amazon EC22 |
|---|---|---|---|---|---|
| 소형 | 1 000 | 2 | 8 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.large/m6g.large |
| 중형 | 10 000 | 4 | 16 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.xlarge/m6g.xlarge |
| 대형 | 100 000 | 16 | 64 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL, Oracle |
m6i.4xlarge/m6g.4xlarge |
| 초대형 | 1 000 000 | 32 | 96 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL, Oracle |
m6i.8xlarge/m6g.8xlarge |
1 1 메트릭 = 1 아이템 + 1 트리거 + 1 그래프
2 ARM64 또는 x86_64 아키텍처를 사용하는 Amazon 범용 EC2 인스턴스 예시로, 프로덕션 환경에 설치하기 전에 Zabbix 설치 평가 및 테스트 중에 Compute/Memory/Storage 최적화와 같은 적절한 인스턴스 유형을 선택해야 합니다.
실제 구성은 활성 아이템의 수와 새로고침 비율에 크게 의존합니다(자세한 내용은 이 페이지의 데이터베이스 크기 섹션을 참조하세요). 대규모 설치의 경우 데이터베이스를 별도 서버에서 실행하는 것을 적극 권장합니다.
지원 플랫폼
보안 요구사항과 모니터링 서버의 미션 크리티컬한 특성으로 인해, UNIX는 필요한 성능, 내결함성, 복원력을 일관되게 제공할 수 있는 유일한 운영체제입니다. Zabbix는 시장을 선도하는 버전에서 작동합니다.
Zabbix 컴포넌트는 다음 플랫폼에서 사용 가능하고 테스트되었습니다:
| 플랫폼 | Server | Agent | Agent 2 | 설명 |
|---|---|---|---|---|
| Linux | x | x | x | |
| Windows | - | x | x | Zabbix agent는 Windows XP (64-bit)/Server 2003 이후의 모든 데스크톱 및 서버 버전에서 지원됩니다. Zabbix agent 2는 Windows 10 (32-bit)/Server 2016 이후의 모든 데스크톱 및 서버 버전에서 지원됩니다. 이는 중요한 보안 취약점을 방지하기 위해 지원되는 Go 버전으로만 컴파일되기 때문입니다. Go 1.21부터 최소 요구 Windows 버전이 상향 조정되어, Windows 10/Server 2016이 Zabbix agent 2의 최소 버전이 되었습니다. |
| macOS | x | x | - | |
| IBM AIX | x | x | - | Zabbix agent는 6.1 TL07 / 7.1 TL01 미만 버전의 AIX 플랫폼에서는 작동하지 않습니다. |
| FreeBSD | x | x | - | |
| OpenBSD | x | x | - | |
| Solaris | x | x | - | |
| NetBSD | x | x | - | |
| HP-UX | x | x | - |
Zabbix server/agent는 다른 Unix 계열 운영체제에서도 작동할 수 있습니다.
Zabbix는 암호화와 함께 컴파일된 경우 코어 덤프를 비활성화하며, 시스템에서 코어 덤프 비활성화를 허용하지 않으면 시작되지 않습니다.
필수 소프트웨어
Zabbix는 최신 웹 서버, 주요 데이터베이스 엔진, 그리고 PHP 스크립팅 언어를 기반으로 구축됩니다.
서드파티 외부 관련 소프트웨어
필수로 명시된 경우, 해당 소프트웨어/라이브러리는 반드시 필요합니다. 선택 사항은 특정 기능을 지원하는 데 필요합니다.
| 소프트웨어 | 필수 상태 | 지원 버전 | 설명 |
|---|---|---|---|
| MySQL/Percona | 중 하나 | 8.0.30-9.6.X | MySQL (또는 Percona)을 Zabbix 백엔드 데이터베이스로 사용하는 경우 필수입니다. InnoDB 엔진이 필요합니다. MySQL 버전 지원 추가: - 8.4.X는 Zabbix 7.0.1부터; - 9.0.X는 Zabbix 7.0.2부터; - 9.5.X는 Zabbix 7.0.22부터; - 9.6.X는 Zabbix 7.0.25부터. 서버/프록시 빌드를 위해 C API (libmysqlclient) 라이브러리 사용을 권장합니다. |
| MariaDB | 10.5.00-12.2.X | InnoDB 엔진이 필요합니다. 권장 버전은 11.4입니다. 서버/프록시 빌드를 위해 MariaDB Connector/C 라이브러리 사용을 권장합니다. MariaDB 버전 지원 추가: - 11.4.X는 Zabbix 7.0.1부터; - 11.5.X는 Zabbix 7.0.4부터; - 12.0.X는 Zabbix 7.0.19부터; - 12.2.X는 Zabbix 7.0.25부터. 참고: MariaDB와의 가능한 교착 상태 및 MariaDB 10.5.1-10.5.9에서 UI 요소 접근. |
|
| Oracle | 19c - 21c | Oracle을 Zabbix 백엔드 데이터베이스로 사용하는 경우 필수입니다. Oracle DB 지원은 Zabbix 7.0부터 사용 중단되었습니다. |
|
| PostgreSQL | 13.0-18.X | PostgreSQL을 Zabbix 백엔드 데이터베이스로 사용하는 경우 필수입니다. 설치 규모에 따라 PostgreSQL work_mem 설정 속성(기본값 4MB)을 늘려야 할 수 있습니다. 이는 특정 작업에 대해 데이터베이스가 사용하는 메모리 양이 충분하고 쿼리 실행 시간이 너무 오래 걸리지 않도록 하기 위함입니다. PostgreSQL 버전 지원 추가: - 17.X는 Zabbix 7.0.6부터; - 18.X는 Zabbix 7.0.20부터. |
|
| PostgreSQL용 TimescaleDB | 2.13.0-2.26.X | TimescaleDB를 PostgreSQL 데이터베이스 확장으로 사용하는 경우 필수입니다. 압축을 지원하는 TimescaleDB Community Edition을 설치해야 합니다. PostgreSQL 15는 TimescaleDB 2.10부터 지원됩니다. PostgreSQL과 TimescaleDB 버전 호환성에 대한 자세한 내용은 TimescaleDB 문서를 참조하세요. TimescaleDB 버전 지원 추가: - 2.15.X는 Zabbix 7.0.1부터; - 2.16.X는 Zabbix 7.0.4부터; - 2.17.X는 Zabbix 7.0.6부터; - 2.18.X는 Zabbix 7.0.10부터; - 2.19.X는 Zabbix 7.0.13부터; - 2.20.X는 Zabbix 7.0.17부터; - 2.21.X는 Zabbix 7.0.18부터; - 2.22.X는 Zabbix 7.0.20부터; - 2.23.X는 Zabbix 7.0.22부터; - 2.24.X는 Zabbix 7.0.23부터; - 2.25.X는 Zabbix 7.0.24부터; - 2.26.X는 Zabbix 7.0.25부터. |
|
| SQLite | 선택사항 | 3.3.5-3.53.X | SQLite는 Zabbix 프록시에서만 지원됩니다. SQLite를 Zabbix 프록시 데이터베이스로 사용하는 경우 필수입니다. SQLite 버전 지원: - 3.53.X는 Zabbix 7.0.25부터. |
| Elasticsearch | 7.X | Elasticsearch는 Zabbix 서버에서만 지원되며, 히스토리 데이터 저장 전용입니다. Elasticsearch 지원은 현재 실험적입니다. 서버/프록시에 필요한 소프트웨어도 참조하세요. | |
| smartmontools | 7.1 이상 | Zabbix agent 2에 필요합니다. | |
| who | 사용자 수 플러그인에 필요합니다. | ||
| dpkg | system.sw.packages 플러그인에 필요합니다. | ||
| pkgtool | system.sw.packages 플러그인에 필요합니다. | ||
| rpm | system.sw.packages 플러그인에 필요합니다. | ||
| pacman | system.sw.packages 플러그인에 필요합니다. | ||
| q applets | Gentoo Linux에서 system.sw.packages 플러그인을 위해 q applets의 일부인 qlist와 qsize가 필요합니다. |
Zabbix는 운영체제에서 제공하는 데이터베이스와 작동할 수 있지만, 최상의 경험을 위해서는 공식 데이터베이스 개발자 저장소에서 설치된 데이터베이스 사용을 권장합니다.
Frontend
Zabbix 프론트엔드에서 지원하는 최소 화면 너비는 1200px입니다.
필수로 명시된 경우, 해당 소프트웨어/라이브러리는 반드시 필요합니다. 선택 사항은 특정 기능을 지원하는 데 필요합니다.
| 소프트웨어 | 필수 여부 | 지원 버전 | 설명 |
|---|---|---|---|
| PHP | 예 | 8.0.0 - 8.5.X | PHP 버전 지원 추가: - 8.4.X는 Zabbix 7.0.10부터; - 8.5.X는 Zabbix 7.0.25부터. |
| Apache | 둘 중 하나 | 2.4 또는 이후 | |
| Nginx | 1.20 또는 이후 | ||
| MySQL | 셋 중 하나 | 서드파티 외부 지원 소프트웨어 참조 | |
| PostgreSQL | |||
| Oracle | |||
| PHP 확장 | |||
| mysqli | 예 | MySQL을 Zabbix 백엔드 데이터베이스로 사용하는 경우 필수입니다. | |
| pgsql | PostgreSQL을 Zabbix 백엔드 데이터베이스로 사용하는 경우 필수입니다. | ||
| oci8 | Oracle을 Zabbix 백엔드 데이터베이스로 사용하는 경우 필수입니다. | ||
| bcmath | php-bcmath (--enable-bcmath) | ||
| mbstring | php-mbstring (--enable-mbstring) | ||
| sockets | php-net-socket (--enable-sockets); 사용자 스크립트 지원에 필요합니다. | ||
| gd | 2.0.28 또는 이후 | php-gd (배포자가 별도 패키지로 제공하는 경우); PHP GD 확장은 PNG 이미지 (--with-png-dir), JPEG 이미지 (--with-jpeg-dir), FreeType 2 (--with-freetype-dir)를 지원해야 합니다. 일부 프론트엔드 언어에서 그래프의 텍스트 겹침 문제를 방지하려면 버전 2.3.0 이후가 필요할 수 있습니다. | |
| libxml | 2.6.15 또는 이후 | php-xml (배포자가 별도 패키지로 제공하는 경우) | |
| xmlwriter | php-xmlwriter (배포자가 별도 패키지로 제공하는 경우) | ||
| xmlreader | php-xmlreader (배포자가 별도 패키지로 제공하는 경우) | ||
| ctype | php-ctype (--enable-ctype) | ||
| session | php-session (배포자가 별도 패키지로 제공하는 경우) | ||
| ldap | 아니오 | php-ldap; LDAP 인증에 필요합니다. | |
| openssl | php-openssl; SAML 인증에 필요합니다. | ||
| gettext | php-gettext (--with-gettext); 번역에 필요합니다. | ||
| cURL | php-curl; Duo Universal Prompt MFA에 필요합니다. | ||
Zabbix와 함께 제공되는 서드파티 프론트엔드 라이브러리:
| 라이브러리 | 필수 여부 | 제공 버전 | 설명 |
|---|---|---|---|
| jQuery JavaScript Library | 예 | 3.6.0 | 크로스 브라우저 개발 과정을 간소화하는 JavaScript 라이브러리입니다. |
| jQuery UI | 1.12.1 | jQuery 위에 구축된 사용자 인터페이스 상호작용, 효과, 위젯, 테마 세트입니다. | |
| SAML PHP Toolkit | 4.3.1 | Zabbix에 로그인할 수 있도록 SAML 2.0 인증 지원을 추가하는 PHP 툴킷입니다. 제공 버전 이력: - 4.0.0은 Zabbix 7.0.0부터; - 4.3.1은 Zabbix 7.0.24부터 (권장). |
|
| Symfony Yaml Component | 5.1.0 | YAML 형식으로 Zabbix 구성 요소를 내보내고 가져오는 지원을 추가합니다. |
Zabbix는 이전 버전의 Apache, MySQL, Oracle, PostgreSQL에서도 작동할 수 있습니다.
기본 DejaVu 이외의 다른 폰트의 경우, PHP 함수 imagerotate가 필요할 수 있습니다. 이 함수가 없으면 그래프가 표시될 때 이러한 폰트가 잘못 렌더링될 수 있습니다. 이 함수는 PHP가 번들된 GD로 컴파일된 경우에만 사용할 수 있으며, Debian 및 기타 배포판에서는 해당되지 않습니다.
Zabbix 프론트엔드 코드 작성 및 디버깅에 사용되는 서드파티 라이브러리:
| 라이브러리 | 필수 여부 | 최소 버전 | 설명 |
|---|---|---|---|
| Composer | 아니오 | 2.4.1 | PHP 소프트웨어 및 필수 라이브러리의 종속성을 관리하기 위한 표준 형식을 제공하는 PHP용 애플리케이션 레벨 패키지 관리자입니다. |
| PHPUnit | 8.5.29 | Zabbix 프론트엔드 테스트를 위한 PHP 단위 테스트 프레임워크입니다. | |
| SASS | 3.4.22 | CSS(Cascading Style Sheets)로 해석되고 컴파일되는 전처리기 스크립팅 언어입니다. |
클라이언트 측 웹 브라우저
쿠키와 JavaScript가 활성화되어야 합니다.
Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari, Opera의 최신 안정 버전이 지원됩니다.
IFrame에 대한 동일 출처 정책이 구현되어 있으며, 이는 Zabbix가 다른 도메인의 프레임에 배치될 수 없음을 의미합니다.
그러나 Zabbix 프레임에 배치된 페이지는 프레임에 배치된 페이지와 Zabbix 프론트엔드가 동일한 도메인에 있는 경우 (JavaScript를 통해) Zabbix 프론트엔드에 접근할 수 있습니다.
http://secure-zabbix.com/cms/page.html과 같은 페이지가 http://secure-zabbix.com/zabbix/의 대시보드에 배치되면 Zabbix에 대한 완전한 JS 접근 권한을 갖게 됩니다.
Server/proxy
필수로 명시된 경우, 해당 소프트웨어/라이브러리가 반드시 필요합니다. 선택 사항은 특정 기능을 지원하기 위해 필요합니다.
| 요구사항 | 필수 여부 | 설명 |
|---|---|---|
| libpcre/libpcre2 | 둘 중 하나 | PCRE/PCRE2 라이브러리는 Perl Compatible Regular Expression (PCRE) 지원을 위해 필요합니다. GNU/Linux 배포판에 따라 'libpcre3' 또는 'libpcre1'과 같이 이름이 다를 수 있습니다. PCRE v8.x 및 PCRE2 v10.x가 지원됩니다. |
| libevent | 예 | 프로세스 간 통신에 필요합니다. 버전 2.0.10 이상 (Zabbix 7.0.4부터; 이전 버전은 1.4). |
| libevent-pthreads | 프로세스 간 통신에 필요합니다. | |
| libpthread | 뮤텍스 및 읽기-쓰기 락 지원에 필요합니다 (libc의 일부일 수 있음). | |
| libresolv | DNS 해석에 필요합니다 (libc의 일부일 수 있음). | |
| libiconv | 텍스트 인코딩/형식 변환에 필요합니다 (libc의 일부일 수 있음). Linux의 Zabbix 서버에는 필수입니다. | |
| libz | 압축 지원에 필요합니다. | |
| libm | 수학 라이브러리. Zabbix 서버에만 필요합니다. | |
| libmysqlclient | 둘 중 하나 | MySQL을 사용하는 경우 필요합니다. |
| libmariadb | MariaDB를 사용하는 경우 필요합니다. | |
| libclntsh | Oracle을 사용하는 경우 필요합니다; libclntsh 버전은 사용하는 Oracle 데이터베이스 버전과 같거나 더 높아야 합니다. | |
| libpq5 | PostgreSQL을 사용하는 경우 필요합니다; libpq5 버전은 사용하는 PostgreSQL 데이터베이스 버전과 같거나 더 높아야 합니다. | |
| libsqlite3 | SQLite를 사용하는 경우 필요합니다. Zabbix proxy에만 필요합니다. | |
| libOpenIPMI | 아니오 | IPMI 지원에 필요합니다. Zabbix 서버에만 필요합니다. |
| libssh2 또는 libssh | SSH 검사에 필요합니다. 버전 1.0 이상 (libssh2); 0.9.0 이상 (libssh). | |
| libcurl | 다음 기능들에 필요합니다: - 웹 모니터링, VMware 모니터링, HTTP 에이전트 아이템 (모두: 버전 7.19.1 이상); - Zabbix 에이전트 web.page.* 아이템 (버전 7.19.1 이상; 에이전트 요구사항도 참조); - SMTP 인증 (버전 7.20.0 이상); - Elasticsearch (버전 7.28.0 이상). 모든 기능에 대해 버전 7.28.0 이상을 권장합니다. web.page.* 아이템에 업그레이드된 cURL 기능을 사용하려면 Zabbix server/proxy를 재시작하세요.SMTP 인증의 경우, 런타임에 libcurl-full 패키지를 사용하세요. |
|
| libxml2 | VMware 모니터링 및 XML XPath 전처리에 필요합니다. | |
| net-snmp | SNMP 지원에 필요합니다. 버전 5.3.0 이상. 강력한 암호화 프로토콜(AES192/AES192C, AES256/AES256C) 지원은 net-snmp 라이브러리 5.8부터 사용 가능합니다; RHEL 8+ 기반 시스템에서는 net-snmp 5.8.15 이상을 사용하는 것이 권장됩니다. |
|
| libunixodbc | 데이터베이스 모니터링에 필요합니다. | |
| libgnutls 또는 libopenssl | 암호화 사용 시 필요합니다. 최소 버전: libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
| libldap | LDAP 지원에 필요합니다. | |
| fping | ICMP ping 아이템에 필요합니다. | |
| c-ares | Zabbix가 --with-ares 옵션으로 구성된 경우 비동기 DNS 해석에 필요합니다. 그렇지 않으면 libevent가 사용됩니다.Zabbix 7.0.11부터 지원됨; 최소 버전: 1.16.0 |
Agent
| 요구사항 | 필수 상태 | 설명 |
|---|---|---|
| libpcre/libpcre2 | 둘 중 하나 | PCRE/PCRE2 라이브러리는 Perl Compatible Regular Expression (PCRE) 지원에 필요합니다. GNU/Linux 배포판에 따라 명명법이 다를 수 있습니다. 예를 들어 'libpcre3' 또는 'libpcre1'과 같습니다. PCRE v8.x와 PCRE2 v10.x가 지원됩니다. 로그 모니터링에 필요합니다. Windows에서도 필요합니다. |
| libpthread | 예 | 뮤텍스 및 읽기-쓰기 락 지원에 필요합니다 (libc의 일부일 수 있음). Windows에서는 필요하지 않습니다. |
| libresolv | DNS 해석에 필요합니다 (libc의 일부일 수 있음). Windows에서는 필요하지 않습니다. | |
| libiconv | 로그 항목, 파일 내용, 파일 정규식 및 regmatch 항목에서 UTF-8로의 텍스트 인코딩/형식 변환에 필요합니다 (libc의 일부일 수 있음). Windows에서는 필요하지 않습니다. | |
| libgnutls 또는 libopenssl | 아니요 | 암호화를 사용하는 경우 필요합니다. 최소 버전: libgnutls - 3.1.18, libopenssl - 1.0.1 Microsoft Windows에서는 OpenSSL 1.1.1 이상이 필요합니다. |
| libldap | LDAP가 사용되는 경우 필요합니다. Windows에서는 지원되지 않습니다. | |
| libcurl | Zabbix agent web.page.* 항목의 확장 지원에 필요합니다. libcurl 없이도 기본 기능은 사용 가능합니다 (예: web.page.get[http://example.com]). libcurl과 함께 사용하면 agent가 자격 증명이 포함된 HTTP URL (예: http://user:[email protected])과 HTTPS URL 같은 추가 기능을 지원합니다. 버전 7.19.1 이상이 필요합니다 (7.28.0 이상을 권장). 업그레이드된 cURL 기능을 사용하려면 Zabbix agent를 다시 시작하세요. |
|
| libmodbus | Modbus 모니터링이 사용되는 경우에만 필요합니다. 버전 3.0 이상. |
Agent 2
| Requirement | Mandatory status | Description |
|---|---|---|
| Go | Yes | Required to build Zabbix agent 2 and its plugins from source. Go 1.24.10 or later is supported. See go.dev for installation instructions. Go libraries used by Zabbix agent 2 and its plugins are listed in the Zabbix Git repository (libraries marked as indirect in the repository are dependencies of other required libraries):- Zabbix agent 2 - Plugin support - PostgreSQL - MongoDB - MSSQL - Ember+ - Example plugin |
| libpcre/libpcre2 | One of | PCRE/PCRE2 library is required for Perl Compatible Regular Expression (PCRE) support. The naming may differ depending on the GNU/Linux distribution, for example 'libpcre3' or 'libpcre1'. PCRE v8.x and PCRE2 v10.x are supported. Required for log monitoring. Also required on Windows. |
| libopenssl | No | Required when using encryption. OpenSSL 1.0.1 or later is required on UNIX platforms. The OpenSSL library must have PSK support enabled. LibreSSL is not supported. On Microsoft Windows systems OpenSSL 1.1.1 or later is required. |
웹 서비스
Zabbix 웹 서비스를 사용하여 예약된 보고서를 생성하기 위해 Google Chrome의 최신 안정 버전이 지원됩니다.
웹 서비스 빌드에 필요한 Go 버전은 Zabbix agent 2에서 사용되는 버전과 동일합니다.
Java gateway
소스 저장소나 아카이브에서 Zabbix를 다운로드한 경우, 필요한 종속성이 이미 소스 트리에 포함되어 있습니다.
배포판 패키지에서 Zabbix를 다운로드한 경우, 필요한 종속성이 이미 패키징 시스템에서 제공됩니다.
위의 두 경우 모두, 소프트웨어는 사용 준비가 완료되었으며 추가 다운로드는 필요하지 않습니다.
하지만 이러한 종속성의 사용자 버전을 제공하고 싶다면(예를 들어, 일부 Linux 배포판용 패키지를 준비하는 경우), 아래는 Java gateway가 작동하는 것으로 알려진 라이브러리 버전 목록입니다. Zabbix는 이러한 라이브러리의 다른 버전에서도 작동할 수 있습니다.
다음 표는 원본 코드에서 Java gateway와 현재 번들로 제공되는 JAR 파일을 나열합니다:
| 라이브러리 | 필수 상태 | 번들 버전 | 설명 |
|---|---|---|---|
| android-json | 예 | 4.3r1 | JSON (JavaScript Object Notation)은 경량 데이터 교환 형식입니다. 이것은 Android SDK에서 추출된 org.json 호환 Android 구현입니다. |
| logback-classic | 1.5.16 | ||
| logback-core | 1.5.16 | ||
| slf4j-api | 2.0.16 |
Java gateway는 Oracle Java 또는 오픈 소스 OpenJDK(버전 1.6 이상)를 사용하여 빌드할 수 있습니다. Zabbix에서 제공하는 패키지는 OpenJDK를 사용하여 컴파일됩니다. 다음 표는 배포판별로 Zabbix 패키지를 빌드하는 데 사용되는 OpenJDK 패키지를 나열합니다:
| 배포판 | OpenJDK 패키지 |
|---|---|
| AlmaLinux 9 | java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3) |
| AlmaLinux 8 | java-1.8.0-openjdk-devel (amd64: 1.8.0.332.b09-2; arm64: 1.8.0.382.b05-2) |
| Amazon Linux 2023 | java-22-amazon-corretto-devel (amd64, arm64: 22.0.2+9-1) |
| CentOS Stream 9 | java-11-openjdk-devel (amd64, arm64: 11.0.18.0.10-3) |
| CentOS Stream 8 | java-1.8.0-openjdk-devel (amd64, arm64: 1.8.0.362.b08-3) |
| CentOS 7 | java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1) |
| Debian 12 | default-jdk-headless (amd64, arm64: 2:1.17-74) |
| Debian 11 | default-jdk-headless (amd64: 2:1.11-72) |
| OpenSUSE Leap 15 | java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1) |
| Oracle Linux 9 | java-11-openjdk-devel (amd64: 11.0.19.0.7-4.0.1; arm64: 11.0.20.0.8-2.0.1) |
| Oracle Linux 8 | java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4.0.1); java-11-openjdk-devel (arm64: 11.0.20.0.8-3.0.1) |
| Oracle Linux 7 | java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1) |
| Raspberry Pi OS 12 | default-jdk-headless (arm64, armhf: 2:1.17-74) |
| Raspberry Pi OS 11 | default-jdk-headless (arm64: 2:1.11-72; armhf: 2:1.11-72+b4) |
| RHEL 9 | java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3) |
| RHEL 8 | java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2) |
| RHEL 7 | java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1) |
| Rocky Linux 9 | java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3) |
| Rocky Linux 8 | java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2) |
| SLES 15 | java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1) |
| Ubuntu 24.04 | default-jdk-headless (amd64, arm64: 2:1.21-75+exp1) |
| Ubuntu 22.04 | default-jdk-headless (amd64, arm64: 2:1.11-72build2) |
| Ubuntu 20.04 | default-jdk-headless (amd64, arm64: 2:1.11-72) |
기본 포트 번호
다음은 기본 구성에 적용되는 각 컴포넌트별 열린 포트 목록입니다:
| Zabbix 컴포넌트 | 포트 번호 | 프로토콜 | 연결 유형 |
|---|---|---|---|
| Zabbix agent | 10050 | TCP | 필요 시 |
| Zabbix agent 2 | 10050 | TCP | 필요 시 |
| Zabbix server | 10051 | TCP | 필요 시 |
| Zabbix proxy | 10051 | TCP | 필요 시 |
| Zabbix Java gateway | 10052 | TCP | 필요 시 |
| Zabbix web service | 10053 | TCP | 필요 시 |
| Zabbix frontend | 80 | HTTP | 필요 시 |
| 443 | HTTPS | 필요 시 | |
| Zabbix trapper | 10051 | TCP | 필요 시 |
Zabbix 통신을 활성화하려면 방화벽에서 해당 포트 번호들이 열려 있어야 합니다. 일반적으로 아웃바운드 TCP 연결은 명시적인 방화벽 설정이 필요하지 않습니다.
데이터베이스 크기
Zabbix 구성 데이터는 고정된 양의 디스크 공간이 필요하며 크게 증가하지 않습니다.
Zabbix 데이터베이스 크기는 주로 저장된 기록 데이터의 양을 결정하는 다음 변수들에 따라 달라집니다:
- 초당 처리되는 값의 개수
이는 Zabbix 서버가 매초 수신하는 새로운 값의 평균 개수입니다. 예를 들어, 60초의 갱신 간격으로 모니터링할 3000개의 아이템이 있다면, 초당 값의 개수는 3000/60 = 50으로 계산됩니다.
이는 매초마다 50개의 새로운 값이 Zabbix 데이터베이스에 추가된다는 의미입니다.
- 기록에 대한 하우스키퍼 설정
Zabbix는 일반적으로 몇 주 또는 몇 개월의 고정된 기간 동안 값을 보관합니다. 각각의 새로운 값은 데이터와 인덱스를 위해 일정량의 디스크 공간이 필요합니다.
따라서 30일간의 기록을 보관하고 초당 50개의 값을 수신한다면, 전체 값의 개수는 약 (30*24*3600)* 50 = 129,600,000, 즉 약 130M개의 값이 됩니다.
사용되는 데이터베이스 엔진과 수신되는 값의 유형(부동소수점, 정수, 문자열, 로그 파일 등)에 따라, 단일 값을 보관하기 위한 디스크 공간은 40바이트에서 수백 바이트까지 다양할 수 있습니다. 일반적으로 숫자 아이템의 경우 값당 약 90바이트입니다2. 우리의 경우, 130M개의 값은 130M * 90바이트 = 10.9GB의 디스크 공간이 필요하다는 의미입니다.
텍스트/로그 아이템 값의 크기는 정확히 예측하기 어렵지만, 값당 약 500바이트를 예상할 수 있습니다.
- 트렌드에 대한 하우스키퍼 설정
Zabbix는 각 아이템에 대해 1시간 단위의 최대/최소/평균/개수 값 세트를 trends 테이블에 보관합니다. 이 데이터는 트렌드와 장기간 그래프에 사용됩니다. 1시간 주기는 사용자 지정할 수 없습니다.
Zabbix 데이터베이스는 데이터베이스 유형에 따라 각 합계당 약 90바이트가 필요합니다. 트렌드 데이터를 5년간 보관하고자 한다고 가정해봅시다. 3000개 아이템의 값은 3000*24*365* 90 = 연간 2.2GB, 즉 5년간 11GB가 필요합니다.
- 이벤트에 대한 하우스키퍼 설정
각 Zabbix 이벤트는 약 250바이트의 디스크 공간이 필요합니다1. Zabbix가 매일 생성하는 이벤트 수를 추정하기는 어렵습니다. 최악의 시나리오에서는 Zabbix가 초당 하나의 이벤트를 생성한다고 가정할 수 있습니다.
각 복구된 이벤트에 대해 event_recovery 레코드가 생성됩니다. 일반적으로 대부분의 이벤트가 복구되므로 이벤트당 하나의 event_recovery 레코드를 가정할 수 있습니다. 이는 이벤트당 추가로 80바이트를 의미합니다.
선택적으로 이벤트에는 태그가 있을 수 있으며, 각 태그 레코드는 약 100바이트의 디스크 공간이 필요합니다1. 이벤트당 태그 수(#tags)는 구성에 따라 달라집니다. 따라서 각각은 추가로 #tags * 100바이트의 디스크 공간이 필요합니다.
3년간의 이벤트를 보관하려면 3*365*24*3600* (250+80+#tags*100) = ~30GB+#tags*100B의 디스크 공간이 필요합니다2.
1 ASCII가 아닌 이벤트 이름, 태그 및 값이 있을 때는 더 많은 공간이 필요합니다.
2 크기 추정치는 MySQL을 기반으로 하며 다른 데이터베이스에서는 다를 수 있습니다.
다음 표는 Zabbix 시스템에 필요한 디스크 공간을 계산하는 데 사용할 수 있는 공식을 포함합니다:
| 매개변수 | 필요한 디스크 공간 공식 (바이트) |
|---|---|
| Zabbix 구성 | 고정 크기. 일반적으로 10MB 이하. |
| 기록 | days*(items/refresh rate)*24*3600*bytes items : 아이템 수 days : 기록을 보관할 일수 refresh rate : 아이템의 평균 갱신 간격 bytes : 단일 값을 보관하는 데 필요한 바이트 수, 데이터베이스 엔진에 따라 달라지며 일반적으로 ~90바이트. |
| 트렌드 | days*(items/3600)*24*3600*bytes items : 아이템 수 days : 기록을 보관할 일수 bytes : 단일 트렌드를 보관하는 데 필요한 바이트 수, 데이터베이스 엔진에 따라 달라지며 일반적으로 ~90바이트. |
| 이벤트 | days*events*24*3600*bytes events : 초당 이벤트 수. 최악의 시나리오에서 초당 1개 이벤트. days : 기록을 보관할 일수 bytes : 단일 이벤트를 보관하는 데 필요한 바이트 수, 데이터베이스 엔진에 따라 달라지며 일반적으로 ~330 + 이벤트당 평균 태그 수 * 100바이트. |
따라서 필요한 총 디스크 공간은 다음과 같이 계산할 수 있습니다:
구성 + 기록 + 트렌드 + 이벤트
디스크 공간은 Zabbix 설치 후 즉시 사용되지 않습니다. 데이터베이스 크기는 증가하다가 하우스키퍼 설정에 따라 어느 시점에서 증가를 멈춥니다.
시간 동기화
Zabbix가 실행되는 서버에서 정확한 시스템 시간을 유지하는 것은 매우 중요합니다. ntpd는 호스트의 시간을 다른 머신의 시간과 동기화하는 가장 인기 있는 데몬입니다. Zabbix 구성 요소가 실행되는 모든 시스템에서 동기화된 시스템 시간을 유지하는 것이 강력히 권장됩니다.
네트워크 요구사항
기본 구성에 적용되는 구성 요소별 열린 포트 목록은 다음과 같습니다.
| 구성 요소 | 포트 |
|---|---|
| Frontend | http on 80, https on 443 |
| Server | 10051 (for use with active proxy/agents) |
| Active Proxy | 10051 |
| Passive Proxy | 10051 |
| Agent2 | 10050 |
| Trapper | |
| JavaGateway | 10052 |
| WebService | 10053 |
Zabbix와의 외부 통신을 가능하게 하려면 방화벽에서 포트 번호를 열어야 합니다. 일반적으로 발신 TCP 연결에는 명시적인 방화벽 설정이 필요하지 않습니다.