メモリ
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 |
IBM AIX | x | x | - |
FreeBSD | x | x | - |
NetBSD | x | x | - |
OpenBSD | x | x | - |
HP-UX | x | x | - |
Mac OS X | x | x | - |
Solaris | x | x | - |
Windows | - | x | x |
Zabbixサーバー/エージェントは他のUnix系OSでも動作する可能性があります。
ZabbixエージェントはWindows XP以降の全てのWindowsデスクトップとサーバーのOSバージョンでサポートされています。
Zabbixエージェント2の重大なセキュリティ脆弱性を防ぐために、サポートされているGoリリースのみでコンパイルされています。Go 1.21では、Windowsバージョンの最小要件が引き上げられています。したがって、Zabbix 6.0.27以降、Zabbixエージェント2におけるWindowsバージョンの最小要件はWindows 10/Server 2016です。
Zabbixは、暗号化してコンパイルされている場合はコアダンプを無効にし、システムがコアダンプの無効化を許可していない場合は起動しません。
Zabbixは最新のWebサーバー、主要なデータベースエンジン、およびPHPスクリプト言語を組み合わせて動作します。
必須ステータスと記載されているソフトウェア/ライブラリは常に必要です。 オプションのものは、特定の機能をサポートするのに必要です。
ソフトウェア | 必須ステータス | サポートされているバージョン | コメント |
---|---|---|---|
MySQL/Percona | どれか一つ | 8.0.30-9.0.X | MySQL(またはPercona)をZabbixバックエンドデータベースとして使用する場合に必要です。InnoDBエンジンが必要です。 MySQLのサポートバージョンの追加: - 8.1 - Zabbix 6.0.21から - 8.2 - Zabbix 6.0.26から - 8.3 - Zabbix 6.0.27から - 8.4 - Zabbix 6.0.32から - 9.0 - Zabbix 6.0.33から サーバー/プロキシの構築にはC API (libmysqlclient)ライブラリを使用することをお勧めします。 MySQLバージョン8.0.0-8.0.28については、既知の問題(デッドロックの可能性)を参照してください。 |
MariaDB | 10.5.00-11.4.X | InnoDBエンジンが必要です。 バージョンは10.5をお勧めします。 サーバー/プロキシの構築にはMariaDB Connector/Cライブラリを使用することをお勧めします。 MariaDBのサポートバージョンの追加: - 10.7.X - Zabbix 6.0.6から - 10.8.X - Zabbix 6.0.7から - 10.9.X、10.10.X - Zabbix 6.0.13から - 10.11.X - Zabbix 6.0.15から - 11.0.X - Zabbix 6.0.21から - 11.1.X - Zabbix 6.0.23から - 11.2.X - Zabbix 6.0.27から - 11.3.X - Zabbix 6.0.29から - 11.4.X - Zabbix 6.0.32から 参照: 既知の問題(デッドロックの可能性) |
|
Oracle | 19c - 21c | OracleをZabbixバックエンドデータベースとして使用する場合に必要です。 | |
PostgreSQL | 13.0-16.X | PostgreSQLをZabbixバックエンドデータベースとして使用する場合に必要です。 インストールサイズに応じて、PostgreSQLのwork_memの構成プロパティを増やす必要があるかもしれません(デフォルト値は4MB)。これにより、データベースが特定の操作に使用するメモリの量が十分になり、クエリの実行に時間がかかりすぎなくなります。 PostgreSQLのサポートバージョンの追加: - 15.X - Zabbix 6.0.10から - 16.X - Zabbix 6.0.23から |
|
TimescaleDB for PostgreSQL | 2.1.0-2.15.X | TimescaleDBをPostgreSQL データベース拡張機能として使用する場合に必要です。 圧縮をサポートするTimescaleDB Community Editionを必ずインストールしてください。 PostgreSQL 15はTimescaleDB 2.10以降でサポートされていることに注意してください。 PostgreSQLとTimescaleDBのバージョンの互換性に関する詳細については、Timescaleドキュメントを参照することもできます。 TimescaleDBのサポートバージョンの追加: - 2.6 - Zabbix 6.0.7から - 2.7 - Zabbix 6.0.8から - 2.8 - Zabbix 6.0.10から - 2.9 - Zabbix 6.0.13から - 2.10 - Zabbix 6.0.15から - 2.11 - Zabbix 6.0.19から - 2.12 - Zabbix 6.0.24から - 2.13 - Zabbix 6.0.25から - 2.14 - Zabbix 6.0.28から - 2.15 - Zabbix 6.0.32から |
|
SQLite | Optional | 3.3.5-3.34.X | SQLiteはZabbixプロキシでのみサポートされています。SQLiteをZabbixプロキシデータベースとして使用する場合に必要です。 |
smartmontools | 7.1以降 | Zabbixエージェント2に必要です。 | |
who | ユーザーカウントプラグインに必要です。 | ||
dpkg | system.sw.packagesプラグインに必要です。 | ||
pkgtool | system.sw.packagesプラグインに必要です。 | ||
rpm | system.sw.packagesプラグインに必要です。 | ||
pacman | system.sw.packagesプラグインに必要です。 |
Zabbixはオペレーティングシステムで利用可能なデータベースで動作しますが、最高のエクスペリエンスを得るには、公式のデータベース開発者リポジトリからインストールされたデータベースを使用することをお勧めします。
ZabbixのWebインターフェースでサポートされる最小画面幅は 1200px です。
必須要件は常に必要です。 特定の機能をサポートするには、オプションの要件が必要です。
ソフトウェア | 必須ステータス | バージョン | コメント |
---|---|---|---|
Apache | どれか一つ | 2.4以降 | |
Nginx | 1.20以降 | ||
PHP | Yes | 7.2.5 以降、8.0-8.3 | PHP 7.4以降の使用を推奨します。 PHPのサポートバージョンの追加: - 8.0 and 8.1 since Zabbix 6.0.6; - 8.2 since Zabbix 6.0.14; - 8.3 since Zabbix 6.0.26. |
PHP extensions: | |||
gd | Yes | 2.0.28以降 | PHP GD拡張機能は、PNG画像 (--with-png-dir)、JPEG画像 (--with-jpeg-dir)、および FreeType 2 (--with-freetype-dir) をサポートする必要があります。 Webインターフェースで選択した言語によっては、グラフ内でテキストが重なるのを避けるために、バージョン2.3.0以降が必要になります。 |
bcmath | php-bcmath (--enable-bcmath) | ||
ctype | php-ctype (--enable-ctype) | ||
libXML | 2.6.15以降 | ディストリビュータによって個別のパッケージとして提供されている場合は、php-xml | |
xmlreader | ディストリビュータによって個別のパッケージとして提供されている場合は、php-xmlreader | ||
xmlwriter | ディストリビュータによって個別のパッケージとして提供されている場合は、php-xmlwriter | ||
session | ディストリビュータによって個別のパッケージとして提供されている場合は、php-session | ||
sockets | php-net-socket (--enable-sockets)。 ユーザースクリプトのサポートに必要です。 | ||
mbstring | php-mbstring (--enable-mbstring) | ||
gettext | php-gettext (--with-gettext)。 翻訳機能のために必要です。 | ||
ldap | No | php-ldap。WebインターフェースでLDAP認証が使用されている場合にのみ必要です。 | |
openssl | php-openssl。WebインターフェースでSAML認証が使用されている場合にのみ必要です。 | ||
mysqli | MySQLをZabbixバックエンドデータベースとして使用する場合に必要です。 | ||
oci8 | OracleをZabbixバックエンドデータベースとして使用する場合に必要です。 | ||
pgsql | PostgreSQLをZabbixバックエンドデータベースとして使用する場合に必要です。 |
Zabbixで提供されるサードパーティのWebインターフェースライブラリ:
ライブラリ | 必須ステータス | 最小バージョン | コメント |
---|---|---|---|
jQuery JavaScript Library | Yes | 3.6.0 | クロスブラウザ開発のプロセスを簡素化するJavaScriptライブラリ |
jQuery UI | 1.12.1 | jQuery上に構築された一連のユーザーインターフェイスインタラクション、エフェクト、ウィジェット、およびテーマ。 | |
OneLogin's SAML PHP Toolkit | 3.4.1 | ZabbixにサインインできるようにするためのSAML 2.0認証サポートを追加する PHP ツールキット。 | |
Symfony Yaml Component | 5.1.0 | YAML形式で Zabbix構成要素をエクスポートおよびインポートするためのサポートを追加。 |
Zabbixは、以前のバージョンのApache、MySQL、Oracle、およびPostgreSQLでも動作する可能性があります。
デフォルトのDejaVu以外のフォントの場合、PHP関数 imagerotate が必要になる場合があります。不足している場合、グラフが表示されたときにこれらのフォントが正しくレンダリングされない可能性があります。 この関数は、PHPがバンドルされたGDでコンパイルされている場合にのみ使用できます。これは、Debianやその他のディストリビューションには当てはまりません。
ZabbixのWebインターフェースのコード作成とデバッグに使用されるサードパーティライブラリ:
ライブラリ | 必須ステータス | 最小バージョン | 説明 |
---|---|---|---|
Composer | No | 2.4.1 | PHPソフトウェアと必要なライブラリの依存関係を管理するための標準形式を提供する、PHP用アプリケーションレベルパッケージマネージャー。 |
PHPUnit | 8.5.29 | ZabbixのWebインターフェースをテストするためのPHP単体テストフレームワーク。 | |
SASS | 3.4.22 | カスケーディングスタイルシート (CSS) にコンパイルされるプリプロセッサスクリプト言語。 |
CookieとJavaScriptを有効にする必要があります。
Google Chrome、Mozilla Firefox、Microsoft Edge、Apple Safari、Operaの最新安定バージョンに対応しています。
IFrameのsame-originポリシーが実装されました。
つまり、Zabbixを別ドメインのフレームに配置することはできません。
それでも、フレームに配置されたページとZabbixのWebインターフェースが同じドメインにある場合、Zabbixフレームに配置されたページは(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 (Zabbix 6.0.0以降) がサポートされています。 |
libevent | Yes | 一括メトリック サポートとIPMI監視に必要です。バージョン 1.4 以降。 |
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 or libssh | SSHチェックに必要です。 バージョン1.0以降 (libssh2)、0.6.0以降 (libssh)。 libsshはZabbix 4.4.6以降でサポートされています。 |
|
libcurl | Web監視、VMware監視、SMTP認証、Zabbixエージェントのアイテムであるweb.page.* 、HTTPエージェントアイテム、Elasticsearch (使用する場合) に必要です。 バージョン 7.28.0以降を推奨します。Libcurl のバージョン要件: - SMTP 認証: バージョン 7.20.0 以降 - Elasticsearch: バージョン 7.28.0 以降 |
|
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 itemsに必要です。 |
要件 | 必須ステータス | 説明 |
---|---|---|
libpcre/libpcre2 | どれか一つ | Perl 互換正規表現(PCRE)のサポートには、PCRE/PCRE2ライブラリが必要です。 'libpcre3'や'libpcre1'など、GNU/Linuxディストリビューションによって名前が異なる場合があります。PCRE v8.x および PCRE2 v10.x (Zabbix 6.0.0 以降) がサポートされています。 ログの監視に必要です。Windowsでも必要です。 |
libpthread | Yes | ミューテックスおよび読み書きロックのサポートに必要です (libc の一部である可能性があります)。 Windowsでは不要です。 |
libresolv | DNS 解決に必要です (libc の一部である可能性があります)。 Windowsでは不要です。 | |
libiconv | ログ アイテム、ファイル コンテンツ、ファイル regex および regmatch アイテム (libc の一部である可能性があります) での UTF-8 へのテキストエンコーディング/フォーマット変換に必要です。 Windows では不要です。 | |
libgnutls or libopenssl | No | 暗号化 を使用する場合に必要です。 最小バージョン: libgnutls - 3.1.18、libopenssl - 1.0.1 Microsoft Windowsでは OpenSSL 1.1.1 以降が必要です。 |
libldap | LDAPを使用する場合は必須です。Windowsではサポートされていません。 | |
libcurl | web.page.*という Zabbixエージェントのアイテムに必要です。Windowsではサポートされていません。バージョン7.28.0以降を推奨します。 |
|
libmodbus | Modbusモニタリングを使用する場合にのみ必要です。 バージョン3.0以降。 |
バージョン5.0.3以降のZabbixエージェントは、バージョン 6.1 TL07 / AIX 7.1 TL01 より前のAIXプラットフォームでは動作しません。
要件 | 必須ステータス | 説明 |
---|---|---|
libpcre/libpcre2 | どちらか一つ | Perl 互換正規表現 (PCRE) のサポートには PCRE/PCRE2ライブラリが必要です。 名前は'libpcre3'または'libpcre1'など、GNU/Linux ディストリビューションによって異なる場合があります。PCRE v8.x および PCRE2 v10.x (Zabbix 6.0.0 以降) がサポートされています。 ログ監視に必要です。Windowsでも必要です。 |
libopenssl | No | 暗号化を使用する場合に必要です。 UNIX プラットフォームでは OpenSSL 1.0.1以降が必要です。 OpenSSLライブラリではPSK サポートが有効になっている必要があります。LibreSSLはサポートされていません。 Microsoft Windowsシステムでは、OpenSSL 1.1.1 以降が必要です。 |
Golang ライブラリ
要件 | 必須ステータス | 最小バージョン | 説明 |
---|---|---|---|
git.zabbix.com/ap/plugin-support | Yes | 1.X.X | Zabbix独自のサポートライブラリ。 主にプラグイン用です。 |
github.com/BurntSushi/locker | 0.0.0 | 名前付き読み取り/書き込みロック、アクセス同期。 | |
github.com/chromedp/cdproto | 0.0.0 | Chrome DevToolsプロトコルドメイン用に生成されたコマンド、タイプ、およびイベント。 | |
github.com/chromedp/chromedp | 0.6.0 | Chrome DevToolsプロトコルのサポート (レポート生成)。 | |
github.com/dustin/gomemcached | 0.0.0 | go用のmemcachedバイナリプロトコルツールキット。 | |
github.com/eclipse/paho.mqtt.golang | 1.2.0 | MQTT接続を処理するためのライブラリ。 | |
github.com/fsnotify/fsnotify | 1.4.9 | Goのクロスプラットフォームファイルシステム通知。 | |
github.com/go-ldap/ldap | 3.0.3 | GOプログラミング言語の基本的なLDAP v3機能。 | |
github.com/go-ole/go-ole | 1.2.4 | Golang の Win32 ole 実装。 | |
github.com/godbus/dbus | 4.1.0 | D-Bus のネイティブ Go バインディング。 | |
github.com/go-sql-driver/mysql | 1.5.0 | MySQLドライバ。 | |
github.com/godror/godror | 0.20.1 | Oracle DB ドライバ。 | |
github.com/mattn/go-sqlite3 | 2.0.3 | Sqlite3 ドライバ 。 | |
github.com/mediocregopher/radix/v3 | 3.5.0 | Redisクライアント。 | |
github.com/memcachier/mc/v3 | 3.0.1 | バイナリ Memcached クライアント。 | |
github.com/miekg/dns | 1.1.43 | DNS ライブラリ。 | |
github.com/omeid/go-yarn | 0.0.1 | 埋め込み可能なファイルシステムにマッピングされたキー文字列ストア。 | |
github.com/goburrow/modbus | 0.1.0 | Modbus のフォールト トレラントな実装。 | |
golang.org/x/sys | 0.0.0 | オペレーティング システムとの低レベルの対話用の Go パッケージ。 プラグインサポートライブラリでも使用されます。 MongoDBとPostgreSQLプラグインで使用されます。 |
|
github.com/Microsoft/go-winio | On Windows. Yes, indirect1 |
0.6.0 | Windows の名前付きパイプの実装。 プラグインサポートライブラリでも使用されます。MongoDBとPostgreSQLプラグインで使用されます。 |
github.com/goburrow/serial | Yes, indirect1 | 0.1.0 | Modbus 用のシリアルライブラリ。 |
golang.org/x/xerrors | 0.0.0 | エラーを操作する関数。 | |
gopkg.in/asn1-ber.v1 | 1.0.0 | ASN1 BER のエンコード/デコード ライブラリ。 | |
github.com/go-stack/stack | No, indirect1 | 1.8.0 | |
github.com/golang/snappy | 0.0.1 | ||
github.com/klauspost/compress | 1.13.6 | ||
github.com/xdg-go/pbkdf2 | 1.0.0 | ||
github.com/xdg-go/scram | 1.0.2 | ||
github.com/xdg-go/stringprep | 1.0.2 | ||
github.com/youmark/pkcs8 | 0.0.0 |
1 "indirect"は、エージェントが使用するライブラリの 1 つで使用されることを意味します。 Zabbixはパッケージを使用するライブラリを使用するため必要です。
ロード可能なプラグインの依存関係も参照してください:
ソース リポジトリまたはアーカイブから Zabbix を取得した場合、必要な依存関係は既にソース ツリーに含まれています。
ディストリビューションのパッケージから Zabbix を取得した場合、必要な依存関係はパッケージング システムによって既に提供されています。
上記のどちらの場合でも、ソフトウェアを使用する準備ができており、追加のダウンロードは必要ありません。
ただし、これらの依存関係のバージョンを提供したい場合 (たとえば、一部の Linux ディストリビューション用のパッケージを準備している場合)、Java ゲートウェイが動作することがわかっているライブラリ バージョンのリストを以下に示します。 Zabbix は、これらのライブラリの他のバージョンでも動作する場合があります。
次の表に、元のコードで現在 Java ゲートウェイにバンドルされている JAR ファイルを示します。
ライブラリ | 必須ステータス | コメント |
---|---|---|
android-json | Yes | Version 4.3r1 以降 JSON (JavaScript Object Notation) の軽量データ交換フォーマットです。 これは、Android SDK から抽出された org.json 互換の Android 実装です。 |
logback-classic | Version 1.2.9 以降 | |
logback-core | Version 1.2.9 以降 | |
slf4j-api | Version 1.7.32 以降 |
Java ゲートウェイは、Oracle Java またはオープンソースの OpenJDK (バージョン 1.6 以降) を使用して構築できます。 Zabbix が提供するパッケージは、OpenJDK を使用してコンパイルされます。 以下の表は、Zabbix パッケージのビルドに使用される OpenJDK のバージョンに関する情報をディストリビューションごとに示しています。
ディストリビューション | OpenJDK バージョン |
---|---|
RHEL 8 | 1.8.0 |
RHEL 7 | 1.8.0 |
SLES 15 | 11.0.4 |
SLES 12 | 1.8.0 |
Debian 10 | 11.0.8 |
Ubuntu 20.04 | 11.0.8 |
Ubuntu 18.04 | 11.0.8 |
次のリストは各コンポーネントのデフォルトポート番号です。
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データベースのサイズは、主に保存されるヒストリデータの量に関する以下の数量によって決まります。
Zabbixサーバが1秒間に受信する新しい値の平均数です。 例えば、監視対象アイテムが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千万個の値を保存するためには、約1億3千万個×90バイト=10.9GBのディスク容量が必要ということです。
テキスト/ログアイテムの値のサイズを正確に予測することはできませんが、1つの値につき500バイト程度を見込んでおくとよいでしょう。
Zabbixは各項目の1時間の最大/最小/平均/カウントのセットをテーブルtrendsに保持します。 このデータはトレンド解析や長周期グラフに使用されます。この1時間の期間は変更できません。
Zabbixデータベースは、データベースの種類にもよりますが、それぞれの集計値につき約90バイトの容量が必要です。
例えばトレンドデータを5年分保存する場合、3000アイテムの値には、 1年あたり3000×24×365×90 = 2.2GB が必要で、5年間では11GBとなります。
Zabbixの各イベントは約250バイトのディスクスペースを必要とします1。
Zabbixが毎日生成するイベント数を見積もることは困難です。 最悪のケースでは、Zabbixは1秒間に1つのイベントを生成すると仮定することができます。 回復したイベントごとにevent_recovery
レコードが作成されます。 通常ほとんどのイベントは回復されるので、1つのイベントにつき1つのevent_recovery
レコードを想定します。 つまり、1イベントあたり80バイトのレコードが追加されます。
オプションとして、イベントにはタグを付けることができ、各タグレコードは約100バイトのディスクスペースを必要とします1。 1イベントあたりのタグの数(#tags)は設定によります。
そのため、1つのタグ(#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 : 単一の値を保持するために必要なバイト数,。データベースエンジンによって変わり、通常、~90 bytes。 |
トレンド | days×(items/3600)×24×3600×bytes items : アイテムの数 days : ヒストリ保存日数 bytes : 単一のトレンドを保持するために必要なバイト数。データベースエンジンによって変わり、通常、~90 bytes。 |
イベント | days×events×24×3600×bytes events : 1秒あたりのイベントの数。最悪の場合のシナリオでは、1秒あたり1つのイベント。 days : ヒストリ保存日数 bytes : 単一のトレンドを保持するために必要なバイト数。データベースエンジンによって変わり、通常、~330 + イベント1つあたりのタグの平均数 × 100 bytes. |
そのため、必要なディスク容量の合計は次のように計算されます:
設定 + ヒストリ + トレンド + イベント
算出したディスク容量は、Zabbixをインストールした直後から必要となるわけではありません。 データベースサイズは最初は増え続けますが、ある時点で一定の値を維持するようになります。 どの時点で一定になるかは、Housekeeperの設定に依存します。
Zabbixが動作しているサーバで正確なシステム時刻を得ることは非常に重要です。 ntpdはホストの時刻を他のマシンの時刻と同期させる最も有名なデーモンです。 Zabbixのコンポーネントが動作している全てのシステムで時刻を同期させることを強く推奨します。