2 要件

ハードウェア要件

メモリ

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,
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のインストール評価およびテスト中にコンピュート/メモリ/ストレージの最適化などの適切なインスタンスタイプを選択する必要があります。

実際の構成は、アクティブなアイテムの数とリフレッシュレートに大きく依存します (詳細については、このページのデータベースのサイジングセクションを参照してください)。大規模なインストールの場合は、データベースを別のサーバーで実行することを強くお勧めします。

サポートするプラットフォーム

セキュリティ要件と監視サーバーのミッションクリティカルな性質から、UNIXは必要な性能と耐障害性、回復力を一貫して提供できる唯一のOSです。Zabbixは市場をリードするバージョンで動作します。

Zabbixのコンポーネントは以下のプラットフォームで動作確認されています:

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

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

Zabbixサーバー/エージェントは他のUnix系OSでも動作する可能性があります。

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

ソフトウェア要件

Zabbixは最新のWebサーバー、主要なデータベースエンジン、およびPHPスクリプト言語を組み合わせて動作します。

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

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

Software Mandatory status Supported versions Comments
MySQL/Percona One of 8.0.30-9.6.X Zabbix のバックエンドデータベースとして MySQL (または Percona) を使用する場合に必要です。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 以降。

server/proxy のビルドには、C API (libmysqlclient) ライブラリの使用を推奨します。
MariaDB 10.5.00-12.2.X InnoDB エンジンが必要です。

推奨バージョンは 11.4 です。

server/proxy のビルドには、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 Zabbix のバックエンドデータベースとして Oracle を使用する場合に必要です。
Oracle DB のサポートは Zabbix 7.0 以降 非推奨 です。
PostgreSQL 13.0-18.X Zabbix のバックエンドデータベースとして PostgreSQL を使用する場合に必要です。
インストール規模によっては、PostgreSQL の work_mem 設定プロパティ(デフォルト値は 4MB)を増やす必要がある場合があります。これにより、特定の操作でデータベースが使用するメモリ量が十分になり、クエリ実行に時間がかかりすぎないようにできます。

PostgreSQL バージョンのサポート追加:
- 17.X は Zabbix 7.0.6 以降;
- 18.X は Zabbix 7.0.20 以降。
TimescaleDB for PostgreSQL 2.13.0-2.26.X PostgreSQL データベース拡張として TimescaleDB を使用する場合に必要です。圧縮をサポートする TimescaleDB Community Edition を必ずインストールしてください。

PostgreSQL 15 は TimescaleDB 2.10 以降でサポートされることに注意してください。
PostgreSQL と TimescaleDB のバージョン互換性の詳細については、TimescaleDB documentation も参照してください。

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 Optional 3.3.5-3.53.X SQLite は Zabbix プロキシでのみサポートされます。Zabbix プロキシデータベースとして SQLite を使用する場合に必要です。

SQLite バージョンのサポート:
- 3.53.X は Zabbix 7.0.25 以降。
Elasticsearch 7.X Elasticsearch は Zabbix サーバーでのみサポートされ、履歴データの保存専用です。Elasticsearch のサポートは現在実験的です。必要なソフトウェアについては server/proxy も参照してください。
smartmontools 7.1 or later Zabbix エージェント 2 に必要です。
who ユーザー数プラグインに必要です。
dpkg system.sw.packages プラグインに必要です。
pkgtool system.sw.packages プラグインに必要です。
rpm system.sw.packages プラグインに必要です。
pacman system.sw.packages プラグインに必要です。
q applets Gentoo Linux では、q applets の一部である qlistqsize が system.sw.packages プラグインに必要です。

Zabbix はオペレーティングシステムで利用可能なデータベースでも動作しますが、最良の利用体験のためには、各データベース開発元の公式リポジトリからインストールしたデータベースの使用を推奨します。

Webインターフェース

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

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

