Sidebar

Zabbix Summit 2022
View presentations

2 要件

ハードウェア要件

メモリ要件

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

物理メモリの容量を増やすほど、データベースは高速に動作し、その結果Zabbixも高速に動作します。

CPU要件

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

その他のハードウェア

ZabbixのSMS通知機能を使用する場合、シリアルポートとシリアル GSM モデムが必要です。USBからシリアルへのコンバータも同様に有効です。

ハードウェア設定の例

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

名前 プ ットフォーム CPU/メモリ データベース 監視するホスト数
小規模 Ub ntu Linux PI 350MHz 256MB SQ ite 20
中規模 Ub ntu Linux 64 bit AM Athlon 3200 + 2GB My QL InnoDB 50
大規模 Ub ntu Linux 64 bit In el Dual Core 6400 4GB RA D10 MySQL InnoDBまたはPostgreSQL 1000以
非常に大規模 RedHa Enterprise Intel Xeon 2xCPU 8GB Fast AID10 MySQL InnoDBまたはPostgreSQL 10000以上

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

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

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

Zabbixは、以下のプラットフォームで動作確認済みです:

  • Linux
  • IBM AIX
  • FreeBSD
  • NetBSD
  • OpenBSD
  • HP-UX
  • Mac OS X
  • Solaris
  • Windows: 2000, Server 2003, XP, Vista, Server 2008, 7, 8, Server 2012 (Zabbix エージェントのみ)

Zabbixは、上記以外のUNIX系OSでも同様に動作します。

ソフトウェア要件

Zabbixは、最新のApacheウェブサーバ、主なデータベースエンジン、および PHP スクリプト言語を組み合わせて動作します。

データベース管理システム
ソフトウェア バージョン コメント
MySQL 5.0.3以降 M SQLをZabbixバックエンドデータベースとして使用する場合に必要です。InnoDBエンジンが必要です。
Oracle 10g以降 O acleをZabbixバックエンドデータベースとして使用する場合に必要です。
PostgreSQL 8.1以降 P stgreSQL をZabbixのバックエンドデータベースとして使用する場合に必要です。パフォーマンスを高める必要がある場合は、少なくともPostgreSQL 8.3で使用することをお奨めします。
SQLite 3.3.5以降 S LiteをZabbixバックエンドデータベースとして使用する場合に必要です。
IBM DB2 9.7以降 I M DB2をZabbixバックエンドデータベースとして使用する場合に必要です。

IBM DB2のサポートは実験的なものです!

<note important>SQLite3はZabbixプロキシで問題なく使用できますが、Zabbixサーバでのサポートは実験的であり、お奨めできません! :::

フロントエンド

Zabbix フロントエンドを動作させるには、次のソフトウェアが必要です:

