要件

ハードウェア要件

メモリ

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 リリースのみを使用することを強く推奨します。「rolling release」、「early access」などのラベルが付いたリリースは推奨しません。
MariaDB 10.11.00-12.3.X InnoDB エンジンが必要です。

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

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

本番環境では、LTS リリースのみを使用することを強く推奨します。「rolling release」、「early access」などのラベルが付いたリリースは推奨しません。
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 26.3.0.0-26.9.X.X 履歴データの保存(Zabbix サーバーでのみサポート)に使用する Zabbix のバックエンドデータベースとして ClickHouse を使用する場合、または テレメトリデータソースとして使用する場合に必要です。

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 いずれか1つ 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++コンパイラーです。--with-apmオプション付きでZabbixプロキシをコンパイルする場合に必要です。
gRPC 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 ZabbixプロキシでAPMをサポートするために必要です。
Zabbixプロキシのコンパイルにはprotocコンパイラーも必要です。
Abseil 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(バージョン8以降)を使用してビルドできます。 Zabbixが提供するパッケージは、OpenJDKを使用してコンパイルされています。 次の表は、各ディストリビューションでZabbixパッケージのビルドに使用されるOpenJDKパッケージの一覧です。

ディストリビューション OpenJDKパッケージ
AlmaLinux 10 java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2)
AlmaLinux 9 java-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2)
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-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2)
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-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-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-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2)
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-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2)
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コンポーネント プロトコルとポート 接続を開始するコンポーネント
Zabbixエージェント TCP 10050 ZabbixサーバーまたはZabbixプロキシ(パッシブチェックのみ)
Zabbixエージェント 2 TCP 10050 ZabbixサーバーまたはZabbixプロキシ(パッシブチェックのみ)
Zabbixサーバー TCP 10051 アクティブなZabbixエージェント、アクティブなZabbixプロキシ、Zabbix sender、Zabbix Webインターフェース
Zabbixプロキシ TCP 10051 アクティブなZabbixエージェント、Zabbix sender、Zabbixサーバー(パッシブプロキシのみ)
Zabbix Javaゲートウェイ TCP 10052 Zabbixサーバーまたはプロキシ
Zabbix Webサービス TCP 10053 Zabbixサーバー
Zabbix MCPサーバー TCP 8443 MCPクライアント(AIエージェント)
Zabbix Webインターフェース TCP 80 Webブラウザー、Zabbix Webサービス(スケジュールレポート)、APIクライアント
TCP 443
SNMPトラップ(snmptrapd) UDP 162 SNMPデバイス
Zabbixブリッジアダプター TCP 10054 Zabbixサーバー

実際に実行するコンポーネントに必要なポートのみを開き、各ファイアウォールルールを接続が必要な特定のホストに限定してください(たとえば、ポート10050は任意のアドレスからではなく、Zabbixサーバーまたはプロキシからのみ許可します)。 Zabbixのポートをインターネットに直接公開しないでください。
ポートを開く前に、インストール環境のセキュリティを強化してください。コンポーネント間の暗号化を有効にし、コンポーネントの設定ファイルで許可するホストを制限し、セキュリティのベストプラクティスを確認してください。

データベースサイズ

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コンポーネントが稼働しているすべてのシステムで、システム時刻を同期させておくことを強く推奨します。