要件

ハードウェア要件

メモリ

Zabbixには物理メモリとディスクメモリの両方が必要です。 必要なディスクメモリの量は、監視するホスト数やパラメータ数によって異なります。 監視パラメータの履歴を長期間保存する予定がある場合は、データベースに履歴を保存するために少なくとも数ギガバイトの空き容量を確保する必要があります。 各Zabbixデーモンプロセスは、データベースサーバーへの複数の接続を必要とします。 接続に割り当てられるメモリの量は、データベースエンジンの設定によって異なります。

物理メモリが多いほど、データベース(およびZabbix)の動作が高速になります。

CPU

Zabbix、特にZabbixデータベースは、監視するパラメータの数や選択したデータベースエンジンによっては、かなりのCPUリソースを必要とする場合があります。

その他のハードウェア

ZabbixでSMS通知サポートを使用するには、シリアル通信ポートとシリアルGSMモデムが必要です。 USB-シリアル変換器も動作します。

ハードウェア構成の例

この表は、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
m6i.4xlarge/m6g.4xlarge
非常に大規模 1 000 000 32 96 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.8xlarge/m6g.8xlarge

1 サイジングの目的では、監視メトリクス1つは、おおよそ「1メトリクス = 1アイテム + 1トリガー + 1グラフ」という式で表されます。これは推定の目安であり、監視メトリクス数を計算するための式ではありません。
2 Amazonの汎用EC2インスタンスを使用した例です。ARM64またはx86_64アーキテクチャを使用しています。Zabbixを本番環境にインストールする前に、インストール環境の評価およびテストを行い、Compute/Memory/Storage最適化など、適切なインスタンスタイプを選択してください。

実際の構成は、アクティブなアイテム数と更新間隔に大きく依存します(詳細については、このページのデータベースサイズセクションを参照してください)。 大規模なインストール環境では、データベースを別のサーバーで実行することを強く推奨します。

サポートされているプラットフォーム

セキュリティ要件と監視サーバーのミッションクリティカルな性質により、UNIXは必要なパフォーマンス、フォールトトレランス、およびレジリエンスを一貫して提供できる唯一のオペレーティングシステムです。 Zabbixは市場をリードするバージョンで動作します。

Zabbixコンポーネントは、以下のプラットフォームで利用可能でテストされています。

プラットフォーム サーバー エージェント エージェント2 コメント
Linux x x x
Windows - x x Zabbixエージェントは、Windows XP (64-bit)/Server 2003以降のすべてのデスクトップおよびサーバーバージョンでサポートされています。

Zabbixエージェント2は、サポートされているGoバージョンでのみコンパイルされ、重大なセキュリティ脆弱性を防ぐため、Windows 10 (32-bit)/Server 2016以降のすべてのデスクトップおよびサーバーバージョンでサポートされています。Go 1.21以降、必要な最小Windowsバージョンが引き上げられ、Windows 10/Server 2016がZabbixエージェント2の最小バージョンとなります。
macOS x x -
IBM AIX x x - Zabbixエージェントは、AIX 6.1 TL07 / 7.1 TL01未満のプラットフォームでは動作しません。
FreeBSD x x -
OpenBSD x x -
Solaris x x -
NetBSD x x -
HP-UX x x -

Zabbixサーバー/エージェントは、他のUnix系オペレーティングシステムでも動作する場合があります。

Zabbixは、暗号化を有効にしてコンパイルされた場合、コアダンプを無効にし、コアダンプの無効化を許可しないシステムでは起動しません。

必要なソフトウェア

Zabbixは、最新のWebサーバー、主要なデータベースエンジン、PHPスクリプト言語を中心に構築されています。

サードパーティ製の外部周辺ソフトウェア

必須と記載されている場合、該当するソフトウェア/ライブラリは厳密に必要です。 オプションのソフトウェア/ライブラリは、特定の機能をサポートするために必要です。

ソフトウェア 必須ステータス サポートされているバージョン コメント
MySQL/Percona いずれか1つ 8.4.0-9.7.X MySQL(またはPercona)をZabbixのバックエンドデータベースとして使用する場合に必要です。InnoDBエンジンが必要です。

サーバー/プロキシのビルドには、C API(libmysqlclient)ライブラリの使用を推奨します。

