要件
ハードウェア要件
メモリ
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スクリプト言語を中心に構築されています。
サードパーティの外部周辺ソフトウェア
必須と明記されている場合、必要なソフトウェア/ライブラリは厳密に必須です。
オプションのものは、特定の機能をサポートするために必要です。
| Software | Mandatory status | Supported versions | Comments |
|---|---|---|---|
| MySQL/Percona | One of | 8.4.0-9.7.X | Zabbix のバックエンドデータベースとして MySQL (または Percona) を使用する場合に必要です。InnoDB エンジンが必要です。 サーバー/プロキシのビルドには C API (libmysqlclient) ライブラリの使用を推奨します。 |
| MariaDB | 10.11.00-12.3.X | InnoDB エンジンが必要です。 推奨バージョンは 12.3 です。 サーバー/プロキシのビルドには MariaDB Connector/C ライブラリの使用を推奨します。 関連情報: MariaDB で発生する可能性のあるデッドロック および MariaDB 10.5.1-10.5.9 での UI 要素へのアクセス。 |
|
| PostgreSQL | 15.0-18.X | Zabbix のバックエンドデータベースとして PostgreSQL を使用する場合に必要です。 インストール規模によっては、PostgreSQL の work_mem 設定プロパティー(デフォルト値は 4MB)を増やす必要がある場合があります。これにより、特定の操作でデータベースが使用するメモリー量を十分に確保でき、クエリの実行に時間がかかりすぎるのを防げます。 |
|
| TimescaleDB for PostgreSQL | 2.20.X-2.28.X | PostgreSQL のデータベース拡張として TimescaleDB を使用する場合に必要です。圧縮をサポートする TimescaleDB Community Edition をインストールしてください。 PostgreSQL と TimescaleDB のバージョン互換性の詳細は、TimescaleDB のドキュメント を参照してください。 |
|
| Elasticsearch | 7.X | Zabbix のバックエンドデータベースとして Elasticsearch を使用する場合に必要です。 Elasticsearch は履歴データの保存にのみ使用でき、Zabbix サーバーでのみサポートされます。Elasticsearch のサポートは現在実験的です。関連する必要ソフトウェアについては server/proxy も参照してください。 |
|
| ClickHouse | 25.8.22.X-26.4.X | Zabbix のバックエンドデータベースとして ClickHouse を使用する場合に必要です。 ClickHouse は履歴データの保存にのみ使用でき、Zabbix サーバーでのみサポートされます。 |
|
| SQLite | Optional | 3.3.5-3.53.X | SQLite は Zabbix プロキシでのみサポートされます。Zabbix プロキシデータベースとして SQLite を使用する場合に必要です。 |
| 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 | qlist と qsize は、q applets の一部として、Gentoo Linux の system.sw.packages プラグインに必要です。 |
Zabbix は OS に含まれるデータベースでも動作しますが、最適な利用体験のためには、各データベース開発元の公式リポジトリからインストールしたデータベースの使用を推奨します。
Webインターフェース
Zabbix Webインターフェースでサポートされる最小画面幅は1200pxです。
必須と記載されている場合、必要なソフトウェア/ライブラリは厳密に必要です。 オプションのものは、特定の機能をサポートするために必要です。
| Software | Mandatory status | Supported versions | Comments |
|---|---|---|---|
| PHP | Yes | 8.2.0 - 8.5.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ツールキットです。 | |
| Duo Universal PHP library | 1.1.2 | Zabbix向けにDuo Universal Prompt多要素認証サポートを追加するPHPライブラリです。 | |
| 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の同一生成元ポリシーが実装されているため、Zabbixを異なるドメインのフレームに配置することはできません。
ただし、Zabbixフレームに配置されたページは、フレームに配置されたページとZabbixフロントエンドが同じドメインにある場合、Zabbixフロントエンドに(JavaScriptを介して)アクセスできます。
http://secure-zabbix.com/cms/page.htmlのようなページをhttp://secure-zabbix.com/zabbix/のダッシュボードに配置すると、Zabbixへの完全なJSアクセスが可能になります。
サーバー/プロキシ
必須と記載されている場合、必要なソフトウェア/ライブラリは厳密に必要です。
任意のものは、特定の機能をサポートするために必要です。
| Requirement | Mandatory status | Description |
|---|---|---|
| libpcre2 | Yes | PCRE2 ライブラリは Perl Compatible Regular Expression (PCRE) のサポートに必要です。 PCRE2 v10.x がサポートされています。 |
| libevent | プロセス間通信に必要です。バージョン 2.0.10 以上。 | |
| libevent-pthreads | プロセス間通信に必要です。 | |
| libpthread | mutex および read-write lock のサポートに必要です (libc の一部である場合があります)。 | |
| libresolv | DNS 解決に必要です (libc の一部である場合があります)。 | |
| libiconv | テキストエンコーディング/形式変換に必要です (libc の一部である場合があります)。Linux 上の Zabbix サーバーでは必須です。 | |
| libz | 圧縮サポートに必要です。 | |
| libm | 数学ライブラリです。Zabbix サーバーでのみ必要です。 | |
| libmysqlclient | One of | MySQL を使用する場合に必要です。 |
| libmariadb | MariaDB を使用する場合に必要です。 | |
| libpq5 | PostgreSQL を使用する場合に必要です。libpq5 のバージョンは、使用する PostgreSQL データベースのバージョンと一致しているか、それ以上である必要があります。 | |
| libsqlite3 | SQLite を使用する場合に必要です。Zabbix プロキシでのみ必要です。 | |
| libOpenIPMI | No | IPMI サポートに必要です。Zabbix サーバーでのみ必要です。 |
| libssh2 or libssh | SSH チェック に必要です。バージョン 1.8.0 以上 (libssh2)、0.9.0 以上 (libssh)。 | |
| libcurl | 以下の機能に必要です: - Web監視、VMware監視、および HTTP agent アイテム (すべてバージョン 7.19.1 以上); - Zabbix エージェントの web.page.* アイテム (バージョン 7.19.1 以上; エージェント の要件も参照); - SMTP 認証 (Basic: バージョン 7.20.0 以上; OAuth: バージョン 7.33 以上; frontend の要件も参照); - 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 or 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 クエリのキャッシュおよびフェイルオーバー機能 (query cache はデフォルトで有効) には c-ares 1.26.0 以降が必要です。OS パッケージで c-ares が提供されるシステムでは、インストールされているランタイムライブラリが DNS キャッシュおよびフェイルオーバーに必要な resolver 機能を公開していることを確認してください。 |
エージェント
| 要件 | 必須ステータス | 説明 |
|---|---|---|
| libpcre2 | はい | Perl Compatible Regular Expression (PCRE) のサポートにはPCRE2ライブラリが必要です。 PCRE2 v10.xをサポートしています。 ログ監視に必要です。Windowsでも必要です。 |
| libpthread | mutexおよびread-write lockのサポートに必要です(libcの一部である場合があります)。Windowsでは不要です。 | |
| libresolv | DNS名前解決に必要です(libcの一部である場合があります)。Windowsでは不要です。 | |
| libiconv | ログアイテム、file content、file regex、regmatchアイテムにおいて、テキストのエンコーディング/形式をUTF-8に変換するために必要です(libcの一部である場合があります)。Windowsでは不要です。 | |
| libgnutls or 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以上。 |
Agent 2
| 要件 | 必須ステータス | 説明 |
|---|---|---|
| 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以降が必要です。 |
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 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 のデータベースサイズは主に次の変数に依存し、これらが保存される履歴データ量を決定します。
- 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コンポーネントが稼働しているすべてのシステムで、システム時刻を同期させておくことを強く推奨します。
ネットワーク要件
各コンポーネントごとに開放する必要があるポートの一覧です(デフォルト設定の場合)。
| コンポーネント | ポート |
|---|---|
| フロントエンド | http:80, https:443 |
| サーバー | 10051 (アクティブプロキシ/エージェントで使用) |
| アクティブプロキシ | 10051 |
| パッシブプロキシ | 10051 |
| エージェント2 | 10050 |
| トラッパー | |
| JavaGateway | 10052 |
| WebService | 10053 |
Zabbixと外部通信を行うためには、これらのポート番号をファイアウォールで開放する必要があります。 通常、外向きのTCP接続には明示的なファイアウォール設定は不要です。