Software Mandatory status Supported versions Comments
PHP Yes 8.0.0 - 8.5.X PHP バージョンのサポート追加:
- Zabbix 7.0.10 以降で 8.4.X;
- Zabbix 7.0.25 以降で 8.5.X。
Apache One of 2.4 or later
Nginx 1.20 or later
MySQL One of See Third-party external surrounding software
PostgreSQL
Oracle
PHP extensions
mysqli Yes Zabbix のバックエンドデータベースとして MySQL を使用する場合に必要です。
pgsql Zabbix のバックエンドデータベースとして PostgreSQL を使用する場合に必要です。
oci8 Zabbix のバックエンドデータベースとして Oracle を使用する場合に必要です。
bcmath php-bcmath (--enable-bcmath)
mbstring php-mbstring (--enable-mbstring)
sockets php-net-socket (--enable-sockets); ユーザースクリプトのサポートに必要です。
gd 2.0.28 or later php-gd (ディストリビューターが別パッケージとして提供する場合); PHP GD 拡張は PNG 画像 (--with-png-dir)、JPEG 画像 (--with-jpeg-dir)、および FreeType 2 (--with-freetype-dir) をサポートしている必要があります。一部の Webインターフェース言語では、グラフ表示時の text overlapping in graphs を回避するために 2.3.0 以降が必要になる場合があります。
libxml 2.6.15 or later php-xml (ディストリビューターが別パッケージとして提供する場合)
xmlwriter php-xmlwriter (ディストリビューターが別パッケージとして提供する場合)
xmlreader php-xmlreader (ディストリビューターが別パッケージとして提供する場合)
ctype php-ctype (--enable-ctype)
session php-session (ディストリビューターが別パッケージとして提供する場合)
ldap No php-ldap; LDAP 認証に必要です。
openssl php-openssl; SAML 認証に必要です。
gettext php-gettext (--with-gettext); 翻訳に必要です。
cURL php-curl; Duo Universal Prompt MFA に必要です。

Zabbix に同梱されているサードパーティ製 Webインターフェース ライブラリ:

Library Mandatory status Supplied version Comments
jQuery JavaScript Library Yes 3.6.0 クロスブラウザー開発のプロセスを簡素化する JavaScript ライブラリです。
jQuery UI 1.12.1 jQuery 上に構築された、ユーザーインターフェースの操作、エフェクト、ウィジェット、テーマのセットです。
SAML PHP Toolkit 4.3.1 Zabbix にサインインできるように、SAML 2.0 認証サポートを追加する PHP ツールキットです。

同梱バージョンの履歴:
- Zabbix 7.0.0 以降で 4.0.0;
- Zabbix 7.0.24 以降で 4.3.1 (推奨)。
Duo Universal PHP library 1.1.2 Zabbix に Duo Universal Prompt の多要素認証サポートを追加する PHP ライブラリです。

同梱バージョンの履歴:
- Zabbix 7.0.0 以降で 1.0.2;
- Zabbix 7.0.23 以降で 1.1.0;
- Zabbix 7.0.26 以降で 1.1.2 (推奨)。
Symfony Yaml Component 5.1.0 Zabbix の設定要素を YAML 形式でエクスポートおよびインポートするサポートを追加します。

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

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

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

Library Mandatory status Minimum version Description
Composer No 2.4.1 PHP 用のアプリケーションレベルのパッケージマネージャーで、PHP ソフトウェアと必要なライブラリの依存関係を管理するための標準形式を提供します。
PHPUnit 8.5.29 Zabbix Webインターフェースをテストするための PHP 単体テストフレームワークです。
SASS 3.4.22 カスケーディングスタイルシート (CSS) に解釈およびコンパイルされるプリプロセッサースクリプト言語です。
クライアント側のWebブラウザ

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

Google Chrome、Mozilla Firefox、Microsoft Edge、Apple Safari、Operaの最新安定バージョンに対応しています。

IFrameのsame-originポリシーが実装されているため、Zabbixを別ドメインのフレームに配置することはできません。