ソフトウェア バージョン コメント
Apache 1.3.12以降
PHP 5.3.0以降 P P v7はサポートしていません。
PHPエクステンション:
gd 2.0以降 P P GD エクステンションには、PNG形式の画像(--with-png-dir)、JPEG形式の画像(--with-jpeg-dir) およびFreeType2 (--with-freetype-dir)のサポートが必要です。
bcmath php-bcmath(--enable-bcmath
ctype php-ctype(--enable-ctype
libXML 2.6.15以降 デ ストリビュータから別パッケージとして提供されている場合はphp-xml または php5-dom
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)翻訳機能を動作させるために必要です。
ibm_db2 IBM DB2をZabbixバックエンドデータベースとして使用する場合に必要です。
mysql MySQLをZabbixバックエンドデータベースとして使用する場合に必要です。
oci8 OracleをZabbixバックエンドデータベースとして使用する場合に必要です。
pgsql PostgreSQLをZabbixバックエンドデータベースとして使用する場合に必要です。
sqlite3 SQLiteをZabbixバックエンドデータベースとして使用する場合に必要です。

Zabbixは、Apache、MySQL、Oracle、PostgreSQLの前のバージョンでも動作します。

<note important>デフォルトのDejaVu以外のフォントを使用するには、PHPのimagerotate機能が必要になります。その機能がない場合、フォントは[監視データ]→[概要]のヘッダや他の場所で正しくレンダリングされない場合があります。imagerotate機能は、PHPがGDをバンドルしてコンパイルされている場合にのみ有効で、Debianと他のディストリビューションでは提供されていません。 :::

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

CookieとJavaScriptを有効にする必要があります。

Google Chrome、Mozilla Firefox、 Microsoft Internet Explorer 、Operaの最新のバージョンがサポートされています。他のブラウザ(Apple Safari、Konqueror)も動作します。

サーバ
要件 説
OpenIPMI IPMI のサポートのために必要です。
libssh2 SSH のサポートのために必要です。Version 1.0 以上
fping ICMP ping アイテムのために必要です。
libcurl ウェブ監視のために必要です。
libiksemel Jabberのサポートのために必要です。
net-snmp SNMPのサポートのために必要です。
Java ゲートウェイ

Zabbixをソースリポジトリまたはアーカイブから入手した場合、必要な依存関係はすでにソースツリーに含まれています。

Zabbixをディストリビュータのパッケージとして入手した場合、必要な依存関係はすでにパッケージシステムにより提供されています。

上記のどちらの場合でも、ソフトウェアはすぐに使用できるようになっており、追加ダウンロードの必要はありません。

ただし、自分のバージョンでこれら依存関係を提供したい場合(例えば、あるLinuxディストリビューション用にパッケージを作成している場合)、Javaゲートウェイの動作が確認されているライブラリのバージョンの一覧は以下のとおりです。Zabbixは、これらライブラリのその他のバージョンでも動作します。

次の表に、現在オリジナルコードのJava ゲートウェイに同梱されているJARファイルの一覧を示します。

ライブラリ Webサ ト コメント
logback-core-0.9.27.jar http:logback.qos.ch/]] |0.9.27、1.0.13、1.1.1でテスト済み。 | |logback-classic-0.9.27.jar|[[http:logback.qos.ch/|http:logback.qos.ch/]] |0.9.27、1.0.13、1.1.1でテスト済み。| |slf4j-api-1.6.1.jar// |[[http:www.slf4j.org/ |http:www.slf4j.org/ 1.6.1、1.6.6、1.7.6 テスト済み。
android-json-4.3_r3.1.jar https://android.googlesource.com/platform/libcore/+/master/json 2.3.3_r1.1と4.3_r3.1でテスト済み。JARファイル作成方法については、src/zabbix_java/lib/READMEを参照してください。

Java gatewayは、Java 1.6以上でコンパイルおよび実行できます。Java 1.5でもコンパイルおよび実行できるはずですが、テストされていません。

データベースサイズ

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

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

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

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

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

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

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

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

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

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

Zabbixは、テーブルトレンドの各アイテムについて、1時間の最大/最小/平均/個数の統計情報を保存します。保存されたデータは、トレンドグラフや長期間グラフの表示に使用されます。1時間という期間は、カスタマイズできません。

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

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

1個のZabbixイベントににつき、約130バイトのディスク容量が必要です。Zabbixで毎日発生するするイベントの数を算出するのは非常に困難です。最悪のケースとして、1秒に1個のイベントが発生すると仮定します。

イベントデータを3年分保存する場合、 3×365×24×3600×130 = 12.3GBのディスク容量が必要になります。

以下の表に、Zabbixシステムに必要なディスク容量の算出に役立つ式を示します:

パラメータ 必要なデ スク容量を算出するための式(バイト)
Zabbix設定 サイズ。通常は10MB以下です。
ヒストリ day *(items/refresh rate)*24*3600*bytes
items :アイテム数
days : ヒストリを保存する日数
refresh rate : アイテムの平均更新速度
bytes : 1個の値を保存するために必要なバイト数。データベースエンジンにもよりますが、通常50バイトです。
トレンド day *(items/3600)*24*3600*bytes
items : アイテム数
days : トレンド履歴を保存する日数
bytes : 1個のトレンドを保存するために必要なバイト数。データベースエンジンにもよりますが、通常128バイトです。
イベント day *events*24*3600*bytes
events :1秒あたりのイベント数。最悪のケースでは1秒に1個のイベントが発生すると想定します。
days : イベント歴を保存する日数
bytes : 1個のイベントを保存するために必要なバイト数。データベースエンジンにもよりますが、通常130バイトです。

以上より、必要な総ディスク容量は、以下の式で計算できます:

設定 + ヒストリ + トレンド + イベント

算出したディスク容量は、Zabbixをインストールした直後から必要になるわけではありません。データベースサイズは、最初は増え続けますが、ある時点で一定の値を維持するようになります。どの時点で一定になるかは、housekeeperの設定によります。

分散設定のノードで必要なディスク容量も同様の方法で算出できますが、1つのノードにリンクされている子ノードの数にも依存します。

時刻の同期

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


本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。