本番環境では、LTSリリースのみを使用することを強く推奨します。「ローリングリリース」、「アーリーアクセス」などのラベルが付いたリリースは推奨しません。
MariaDB 10.11.00-12.3.X InnoDBエンジンが必要です。

サーバー/プロキシのビルドには、MariaDB Connector/Cライブラリの使用を推奨します。

以下も参照してください:MariaDBで発生する可能性のあるデッドロックおよびMariaDB 10.5.1-10.5.9でのUI要素へのアクセス。

本番環境では、LTSリリースのみを使用することを強く推奨します。「ローリングリリース」、「アーリーアクセス」などのラベルが付いたリリースは推奨しません。
PostgreSQL 15.0-18.X PostgreSQLをZabbixのバックエンドデータベースとして使用する場合に必要です。
インストール規模によっては、特定の操作でデータベースが使用するメモリ量が十分になり、クエリの実行に時間がかかりすぎないように、PostgreSQLのwork_mem設定プロパティ(デフォルト値は4MB)を増やす必要がある場合があります。
PostgreSQL用のTimescaleDB 2.20.X-2.29.X TimescaleDBをPostgreSQLのデータベース拡張として使用する場合に必要です。圧縮をサポートするTimescaleDB Community Editionをインストールしてください。

PostgreSQLとTimescaleDBのバージョン互換性については、TimescaleDBのドキュメントを参照してください。
Elasticsearch 7.X ElasticsearchをZabbixのバックエンドデータベースとして使用する場合に必要です。
Elasticsearchは履歴データの保存にのみ使用でき、Zabbixサーバーでのみサポートされます。Elasticsearchのサポートは現在実験的です。サーバー/プロキシに必要なソフトウェアも参照してください。
ClickHouse 25.8.22.X-26.4.X 履歴データの保存にClickHouseをZabbixのバックエンドデータベースとして使用する場合に必要です(Zabbixサーバーでのみサポートされます)。

サポートされるバージョンは履歴データの保存にのみ適用されます。ClickHouseをテレメトリデータソースとして使用するには、ClickHouse 26.8.17.4以降が必要です。

ZabbixサーバーとClickHouseサーバーのシステム時刻は同期されている必要があります。同期されていない場合、テレメトリクエリでデータが欠落したり、同じデータが2回返されたりする可能性があります。
SQLite オプション 3.3.5-3.53.X SQLiteはZabbixプロキシでのみサポートされます。SQLiteをZabbixプロキシのデータベースとして使用する場合に必要です。
smartmontools 7.1以降 Zabbixエージェント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はオペレーティングシステムで利用可能なデータベースでも動作しますが、最適な環境で使用するため、データベース開発元の公式リポジトリからインストールしたデータベースを使用することを推奨します。

Webインターフェース

Zabbix Webインターフェースでサポートされる画面の最小幅は1200pxです。

必須と記載されている場合、必要なソフトウェア/ライブラリは厳密に必要です。 オプションのものは、特定の機能をサポートするために必要です。

ソフトウェア 必須ステータス サポートされるバージョン コメント
PHP はい 8.2.0 - 8.5.X
Apache いずれか 2.4以降
Nginx 1.20以降
MySQL いずれか サードパーティの外部周辺ソフトウェアを参照
PostgreSQL
PHP拡張機能
mysqli はい MySQLをZabbixバックエンドデータベースとして使用する場合に必要です。
pgsql PostgreSQLを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)をサポートしている必要があります。一部のWebインターフェース言語で、グラフ内のテキストの重なりを回避するために、バージョン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 7.19.4以降 php-curl。Duo Universal Prompt MFA、SMTP認証、およびテレメトリデータソースのテストに必要です。

Zabbixに付属するサードパーティのWebインターフェースライブラリ:

ライブラリ 必須ステータス 付属バージョン コメント
jQuery JavaScript Library はい 3.6.0 クロスブラウザー開発のプロセスを簡素化するJavaScriptライブラリです。
jQuery UI 1.12.1 jQuery上に構築された、ユーザーインターフェースの操作、エフェクト、ウィジェット、およびテーマのセットです。
SAML PHP Toolkit 4.3.1 ZabbixへのサインインでSAML 2.0認証をサポートするPHPツールキットです。
Duo Universal PHP library 1.1.2 ZabbixでDuo Universal Promptの多要素認証をサポートするPHPライブラリです。
Symfony Yaml Component 5.1.0 Zabbixの設定要素をYAML形式でエクスポートおよびインポートするためのサポートを追加します。