ただし、Zabbixフレームに配置されたページとZabbixのWebインターフェースが同じドメインにある場合、そのページはJavaScript経由でZabbixのWebインターフェースにアクセスできます。http://secure-zabbix.com/cms/page.htmlのようなページをhttp://secure-zabbix.com/zabbix/のダッシュボードに配置すると、JSからZabbixに完全にアクセスすることができます。

サーバー/プロキシ

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

Requirement Mandatory status Description
libpcre/libpcre2 One of PCRE/PCRE2 ライブラリは Perl Compatible Regular Expression (PCRE) のサポートに必要です。
名称は GNU/Linux ディストリビューションによって異なる場合があり、たとえば 'libpcre3' や 'libpcre1' などがあります。PCRE v8.x および PCRE2 v10.x がサポートされています。
libevent Yes プロセス間通信に必要です。バージョン 2.0.10 以上(Zabbix 7.0.4 以降。それ以前は 1.4)。
libevent-pthreads プロセス間通信に必要です。
libpthread mutex および read-write lock のサポートに必要です(libc の一部である場合があります)。
libresolv DNS 解決に必要です(libc の一部である場合があります)。
libiconv テキストのエンコーディング/形式変換に必要です。Linux 上の Zabbix サーバーでは必須です。
libz 圧縮サポートに必要です。
libm 数学ライブラリです。Zabbix サーバーでのみ必要です。
libmysqlclient One of MySQL を使用する場合に必要です。
libmariadb MariaDB を使用する場合に必要です。
libclntsh Oracle を使用する場合に必要です。libclntsh のバージョンは、使用する Oracle データベースのバージョンと一致するか、それ以上である必要があります。
libpq5 PostgreSQL を使用する場合に必要です。libpq5 のバージョンは、使用する PostgreSQL データベースのバージョンと一致するか、それ以上である必要があります。
libsqlite3 SQLite を使用する場合に必要です。Zabbix プロキシでのみ必要です。
libOpenIPMI No IPMI サポートに必要です。Zabbix サーバーでのみ必要です。
libssh2 or libssh SSH チェック に必要です。バージョン 1.0 以上(libssh2)、0.9.0 以上(libssh)。
libcurl 次の機能に必要です:
- Web monitoringVMware monitoring、および HTTP agent アイテム(いずれもバージョン 7.19.1 以上);
- Zabbix エージェントの web.page.* アイテム(バージョン 7.19.1 以上。 agent の要件も参照);
- SMTP authentication(バージョン 7.20.0 以上);
- Elasticsearch(バージョン 7.28.0 以上)。
すべての機能でバージョン 7.28.0 以上を推奨します。
web.page.* アイテムで更新された cURL 機能を使用するには、Zabbix サーバー/プロキシを再起動してください。
SMTP authentication では、実行時に libcurl-full パッケージを使用してください。
libxml2 VMware monitoring と 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 or 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
エージェント
Requirement Mandatory status Description
libpcre/libpcre2 One of PCRE/PCRE2 ライブラリは、Perl Compatible Regular Expression (PCRE) のサポートに必要です。
名称は GNU/Linux ディストリビューションによって異なる場合があり、たとえば 'libpcre3' や 'libpcre1' などがあります。PCRE v8.x および PCRE2 v10.x がサポートされています。
ログ監視に必要です。Windows でも必要です。
libpthread Yes ミューテックスおよび 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
要件 必須ステータス 説明
Go はい ソースからZabbixエージェント 2およびそのプラグインをビルドするために必要です。
Go 1.24.10 以降がサポートされています。インストール手順については go.dev を参照してください。
Zabbixエージェント 2およびそのプラグインで使用されるGoライブラリは、Zabbix Gitリポジトリに一覧表示されています(リポジトリ内で indirect としてマークされているライブラリは、他の必須ライブラリの依存関係です)。
- Zabbix agent 2
- Plugin support
- PostgreSQL
- MongoDB
- MSSQL
- Ember+
- Example plugin
libpcre/libpcre2 いずれか1つ Perl Compatible Regular Expression (PCRE) サポートには、PCRE/PCRE2ライブラリが必要です。
名前はGNU/Linuxディストリビューションによって異なる場合があり、たとえば「libpcre3」や「libpcre1」などがあります。PCRE v8.x および PCRE2 v10.x がサポートされています。
ログ監視に必要です。Windowsでも必要です。
libopenssl いいえ 暗号化を使用する場合に必要です。
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ファイルを示しています。

