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スクリプト言語を組み合わせて動作します。

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

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

ソフトウェア 必須ステータス サポートされるバージョン コメント
MySQL/Percona いずれか1つ 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 以降。
TimescaleDB for PostgreSQL 2.13.0-2.26.X TimescaleDBをPostgreSQLデータベース拡張として使用する場合に必要です。圧縮をサポートする 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 オプション 3.3.5-3.34.X SQLite は Zabbix プロキシでのみサポートされています。SQLite を Zabbix プロキシデータベースとして使用する場合に必要です。
Elasticsearch 7.X Elasticsearch は Zabbix サーバーでのみサポートされ、履歴データの保存専用です。Elasticsearch のサポートは現在実験的です。サーバー/プロキシ に必要なソフトウェアも参照してください。
smartmontools 7.1 以降 Zabbix エージェント 2 に必要です。
who ユーザー数プラグインに必要です。
dpkg system.sw.packages プラグインに必要です。
pkgtool system.sw.packages プラグインに必要です。
rpm system.sw.packages プラグインに必要です。
pacman system.sw.packages プラグインに必要です。
q applets q applets の一部である qlist および qsize は、Gentoo Linux 上の system.sw.packages プラグインに必要です。

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

Webインターフェース

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

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

Software Mandatory status Supported versions Comments
PHP Yes 8.0.0 - 8.5.X PHPバージョンのサポートを追加:
- 8.4.X は Zabbix 7.0.10 以降;
- 8.5.X は Zabbix 7.0.25 以降。
Apache One of 2.4 以降
Nginx 1.20 以降
MySQL One of サードパーティ製外部周辺ソフトウェアを参照
PostgreSQL
Oracle
PHP extensions
mysqli Yes 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) をサポートしている必要があります。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 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 ツールキットです。

同梱バージョン履歴:
- 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 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 Cascading Style Sheets (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に完全にアクセスすることができます。

サーバー/プロキシ

必須要件は常に必須です。特定の機能をサポートするには、オプションの要件が必要です。

要件 必須ステータス 説明
libpcre/libpcre2 どれか一つ Perl互換正規表現(PCRE)のサポートにはPCRE/PCRE2ライブラリが必要です。
GNU/Linuxディストリビューションによって、'libpcre3'、'libpcre1'などと名前が異なる場合があります。PCRE v8.xおよびPCRE2 v10.xがサポートされています。
libevent Yes 一括メトリクスサポートとIPMI監視に必要です。バージョン2.0.10以降(Zabbix 7.0.4より前は1.4)。
libevent-pthreads プロセス間通信に必要です。
libpthread ミューテックスおよび読み取り/書き込みロックのサポートに必要です(libcの一部である可能性があります)。
libresolv DNS解決に必要です(libcの一部である可能性があります)。
libiconv テキストのエンコード/フォーマット変換に必要です(libcの一部である可能性があります)。Linux上のZabbixサーバーには必須です。
libz 圧縮のサポートに必要です。
libm Mathライブラリ。Zabbixサーバーのみ必要です。
libmysqlclient どれか一つ MySQLを使用する場合は必要です。
libmariadb MariaDBを使用する場合は必要です。
libclntsh Oracleを使用する場合は必要です。libclntshのバージョンは、Oracleデータベースのバージョン以上である必要があります。
libpq5 PostgreSQLを使用する場合は必要です。libpq5のバージョンは、PostgreSQLデータベースのバージョン以上である必要があります。
libsqlite3 SQLiteを使用する場合は必要です。Zabbixプロキシのみ必要です。
libOpenIPMI No IPMIのサポートに必要です。Zabbixサーバーのみ必要です。
libssh2またはlibssh SSHチェックに必要です。バージョン1.0以降 (libssh2)、0.9.0以降 (libssh)。
libcurl 次の機能に必要です:
- Web監視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サーバー/プロキシを再起動します。
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
エージェント
要件 必須ステータス 説明
libpcre/libpcre2 どれか一つ Perl互換正規表現(PCRE)のサポートには、PCRE/PCRE2ライブラリが必要です。
'libpcre3'や'libpcre1'など、GNU/Linuxディストリビューションによって名前が異なる場合があります。PCRE v8.xおよびPCRE2 v10.xがサポートされています。
ログの監視に必要です。Windowsでも必要です。
libpthread Yes ミューテックスおよび読み書きロックのサポートに必要です(libcの一部である可能性があります)。Windowsでは不要です。
libresolv DNS解決に必要です(libcの一部である可能性があります)。Windowsでは不要です。
libiconv ログアイテム、ファイルコンテンツ、ファイルregexおよびregmatchアイテム(libcの一部である可能性があります)でのUTF-8へのテキストエンコーディング/フォーマット変換に必要です。Windowsでは不要です。
libgnutlsまたは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接続には明示的なファイアウォール設定は必要ありません。