Zabbixは、以前のバージョンのApache、MySQL、およびPostgreSQLでも動作する場合があります。

デフォルトのDejaVu以外のフォントを使用する場合、PHP関数imagerotateが必要になることがあります。 この関数がない場合、グラフの表示時にこれらのフォントが正しく描画されないことがあります。 この関数は、PHPがバンドルされたGDを使用してコンパイルされている場合にのみ利用できます。Debianやその他のディストリビューションでは該当しません。

Zabbix Webインターフェースコードの作成およびデバッグに使用されるサードパーティライブラリ:

ライブラリ 必須ステータス 最小バージョン 説明
Composer いいえ 2.4.1 PHPソフトウェアと必要なライブラリの依存関係を管理するための標準形式を提供する、アプリケーションレベルのPHPパッケージマネージャーです。
PHPUnit 8.5.29 Zabbix WebインターフェースをテストするためのPHPユニットテストフレームワークです。
SASS 3.4.22 Cascading Style Sheets(CSS)に解釈およびコンパイルされるプリプロセッサスクリプト言語です。
クライアント側のWebブラウザ

CookieとJavaScriptを有効にする必要があります。

Google Chrome、Mozilla Firefox、Microsoft Edge、Apple Safari、Operaの最新の安定バージョンがサポートされています。

IFrameの同一生成元ポリシーが実装されているため、Zabbixを異なるドメインのフレームに配置することはできません。

ただし、Zabbixフレームに配置されたページは、フレームに配置されたページとZabbixフロントエンドが同じドメインにある場合、Zabbixフロントエンドに(JavaScriptを介して)アクセスできます。 http://secure-zabbix.com/cms/page.htmlのようなページをhttp://secure-zabbix.com/zabbix/のダッシュボードに配置すると、Zabbixへの完全なJSアクセスが可能になります。

サーバー/プロキシ

必須と記載されている場合、必要なソフトウェア/ライブラリは厳密に必要です。
オプションのものは、特定の機能をサポートするために必要です。

要件 必須 説明
libpcre2 はい Perl互換正規表現(PCRE)をサポートするために、PCRE2ライブラリが必要です。
PCRE2 v10.xがサポートされています。
libevent プロセス間通信に必要です。バージョン2.0.10以降。
libevent-pthreads プロセス間通信に必要です。
libpthread mutexおよび読み取り/書き込みロックのサポートに必要です(libcの一部である場合があります)。
libresolv DNS名前解決に必要です(libcの一部である場合があります)。
libiconv テキストのエンコーディング/形式変換に必要です(libcの一部である場合があります)。Linux上のZabbixサーバーでは必須です。
libz 圧縮のサポートに必要です。
libm 数学ライブラリ。Zabbixサーバーでのみ必要です。
libmysqlclient いずれか MySQLを使用する場合に必要です。
libmariadb MariaDBを使用する場合に必要です。
libpq5 PostgreSQLを使用する場合に必要です。libpq5のバージョンは、使用するPostgreSQLデータベースのバージョンと同じか、それより新しい必要があります。
libsqlite3 SQLiteを使用する場合に必要です。Zabbixプロキシでのみ必要です。
libOpenIPMI いいえ IPMIのサポートに必要です。Zabbixサーバーでのみ必要です。
libssh2 または libssh SSHチェックに必要です。バージョン1.8.0以降(libssh2)、0.9.0以降(libssh)。
libcurl 以下の機能に必要です。
- Web監視、VMware監視、およびHTTPエージェントアイテム(すべてバージョン7.19.1以降)。
- Zabbixエージェントのweb.page.*アイテム(バージョン7.19.1以降。エージェントの要件も参照)。
- SMTP認証(Basic:バージョン7.20.0以降、OAuth:バージョン7.33以降。Webインターフェースの要件も参照)。
- Elasticsearch(バージョン7.28.0以降)。
- Telemetryクエリアイテム(バージョン7.28.0以降)。

