メモリ
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 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 | いずれか | 8.4.0-9.5.X | MySQL (または Percona) を Zabbix のバックエンドデータベースとして使用する場合に必要です。InnoDB エンジンが必要です。 サーバー/プロキシのビルドには C API (libmysqlclient) ライブラリの使用を推奨します。 |
| MariaDB | 10.11.00-12.0.X | InnoDB エンジンが必要です。 推奨バージョンは 11.4 です。 サーバー/プロキシのビルドには MariaDB Connector/C ライブラリの使用を推奨します。 また、MariaDB でのデッドロックの可能性 および MariaDB 10.5.1–10.5.9 での UI 要素へのアクセス も参照してください。 |
|
| PostgreSQL | 15.0-18.X | PostgreSQL を Zabbix のバックエンドデータベースとして使用する場合に必要です。 インストール規模によっては、特定の操作でデータベースが使用するメモリ量が十分であり、クエリの実行に時間がかかりすぎないように、PostgreSQL の work_mem 設定プロパティ (デフォルト値は 4MB) を増やす必要がある場合があります。 |
|
| PostgreSQL 用 TimescaleDB | 2.20.X-2.23.X | TimescaleDB を PostgreSQL データベース拡張として使用する場合に必要です。圧縮をサポートする TimescaleDB Community Edition をインストールしてください。 PostgreSQL 15 は TimescaleDB 2.10 以降でサポートされています。 PostgreSQL と TimescaleDB のバージョン互換性の詳細については、TimescaleDB ドキュメント も参照してください。 |
|
| SQLite | オプション | 3.3.5-3.34.X | SQLite は Zabbix プロキシでのみサポートされています。Zabbix プロキシデータベースとして SQLite を使用する場合に必要です。 |
| smartmontools | 7.1 以降 | Zabbix agent 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 はオペレーティングシステムで利用可能なデータベースでも動作しますが、最良の体験のために、公式のデータベース開発者リポジトリからインストールされたデータベースの使用を推奨します。
Zabbixフロントエンドの最小サポート画面幅は1200pxです。
必須と記載されている場合、必要なソフトウェア/ライブラリは厳密に必要です。 オプションのものは、特定の機能をサポートするために必要です。
| ソフトウェア | 必須ステータス | サポートバージョン | コメント |
|---|---|---|---|
| PHP | はい | 8.0.0 - 8.4.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)をサポートしている必要があります。バージョン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に同梱されているサードパーティ製フロントエンドライブラリ:
| ライブラリ | 必須ステータス | 最小バージョン | コメント |
|---|---|---|---|
| jQuery JavaScript Library | はい | 3.6.0 | クロスブラウザ開発を簡素化するJavaScriptライブラリ。 |
| jQuery UI | 1.12.1 | jQuery上に構築されたユーザーインターフェースのインタラクション、エフェクト、ウィジェット、テーマのセット。 | |
| SAML PHP Toolkit | 4.0.0 | Zabbixへのサインインを可能にするSAML 2.0認証サポートを追加するPHPツールキット。 | |
| Symfony Yaml Component | 5.1.0 | Zabbix設定要素のYAML形式でのエクスポートおよびインポートをサポートします。 |
Zabbixは、以前のバージョンのApache、MySQL、PostgreSQLでも動作する場合があります。
デフォルトのDejaVu以外のフォントを使用する場合、PHP関数imagerotateが必要になる場合があります。 この関数がない場合、グラフ表示時にこれらのフォントが正しく表示されないことがあります。 この関数は、PHPがバンドルされたGDでコンパイルされている場合のみ利用可能であり、Debianや他のディストリビューションではそうではありません。
Zabbixフロントエンドコードの作成およびデバッグに使用されるサードパーティ製ライブラリ:
| ライブラリ | 必須ステータス | 最小バージョン | 説明 |
|---|---|---|---|
| Composer | いいえ | 2.4.1 | PHPの依存関係および必要なライブラリを管理するための標準フォーマットを提供する、PHP用のアプリケーションレベルのパッケージマネージャ。 |
| PHPUnit | 8.5.29 | Zabbixフロントエンドのテスト用PHPユニットテストフレームワーク。 | |
| SASS | 3.4.22 | カスケーディングスタイルシート(CSS)に解釈およびコンパイルされるプリプロセッサスクリプト言語。 |
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 Compatible Regular Expression(PCRE)サポートにPCRE2ライブラリが必要です。 PCRE2 v10.xがサポートされています。 |
| libevent | プロセス間通信に必要です。バージョン2.0.10以上。 | |
| libevent-pthreads | プロセス間通信に必要です。 | |
| libpthread | ミューテックスおよびリード/ライトロックサポートに必要です(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以上;フロントエンドの要件も参照); - 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 | はい | Perl Compatible Regular Expression (PCRE) サポートにPCRE2ライブラリが必要です。 PCRE2 v10.xがサポートされています。 ログ監視に必要です。Windowsでも必要です。 |
| libpthread | ミューテックスおよびリード/ライトロックのサポートに必要です(libcの一部である場合があります)。Windowsでは不要です。 | |
| libresolv | DNS解決に必要です(libcの一部である場合があります)。Windowsでは不要です。 | |
| libiconv | ログアイテム、ファイル内容、ファイル正規表現およびregmatchアイテムでUTF-8へのテキストエンコーディング/フォーマット変換に必要です(libcの一部である場合があります)。Windowsでは不要です。 | |
| libgnutls または libopenssl | いいえ | 暗号化を使用する場合に必要です。 最小バージョン: 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以上。 |
| 要件 | 必須ステータス | 説明 |
|---|---|---|
| Go | はい | Zabbix agent 2およびそのプラグインをソースからビルドするために必要です。 Go 1.24.10以降がサポートされています。インストール手順についてはgo.devを参照してください。 Zabbix agent 2およびそのプラグインで使用されるGoライブラリは、Zabbix Gitリポジトリにリストされています(リポジトリで indirectとマークされているライブラリは、他の必要なライブラリの依存関係です):- Zabbix agent 2 - プラグインサポート - PostgreSQL - MongoDB - MSSQL - Ember+ - NVIDIA GPU - サンプルプラグイン |
| 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以降が必要です。 |
Zabbix Webサービスを使用して定期レポートを生成するのに、Google Chromeの最新の安定バージョンがサポートされています。
Webサービスの構築に必要なGoのバージョンは、Zabbixエージェント2で使用されているバージョンと同じです。
Zabbixをソースリポジトリまたはアーカイブから取得した場合、必要な依存関係はすでにソースツリーに含まれています。
Zabbixをディストリビューションのパッケージから取得した場合、必要な依存関係はパッケージングシステムによってすでに提供されています。
上記のいずれの場合も、ソフトウェアはすぐに使用でき、追加のダウンロードは必要ありません。
ただし、これらの依存関係の独自バージョンを提供したい場合(たとえば、Linuxディストリビューション用のパッケージを準備している場合)、Javaゲートウェイが動作することが確認されているライブラリバージョンのリストを以下に示します。 Zabbixは、これらのライブラリの他のバージョンでも動作する可能性があります。
次の表は、オリジナルコードのJavaゲートウェイに現在バンドルされているJARファイルを示しています。
| ライブラリ | 必須ステータス | 最小バージョン | コメント |
|---|---|---|---|
| android-json | Yes | 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パッケージを示しています。
| ディストリビューション | OpenJDKパッケージ |
|---|---|
| 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 agent 2 | 10050 | TCP | オンデマンド |
| Zabbixサーバー | 10051 | TCP | オンデマンド |
| Zabbixプロキシ | 10051 | TCP | オンデマンド |
| Zabbix Javaゲートウェイ | 10052 | TCP | オンデマンド |
| Zabbixウェブサービス | 10053 | TCP | オンデマンド |
| Zabbixフロントエンド | 80 | HTTP | オンデマンド |
| 443 | HTTPS | オンデマンド | |
| Zabbixトラッパー | 10051 | TCP | オンデマンド |
Zabbixの通信を有効にするためには、これらのポート番号をファイアウォールで開放する必要があります。 通常、発信側のTCP接続には明示的なファイアウォール設定は不要です。
Zabbixの設定データは固定量のディスク容量を必要とし、あまり増加しません。
Zabbixデータベースのサイズは、主に保存される履歴データの量を定義する以下の変数に依存します。
これは、Zabbixサーバーが毎秒受信する新しい値の平均数です。 例えば、監視するアイテムが3000個あり、更新間隔が60秒の場合、1秒あたりの値の数は3000/60 = 50となります。
つまり、毎秒50個の新しい値がZabbixデータベースに追加されることになります。
Zabbixは値を一定期間(通常は数週間または数ヶ月)保持します。 各新しい値には、データとインデックスのために一定量のディスク容量が必要です。
したがって、30日分の履歴を保持し、1秒あたり50個の値を受信する場合、値の総数は(30*24*3600)* 50 = 129,600,000、つまり約1億3千万個となります。
使用するデータベースエンジンや受信する値の種類(浮動小数点、整数、文字列、ログファイルなど)によって、1つの値を保持するために必要なディスク容量は40バイトから数百バイトまで異なります。 通常、数値アイテムの場合は1値あたり約90バイトです2。 この場合、1億3千万個の値を保持するには130M * 90バイト = 10.9GBのディスク容量が必要です。
テキスト/ログアイテムの値のサイズは正確に予測することはできませんが、1値あたり約500バイトと見込んでください。
Zabbixは、各アイテムについて1時間ごとの最大/最小/平均/カウント値のセットをtrendsテーブルに保持します。 このデータはトレンド分析や長期間のグラフに使用されます。 1時間の期間はカスタマイズできません。
Zabbixデータベースは、データベースの種類によって異なりますが、各合計値ごとに約90バイト必要です。 トレンドデータを5年間保持したいと仮定します。 3000アイテムの値は、3000*24*365* 90 = 2.2GB/年、5年間で11GB必要です。
各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システムに必要なディスク容量を計算するための式を示しています。
| パラメータ | 必要なディスク容量の計算式(バイト単位) |
|---|---|
| Zabbix設定 | 固定サイズ。通常は10MB以下。 |
| 履歴 | days*(items/refresh rate)*24*3600*bytes items : アイテム数 days : 履歴を保持する日数 refresh rate : アイテムの平均更新間隔 bytes : 1値を保持するために必要なバイト数。データベースエンジンによって異なるが、通常は~90バイト。 |
| トレンド | days*(items/3600)*24*3600*bytes items : アイテム数 days : 履歴を保持する日数 bytes : 1トレンドを保持するために必要なバイト数。データベースエンジンによって異なるが、通常は~90バイト。 |
| イベント | days*events*24*3600*bytes events : 1秒あたりのイベント数。最悪の場合は1秒あたり1イベント。 days : 履歴を保持する日数 bytes : 1イベントを保持するために必要なバイト数。データベースエンジンによって異なるが、通常は~330 + イベントごとの平均タグ数*100バイト。 |
したがって、必要なディスク容量の合計は次のように計算できます。
設定 + 履歴 + トレンド + イベント
ディスク容量はZabbixインストール直後にすぐに使用されるわけではありません。 データベースサイズは増加し、ハウスキーパー設定に応じてある時点で増加が止まります。
Zabbixが稼働しているサーバーで正確なシステム時刻を持つことは非常に重要です。 ntpdは、ホストの時刻を他のマシンの時刻と同期させる最も一般的なデーモンです。 Zabbixコンポーネントが稼働しているすべてのシステムで、システム時刻を同期させておくことを強く推奨します。
各コンポーネントごとに開放する必要があるポートの一覧です(デフォルト設定の場合)。
| コンポーネント | ポート |
|---|---|
| フロントエンド | http:80, https:443 |
| サーバー | 10051 (アクティブプロキシ/エージェントで使用) |
| アクティブプロキシ | 10051 |
| パッシブプロキシ | 10051 |
| エージェント2 | 10050 |
| トラッパー | |
| JavaGateway | 10052 |
| WebService | 10053 |
Zabbixと外部通信を行うためには、これらのポート番号をファイアウォールで開放する必要があります。 通常、外向きのTCP接続には明示的なファイアウォール設定は不要です。