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 |
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 グラフ
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 | いずれか1つ | 8.0.30-9.6.X | MySQL(またはPercona)をZabbixのバックエンドデータベースとして使用する場合に必要です。InnoDBエンジンが必要です。 MySQLバージョンのサポート追加: - 9.5.X は Zabbix 7.4.6 以降; - 9.6.X は Zabbix 7.4.9 以降。 サーバー/プロキシのビルドには、C API (libmysqlclient) ライブラリの使用を推奨します。 |
|
| MariaDB | ^ | 10.5.00-12.2.X | InnoDBエンジンが必要です。 推奨バージョンは 11.4 です。 サーバー/プロキシのビルドには、MariaDB Connector/C ライブラリの使用を推奨します。 MariaDBバージョンのサポート追加: - 12.0.X は Zabbix 7.4.3 以降; - 12.2.X は Zabbix 7.4.9 以降。 あわせて参照: MariaDBで発生する可能性のあるデッドロック および MariaDB 10.5.1-10.5.9 におけるUI要素へのアクセス。 |
. |
| PostgreSQL | ^ | 13.0-18.X | PostgreSQLをZabbixのバックエンドデータベースとして使用する場合に必要です。 インストール規模によっては、特定の操作でデータベースが使用するメモリ量を十分に確保し、クエリ実行に時間がかかりすぎないようにするため、PostgreSQL の work_mem 設定プロパティ(デフォルト値は 4MB)を増やす必要がある場合があります。 PostgreSQLバージョンのサポート追加: - 18.X は Zabbix 7.4.4 以降。 |
|
| 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.20.X、2.21.X は Zabbix 7.4.1 以降; - 2.22.X は Zabbix 7.4.4 以降; - 2.23.X は Zabbix 7.4.6 以降; - 2.24.X は Zabbix 7.4.7 以降; - 2.25.X は Zabbix 7.4.8 以降; - 2.26.X は Zabbix 7.4.9 以降。 |
|
| SQLite | オプション | 3.3.5-3.34.X | SQLite は Zabbixプロキシでのみサポートされます。SQLite を Zabbixプロキシデータベースとして使用する場合に必要です。 | |
| Elasticsearch | ^ | 7.X | Elasticsearch は Zabbixサーバーでのみサポートされ、履歴データの保存専用です。Elasticsearch のサポートは現在実験的です。サーバー/プロキシ に必要なソフトウェアも参照してください。 | |
| smartmontools | ^ | 7.1 以降 | Zabbix エージェント 2 に必要です。 | |
| who | ^ | user count プラグインに必要です。 | ||
| 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.4.X | |
| Apache | One of | 2.4以降 | |
| Nginx | 1.20以降 | ||
| MySQL | One of | サードパーティ製外部周辺ソフトウェアを参照 | |
| PostgreSQL | |||
| PHP extensions | |||
| mysqli | Yes | 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 | No | 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インターフェースライブラリ:
| 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.4.0以降は4.0.0; - Zabbix 7.4.8以降は4.3.1(推奨)。 |
|
| Symfony Yaml Component | 5.1.0 | YAML形式でZabbix設定要素をエクスポートおよびインポートするためのサポートを追加します。 |
Zabbixは、Apache、MySQL、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に完全にアクセスすることができます。
サーバー/プロキシ
必須要件は常に必須です。特定の機能をサポートするには、オプションの要件が必要です。
| 要件 | 必須ステータス | 説明 |
|---|---|---|
| libpcre2 | Yes | Perl互換正規表現(PCRE)のサポートにはPCRE2ライブラリが必要です。 PCRE2 v10.xがサポートされています。 |
| libevent | 一括メトリクスサポートとIPMI監視に必要です。バージョン2.0.10以降。 | |
| libevent-pthreads | プロセス間通信に必要です。 | |
| libpthread | ミューテックスおよび読み取り/書き込みロックのサポートに必要です(libcの一部である可能性があります)。 | |
| libresolv | DNS解決に必要です(libcの一部である可能性があります)。 | |
| libiconv | テキストのエンコード/フォーマット変換に必要です(libcの一部である可能性があります)。Linux上のZabbixサーバーには必須です。 | |
| libz | 圧縮のサポートに必要です。 | |
| libm | Mathライブラリ。Zabbixサーバーのみ必要です。 | |
| libmysqlclient | どれか一つ | MySQLを使用する場合は必要です。 |
| libmariadb | MariaDBを使用する場合は必要です。 | |
| libpq5 | PostgreSQLを使用する場合は必要です。libpq5のバージョンは、PostgreSQLデータベースのバージョン以上である必要があります。 | |
| libsqlite3 | SQLiteを使用する場合は必要です。Zabbixプロキシのみ必要です。 | |
| libOpenIPMI | No | 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以降) バージョン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 |
エージェント
| 要件 | 必須ステータス | 説明 |
|---|---|---|
| libpcre2 | Yes | Perl互換正規表現(PCRE)のサポートには、PCRE/PCRE2ライブラリが必要です。 PCRE2 v10.xがサポートされています。 ログの監視に必要です。Windowsでも必要です。 |
| libpthread | ミューテックスおよび読み書きロックのサポートに必要です(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+ - NVIDIA GPU - Example plugin |
| libpcre2 | はい | Perl Compatible Regular Expression (PCRE) をサポートするために、PCRE2ライブラリが必要です。 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イベントにつき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接続には明示的なファイアウォール設定は必要ありません。