すべての機能でバージョン7.28.0以降を使用することを推奨します。
web.page.*アイテムでアップグレードされたcURL機能を使用するには、Zabbixサーバー/プロキシを再起動してください。
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が使用されます。
最小バージョン:1.16.0。DNSクエリのキャッシュおよびフェイルオーバー機能(クエリキャッシュはデフォルトで有効)には、c-ares 1.26.0以降が必要です。c-aresがOSパッケージによって提供されるシステムでは、インストールされたランタイムライブラリが、DNSキャッシュおよびフェイルオーバーに必要なリゾルバー機能を公開していることを確認してください。
g++ C++コンパイラ。アプリケーションパフォーマンス監視(APM)のために、--with-apmオプションを指定してZabbixプロキシをコンパイルする場合に必要です。
gRPC --with-apmオプションを指定してコンパイルしたZabbixプロキシでAPMを使用する場合に必要です。
必要なライブラリ:grpc++、grpc、gpr。
Zabbixプロキシのコンパイルには、grpc_cpp_pluginユーティリティも必要です。

必要なバージョンは、以下のオペレーティングシステムの標準パッケージリポジトリで利用できます。
- Ubuntu 23.04以降。
- Debian 12(Bookworm)以降。
- Alpine Linux 3.15以降。
- RHEL、Rocky Linux、CentOS Stream 9以降(EPELリポジトリからのみ)。
- Fedora X以降。
古いバージョンのオペレーティングシステムでは、gRPCをソースからビルドする必要があります。
protobuf --with-apmオプションを指定してコンパイルしたZabbixプロキシでAPMを使用する場合に必要です。
Zabbixプロキシのコンパイルには、protocコンパイラも必要です。
Abseil --with-apmオプションを指定してコンパイルしたZabbixプロキシでAPMを使用する場合に必要です。
必要なライブラリ:absl_synchronization、absl_base。
通常、gRPCと一緒にインストールされます。
エージェント
Requirement Mandatory status Description
libpcre2 Yes Perl互換正規表現(Perl Compatible Regular Expression) (PCRE) のサポートに必要な PCRE2 ライブラリです。
PCRE2 v10.x がサポートされています。
ログ監視に必要です。Windows でも必要です。
libpthread mutex および read-write lock のサポートに必要です (libc の一部である場合があります)。Windows では不要です。
libresolv DNS 解決に必要です (libc の一部である場合があります)。Windows では不要です。
libiconv ログアイテム、ファイルコンテンツ、ファイル regex、および regmatch アイテムで UTF-8 へのテキストエンコーディング/形式変換に必要です (libc の一部である場合があります)。Windows では不要です。
libgnutls or libopenssl No 暗号化 を使用する場合に必要です。
最小バージョン: libgnutls - 3.1.18、libopenssl - 1.0.1
Microsoft Windows では OpenSSL 1.1.1 以降が必要です。
libldap LDAP を使用する場合に必要です。Windows ではサポートされていません。
libcurl Zabbix エージェントの web.page.* アイテムの拡張サポートに必要です。
libcurl がない場合でも、基本機能は利用できます (例: web.page.get[http://example.com\])。libcurl がある場合、エージェントは認証情報付きの HTTP URL (例: http://user:[email protected]) や HTTPS URL などの追加機能をサポートします。
バージョン 7.19.1 以降が必要です (7.28.0 以降を推奨します)。
更新された cURL 機能を使用するには、Zabbix エージェントを再起動してください。
libmodbus Modbus 監視を使用する場合のみ必要です。
バージョン 3.0 以降。
エージェント 2
Requirement Mandatory status Description
Go Yes Zabbix エージェント 2 とそのプラグインをソースからビルドするために必要です。
Go 1.25 以降がサポートされています。インストール手順については go.dev を参照してください。
Zabbix エージェント 2 とそのプラグインで使用される Go ライブラリは Zabbix の Git リポジトリに一覧されています(リポジトリ内で indirect とマークされているライブラリは、他の必須ライブラリの依存関係です)。
- Zabbix エージェント 2
- プラグインサポート
- PostgreSQL
- MongoDB
- MSSQL
- Ember+
- NVIDIA GPU
- Example plugin
libpcre2 Yes PCRE2 ライブラリは Perl Compatible Regular Expression (PCRE) のサポートに必要です。
PCRE2 v10.x がサポートされています。
ログ監視に必要です。Windows でも必要です。
libopenssl No 暗号化を使用する場合に必要です。
UNIX プラットフォームでは OpenSSL 1.0.1 以降が必要です。
OpenSSL ライブラリでは PSK サポートを有効にする必要があります。LibreSSL はサポートされていません。
Microsoft Windows システムでは OpenSSL 1.1.1 以降が必要です。
Webサービス

Zabbix Webサービスを使用して定期レポートを生成するのに、Google Chromeの最新の安定バージョンがサポートされています。

Webサービスの構築に必要なGoのバージョンは、Zabbixエージェント2で使用されているバージョンと同じです。

Javaゲートウェイ

ソースリポジトリまたはアーカイブからZabbixを入手した場合、必要な依存関係はすでにソースツリーに含まれています。

ディストリビューションのパッケージからZabbixを入手した場合、必要な依存関係はすでにパッケージングシステムによって提供されています。

上記のどちらの場合も、ソフトウェアは使用できる状態になっており、追加のダウンロードは必要ありません。

ただし、これらの依存関係をご自身で用意したバージョンにしたい場合(たとえば、Linuxディストリビューション用のパッケージを準備している場合)は、以下にJavaゲートウェイで動作することが確認されているライブラリのバージョンを示します。 Zabbixは、これらのライブラリの他のバージョンでも動作する可能性があります。

次の表は、元のコードで現在JavaゲートウェイにバンドルされているJARファイルの一覧です。

ライブラリ 必須かどうか バンドルされているバージョン コメント
android-json はい 4.3r1 JSON(JavaScript Object Notation)は、軽量なデータ交換形式です。これは、Android SDKから抽出されたorg.json互換のAndroid実装です。
logback-classic 1.5.25
logback-core 1.5.25
slf4j-api 2.0.16

Javaゲートウェイは、Oracle JavaまたはオープンソースのOpenJDK(バージョン1.6以降)のいずれかを使用してビルドできます。 Zabbixが提供するパッケージは、OpenJDKを使用してコンパイルされています。 次の表は、各ディストリビューションのZabbixパッケージのビルドに使用されるOpenJDKパッケージの一覧です。

ディストリビューション OpenJDKパッケージ
AlmaLinux 10 java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2)
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 10 java-21-openjdk-devel (amd64, arm64: 21.0.11.0.10-2)
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 13 default-jdk-headless (amd64, arm64: 2:1.21-76)
Debian 12 default-jdk-headless (amd64, arm64: 2:1.17-74)
Debian 11 default-jdk-headless (amd64: 2:1.11-72)
OpenSUSE Leap 16 java-21-openjdk-devel (amd64, arm64: 21.0.11.0-160000.2.1)
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 10 java-21-openjdk-devel (amd64, arm64: 21.0.11.0.10-2.0.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 13 default-jdk-headless (arm64, armhf: 2:1.21-76)
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 10 java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2)
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 10 java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2)
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 16 java-21-openjdk-devel (amd64, arm64: 21.0.11.0-160000.1.1)
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 26.04 default-jdk-headless (amd64, arm64: 2:1.25-77)
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コンポーネント ポート番号 プロトコル 接続タイプ
Zabbixエージェント 10050 TCP オンデマンド
Zabbixエージェント 2 10050 TCP オンデマンド
Zabbixサーバー 10051 TCP オンデマンド
Zabbixプロキシ 10051 TCP オンデマンド
Zabbix Javaゲートウェイ 10052 TCP オンデマンド
Zabbix Webサービス 10053 TCP オンデマンド
Zabbix MCPサーバー 8443 TCP オンデマンド
Zabbix Webインターフェース 80 HTTP オンデマンド
443 HTTPS オンデマンド
Zabbixトラッパー 10051 TCP オンデマンド
Zabbixブリッジアダプター 10005 TCP オンデマンド

