Zabbixには、十分な量の物理メモリとディスク容量が必要です。導入当初は、物理メモリ128MBとディスク空き容量256MBがあれば十分です。ただし、必要なディスク容量は、監視するホストとパラメータの数によって異なります。監視パラメータのヒストリを長期間保存することを計画している場合、データベースにヒストリを保存するための十分な容量として少なくとも2GBを確保することを検討する必要があります。Zabbixデーモンプロセスは、それぞれがデータベースサーバと複数の接続を確立して動作します。接続に割り当てられるメモリ容量は、データベースエンジンの設定によって異なります。 ::: noteclassic 物理メモリの容量を増やすほど、データベースは高速に動作し、その結果Zabbixも高速に動作します。 :::
Zabbix、特にZABBIXデータベースは、監視パラメータの数と使用するデータベースエンジンによって程度は異なりますが、CPUリソースを大量に消費します。
ZabbixのSMS通知機能を使用する場合、シリアルポートとシリアルGSMモデムが必要です。
以下の表に、様々なハードウェア設定の例を示します。
名前 プ | ットフォーム CPU/メモリ | データベース | 監視するホスト数 | |
---|---|---|---|---|
小規模 Ub | ntu Linux PI | 350MHz 256MB My | QL MyISAM 20 | |
中規模 Ub | ntu Linux 64ビット AMD A | hlon 3200+ 2GB MySQL | InnoDB 500 | |
大規模 Ub | ntu Linux 64ビット Intel | Dual Core 6400 4GB RAID1 | MySQL InnoDBまたはPostgreSQL >1000 | |
非常に大規模 RedHa | Enterprise Intel | Xeon 2xCPU 8GB Fast | AID10 MySQL InnoDBまたはPostgreSQL >1000 |
実際の設定は、アクティブなアイテムの数と更新速度によって大きく異なります。大規模システムでは、データベースを専用のマシンで動作させることを強くお奨めします。
監視サーバのセキュリティ要件とミッションクリティカルな性質を考慮した場合、必要とされるパフォーマンス、フォールトトレランス、および復旧のしやすさを安定して実現できるオペレーティングシステムはUNIXだけです。Zabbixは、市販されている主なバージョンのUNIXで動作します。
以下のプラットフォームで動作確認済みです。
上記以外のUNIXライクなオペレーティングシステムでも同様に動作可能です。
Zabbixは、最新のApacheウェブサーバ、主なデータベースエンジン、およびPHPスクリプト言語を組み合わせて動作します。
Zabbixが動作するには、以下のソフトウェアが必要です。
ソフトウェア バージョン | コメント | ||
---|---|---|---|
Apache | 1.3.12以降 | ||
PHP | 5.0以降 | ||
PHP modules: php-gd |
GD 2.0以降 P | P GDモジュールは、PNGイメージ対応である必要があります。 | |
PHP TryeTypeサポート | --w | th-ttf | |
PHP bcサポート | php | bcmath, --enable-bcmath | |
PHP XMLサポート | ディス | リビュータによってはphp-xmlまたはphp5-domが異なるパッケージとして提供されている場合があります。 | |
PHP socketサポート | php | net-socket, --enable-sockets. ユーザスクリプトをサポートするために必要です。 | |
PHP multibyteサポート | php | mbstring, --enable-mbstring | |
MySQL php-mysql |
3.22以降 M | SQLをZabbixのバックエンドデータベースとして使用する場合に必要です。 | |
Oracle php-oci8 |
OracleをZabbixのバックエンドデータベースとして使用する場合に必要です。 | ||
PostgreSQL php-pgsql |
7.0.2以降 P | stgreSQLをZabbixのバックエンドデータベースとして使用する場合に必要です。 VACUUMのパフォーマンスの改善].パフォーマンスを高める必要がある場合はPostgreSQL 8.x以降の使用を検討してください。 最低でも、PostgreSQL 8.3を使用することを推奨します。[[http://www.postgresql.org/docs/8.3/static/release-8-3.html |
|
SQLite php-sqlite3 |
3.3.5以降 S | LiteをZabbixのバックエンドデータベースとして使用する場合に必要です。 |
Zabbixは、Apache、MySQL、Oracle、およびPostgreSQLの古いバージョンでも動作可能です。
<note important>デフォルトのDejaVu以外のフォントを利用するためには、PHP関数imagerotateが必要です。imagerotateがない場合、[監視] → [概要]画面のヘッダやその他の画面で正しく描画されない場合があります。この関数は、付属のGDでPHPがコンパイルされる場合にのみ利用できます。Debianやその他のディストリビューションの場合は異なります。
HTMLとPNGイメージをサポートする必要があります。設定でCookieとJavaScriptを有効にする必要があります。最新バージョンのMozilla Firefox、Microsoft Internet Explorer、Opera、Konquerorがサポートされます。その他のブラウザ(Google Chrome、Apple Safari)もZabbixで同様に機能します。
要件 説 | |
---|---|
OpenIPMI | IPMIをサポートする場合に必要です。 |
libssh2 | SSHをサポートする場合に必要です。バージョン1.0以降 |
ZABBIXサーバおよびプロキシでは、以下の4つのデータベースエンジンがサポートされています。
Zabbix設定データを保存するために一定量のディスク容量が必要ですが、ほとんど増えることはありません。
Zabbixデータベースサイズは、主に格納されたヒストリデータの量に関する以下の数量によって決まります。
Zabbixサーバが1秒あたりに受信する新しい値の平均個数です。たとえば、3000個のアイテムを更新速度60秒で監視する場合、1秒あたりの値の数は3000/60=50個になります。
これは、毎秒50個の新しい値がZabbixデータベースに追加されることを意味します。
収集した値は、一定期間(通常は数週間から数ヶ月)だけ保存されます。新しい値を追加するたびに、データおよびインデックス用に一定量のディスク容量が消費されます。
そのため、1秒あたり50個の値を受信して、そのヒストリを30日間保存する場合、値の総数は(30*24*3600)*50=129,600,000、すなわち約1.3億個になります。
使用するデータベースエンジンと受信する値のデータ型(浮動小数点、整数、文字列、ログファイルなど)によって異なりますが、1つの値を保存するために必要なディスク容量は40バイトから数百バイトまで様々です。通常は、1つの値に約50バイトが必要です。上記の例で考えると、1.3億個の値を保存するために、1.3億*50バイト=6.5GBのディスク容量が必要になります。
トレンドテーブルの各アイテムについて、1時間の最大/最小/平均/個数の統計情報が保存されます。保存されたデータは、トレンドグラフや長期間グラフの表示に使用されます。
データベースのタイプにもよりますが、Zabbixデータベースに上記の統計情報を1回分保存するために必要なディスク容量は128バイトです。たとえば、3000個の値のトレンドデータを5年分保存しようとすると、1年分で(3000/3600)*(24*3600*365)* 128 = 6.3GBなので、5年分では 31.5GB のディスク容量が必要になります。
1個のイベントにつき約130バイトのディスク容量が必要です。Zabbixで毎日発生するイベントの数を算出することは非常に困難です。最悪のケースとして、1秒に1個のイベントが発生すると仮定します。
イベントデータを3年分保存する場合、3*365*24*3600* 130 = 11GBのディスク容量が必要になります。
以下の表に、ZABBIXシステムに必要なディスク容量の算出に役立つ式を示します。
パラメータ 必要なデ | スク容量を算出するための式(バイト) |
---|---|
** Zabbix設定** 一 | サイズ。通常は10MB以下です。 |
ヒストリ day | ×(items/refresh rate)×24×3600×bytes アイテム:アイテム数<br1/> 日:イベント履歴を保存する日数<br2/> 更新間隔:アイテムの平均更新速度<br3/> バイト:1個の値を保存するために必要なバイト数。データベースエンジンにもよりますが、通常は50バイトです。 |
トレンド day | ×(items/3600)×24×3600×bytes アイテム:アイテム数<br1/> 日:イベント履歴を保存する日数<br2/> バイト:1個のトレンドを保存するために必要なバイト数。データベースエンジンにもよりますが、通常は128バイトです。 |
イベント day | ×events×24×3600×bytes イベント:1秒あたりのイベント個数。最悪のケースでは1秒に1個のイベントが発生すると想定しています。 日:イベント履歴を保存する日数<br2/> バイト:1個のトレンドを保存するために必要なバイト数。データベースエンジンにもよりますが、通常は130バイトです。 |
以上より、必要な総ディスク容量は、以下の式で計算できます。
設定+ヒストリ+トレンド+イベント
ここで算出したディスク容量は、Zabbixをインストールした直後から使用されるわけではありません。データベースサイズは最初は増え続けますが、ある時点で一定の値を維持するようになります。どの時点で一定になるかは、housekeeperの設定によって異なります。<node>分散設定のノードで必要なディスク容量も同様の方法で計算できますが、1つのノードにリンクされている子ノードの総数にも依存します。</node>
Zabbixが動作するサーバでは、正確なシステム日時を維持することが非常に重要です。ntpdはよく知られているデーモンの1つで、ホストの時刻を他のマシンの時刻と同期します。