Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

2 要件

2.1 ハードウェア要件

2.1.1 メモリ要件

Zabbixには、十分な量の物理メモリとディスク容量が必要です。導入当初は、物理メモリ128MBとディスク空き容量256MBがあれば十分です。ただし、必要なディスク容量は、監視するホストとパラメータの数によって異なります。監視パラメータのヒストリを長期間保存することを計画している場合、データベースにヒストリを保存するための十分な容量として少なくとも2GBを確保することを検討する必要があります。Zabbixデーモンプロセスは、それぞれがデータベースサーバと複数の接続を確立して動作します。接続に割り当てられるメモリ容量は、データベースエンジンの設定によって異なります。 ::: noteclassic 物理メモリの容量を増やすほど、データベースは高速に動作し、その結果Zabbixも高速に動作します。 :::

2.1.2 CPU要件

Zabbix、特にZABBIXデータベースは、監視パラメータの数と使用するデータベースエンジンによって程度は異なりますが、CPUリソースを大量に消費します。

2.1.3 その他のハードウェア

ZabbixのSMS通知機能を使用する場合、シリアルポートとシリアルGSMモデムが必要です。

2.1.4 ハードウェア設定の例

以下の表に、様々なハードウェア設定の例を示します。

名前 プ ットフォーム 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

実際の設定は、アクティブなアイテムの数と更新速度によって大きく異なります。大規模システムでは、データベースを専用のマシンで動作させることを強くお奨めします。

2.2 サポートされるプラットフォーム

監視サーバのセキュリティ要件とミッションクリティカルな性質を考慮した場合、必要とされるパフォーマンス、フォールトトレランス、および復旧のしやすさを安定して実現できるオペレーティングシステムはUNIXだけです。Zabbixは、市販されている主なバージョンのUNIXで動作します。

以下のプラットフォームで動作確認済みです。

  • AIX
  • FreeBSD
  • HP-UX
  • Linux
  • Mac OS/X
  • NetBSD
  • OpenBSD
  • SCO Open Server
  • Solaris
  • Windows 2000、2003、XP、Vista(Zabbixエージェントのみ)

上記以外のUNIXライクなオペレーティングシステムでも同様に動作可能です。

2.3ソフトウェア要件

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やその他のディストリビューションの場合は異なります。

2.3.1 クライアントサイドのウェブブラウザ

HTMLとPNGイメージをサポートする必要があります。設定でCookieとJavaScriptを有効にする必要があります。最新バージョンのMozilla Firefox、Microsoft Internet Explorer、Opera、Konquerorがサポートされます。その他のブラウザ(Google Chrome、Apple Safari)もZabbixで同様に機能します。

2.4 サーバ要件

要件 説
OpenIPMI IPMIをサポートする場合に必要です。
libssh2 SSHをサポートする場合に必要です。バージョン1.0以降

2.5 データベースエンジンの選択

ZABBIXサーバおよびプロキシでは、以下の4つのデータベースエンジンがサポートされています。

  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite

2.6 データベースサイズ

Zabbix設定データを保存するために一定量のディスク容量が必要ですが、ほとんど増えることはありません。

Zabbixデータベースサイズは、主に格納されたヒストリデータの量に関する以下の数量によって決まります。

  • 1秒あたりに処理される値の数

Zabbixサーバが1秒あたりに受信する新しい値の平均個数です。たとえば、3000個のアイテムを更新速度60秒で監視する場合、1秒あたりの値の数は3000/60=50個になります。

これは、毎秒50個の新しい値がZabbixデータベースに追加されることを意味します。

  • ヒストリデータ用のhousekeeper設定

収集した値は、一定期間(通常は数週間から数ヶ月)だけ保存されます。新しい値を追加するたびに、データおよびインデックス用に一定量のディスク容量が消費されます。

そのため、1秒あたり50個の値を受信して、そのヒストリを30日間保存する場合、値の総数は(30*24*3600)*50=129,600,000、すなわち約1.3億個になります。

使用するデータベースエンジンと受信する値のデータ型(浮動小数点、整数、文字列、ログファイルなど)によって異なりますが、1つの値を保存するために必要なディスク容量は40バイトから数百バイトまで様々です。通常は、1つの値に約50バイトが必要です。上記の例で考えると、1.3億個の値を保存するために、1.3億*50バイト=6.5GBのディスク容量が必要になります。

  • トレンドデータ用のhousekeeper設定

トレンドテーブルの各アイテムについて、1時間の最大/最小/平均/個数の統計情報が保存されます。保存されたデータは、トレンドグラフや長期間グラフの表示に使用されます。

データベースのタイプにもよりますが、Zabbixデータベースに上記の統計情報を1回分保存するために必要なディスク容量は128バイトです。たとえば、3000個の値のトレンドデータを5年分保存しようとすると、1年分で(3000/3600)*(24*3600*365)* 128 = 6.3GBなので、5年分では 31.5GB のディスク容量が必要になります。

  • イベントデータ用のhousekeeper設定

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>

2.7 時間の同期

Zabbixが動作するサーバでは、正確なシステム日時を維持することが非常に重要です。ntpdはよく知られているデーモンの1つで、ホストの時刻を他のマシンの時刻と同期します。