Zabbixの通信を有効にするには、ファイアウォールでポートを開放する必要があります。 通常、送信TCP接続に対して明示的なファイアウォール設定は必要ありません。

データベースサイズ

Zabbix の設定データは、一定量のディスク容量を必要とし、あまり増加しません。

Zabbix のデータベースサイズは主に次の変数に依存し、これらが保存される履歴データ量を決定します。

  • 1秒あたりの処理済み値の数

これは、Zabbix サーバーが毎秒受信する新しい値の平均数です。
たとえば、監視対象のアイテムが 3000 個あり、更新間隔が 60 秒の場合、1秒あたりの値の数は 3000/60 = 50 と計算されます。

つまり、毎秒 50 個の新しい値が Zabbix データベースに追加されます。

  • 履歴の Housekeeper 設定

Zabbix は値を一定期間保持します。通常は数週間または数か月です。
新しい値ごとに、データとインデックスのために一定量のディスク容量が必要になります。

そのため、30 日分の履歴を保持し、1秒あたり 50 個の値を受信する場合、値の総数はおよそ (30*24*3600)* 50 = 129.600.000、つまり約 130M 個の値になります。

使用するデータベースエンジンや受信する値の種類(浮動小数点、整数、文字列、ログファイルなど)によって、1つの値を保持するために必要なディスク容量は 40 バイトから数百バイトまで変動します。
通常、数値アイテムの場合は 1 値あたり約 90 バイトです2。
この例では、130M 個の値には 130M * 90 バイト = 10.9GB のディスク容量が必要になります。