Library Mandatory status Bundled version Comments
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ゲートウェイは、Oracle JavaまたはオープンソースのOpenJDK(バージョン1.6以降)のいずれかを使用してビルドできます。 Zabbixが提供するパッケージはOpenJDKを使用してコンパイルされています。 次の表は、ディストリビューションごとにZabbixパッケージのビルドに使用されるOpenJDKパッケージを示しています。

Distribution OpenJDK package
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エージェント 10050 TCP オンデマンド
Zabbixエージェント2 10050 TCP オンデマンド
Zabbixサーバー 10051 TCP オンデマンド
Zabbixプロキシ 10051 TCP オンデマンド
Zabbix Javaゲートウェイ 10052 TCP オンデマンド
Zabbix Webサービス 10053 TCP オンデマンド
Zabbix Webインターフェース 80 HTTP オンデマンド
443 HTTPS オンデマンド
Zabbixトラッパー 10051 TCP オンデマンド

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

データベースサイズ

Zabbixの設定データには一定量のディスク容量が必要ですが、そのサイズはあまり増加しません。

Zabbixデータベースのサイズは主に、保存される履歴データ量を定義する以下の変数に依存します。

  • 1秒あたりに処理される値の数

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

つまり、1秒ごとに50個の新しい値がZabbixデータベースに追加されることになります。

  • 履歴に対するhousekeeper設定

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

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

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

text/logアイテムの値のサイズを正確に予測することはできませんが、1値あたり約500バイトを見込むことができます。

  • トレンドに対するhousekeeper設定

Zabbixは、各アイテムについて1時間ごとの最大値/最小値/平均値/件数のセットをテーブル trends に保持します。 このデータはトレンド表示や長期間のグラフに使用されます。 この1時間という期間はカスタマイズできません。

Zabbixデータベースでは、データベースの種類に応じて、各集計値に約90バイトが必要です。 5年間トレンドデータを保持したいとします。 3000個のアイテムの値には、1年あたり 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 bytes のディスク容量が必要になります。

つまり、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 bytes。
Trends days*(items/3600)*24*3600*bytes
items : アイテム数
days : 履歴を保持する日数
bytes : 1つのトレンドを保持するために必要なバイト数。データベースエンジンに依存し、通常は \~90 bytes。
Events days*events*24*3600*bytes
events : 1秒あたりのイベント数。最悪の場合は1秒あたり1件。
days : 履歴を保持する日数
bytes : 1つのイベントを保持するために必要なバイト数。データベースエンジンに依存し、通常は \~330 + イベントあたりの平均タグ数 * 100 bytes。

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

Configuration + History + Trends + Events

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

時刻同期

Zabbixが動作しているサーバで正確なシステム時刻を得ることは非常に重要です。 ntpdはホストの時刻を他のマシンの時刻と同期させる最も有名なデーモンです。 Zabbixのコンポーネントが動作している全てのシステムで時刻を同期させることを強く推奨します。

ネットワーク要件

次のリストは、コンポーネントごとのオープンポートのデフォルト設定です。

コンポーネント ポート
Webインターフェース 80 (http), 443 (https)
Zabbixサーバー 10051 (アクティブなプロキシ/エージェントで使用)
アクティブプロキシ 10051
パッシブプロキシ 10051
エージェント2 10050
トラッパー
Javaゲートウェイ 10052
Webサービス 10053

Zabbixとの外部通信を可能にするには、ファイアウォールでポート番号を開く必要があります。 通常、発信TCP接続には明示的なファイアウォール設定は必要ありません。