テキスト/ログアイテムの値のサイズを正確に予測することはできませんが、1 値あたり約 500 バイトと見積もることができます。

  • トレンドの Housekeeper 設定

Zabbix は、各アイテムについて 1時間分の max/min/avg/count の値を trends テーブルに保持します。
このデータはトレンド表示や長期間のグラフに使用されます。
1時間の期間はカスタマイズできません。

Zabbix データベースは、データベースの種類に応じて、各 total あたり約 90 バイトを必要とします。
トレンドデータを 5 年間保持したいとします。
3000 個のアイテムの値には、3000*24*365* 90 = 2.2GB / 年、または 5 年で 11GB が必要になります。

  • イベントの Housekeeper 設定

各 Zabbix イベントには、約 250 バイトのディスク容量が必要です1。
Zabbix が 1日に生成するイベント数を見積もるのは困難です。
最悪のケースでは、Zabbix が 1秒あたり 1 件のイベントを生成すると仮定できます。

回復した各イベントについて、event_recovery レコードが作成されます。
通常、ほとんどのイベントは回復するため、イベントごとに 1 件の 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 システムに必要なディスク容量を計算するために使用できる式が示されています。

Parameter 必要なディスク容量の式(バイト)
Zabbix configuration 固定サイズ。通常は 10MB 以下。
History days*(items/refresh rate)*24*3600*bytes
items : アイテム数
days : 履歴を保持する日数
refresh rate : アイテムの平均更新間隔
bytes : 1つの値を保持するために必要なバイト数。データベースエンジンに依存し、通常は約 90 バイト。
Trends days*(items/3600)*24*3600*bytes
items : アイテム数
days : 履歴を保持する日数
bytes : 1つのトレンドを保持するために必要なバイト数。データベースエンジンに依存し、通常は約 90 バイト。
Events days*events*24*3600*bytes
events : 1秒あたりのイベント数。最悪ケースでは 1(1)秒あたり 1 件のイベント。
days : 履歴を保持する日数
bytes : 1つのイベントを保持するために必要なバイト数。データベースエンジンに依存し、通常は約 330 + イベントごとの平均タグ数 * 100 バイト。

したがって、必要なディスク容量の合計は次のように計算できます。

Configuration + History + Trends + Events

ディスク容量は、Zabbix のインストール直後にすぐ使用されるわけではありません。
データベースサイズはその後増加し、Housekeeper 設定に依存するある時点で増加が止まります。

時刻同期

Zabbixが稼働しているサーバーで正確なシステム時刻を持つことは非常に重要です。 ntpdは、ホストの時刻を他のマシンの時刻と同期させる最も一般的なデーモンです。 Zabbixコンポーネントが稼働しているすべてのシステムで、システム時刻を同期させておくことを強く推奨します。

ネットワーク要件

各コンポーネントごとに開放する必要があるポートの一覧です(デフォルト設定の場合)。

コンポーネント ポート
フロントエンド http:80, https:443
サーバー 10051 (アクティブプロキシ/エージェントで使用)
アクティブプロキシ 10051
パッシブプロキシ 10051
エージェント2 10050
トラッパー
JavaGateway 10052
WebService 10053

Zabbixと外部通信を行うためには、これらのポート番号をファイアウォールで開放する必要があります。 通常、外向きのTCP接続には明示的なファイアウォール設定は不要です。