最新バージョンの情報およびダウンロード手順については、Zabbixホームページ(http://www.zabbix.com)を参照してください。
Zabbixはソースパッケージとして配布されていますが、いくつかのOSについてはコンパイル済みのバイナリが含まれています。
Zabbixには、十分な量の物理メモリとディスク容量が必要です。導入当初は、物理メモリ128MBとディスク空き容量256MBがあれば十分です。ただし、必要なディスク容量は、監視するホストとパラメータの数によって異なります。監視パラメータのヒストリを長期間保存することを計画している場合、データベースにヒストリを保存するための十分な容量として少なくとも2GBを確保することを検討する必要があります。Zabbixデーモンプロセスは、それぞれがデータベースサーバと複数の接続を確立して動作します。接続に割り当てられるメモリ容量は、データベースエンジンの設定によって異なります。
Zabbix、特にZABBIXデータベースは、監視パラメータの数と使用するデータベースエンジンによって程度は異なりますが、CPUリソースを大量に消費します。
ZabbixのSMS通知機能を使用する場合、シリアルポートとシリアルGSMモデムが必要です。
以下の表に、様々なハードウェア設定の例を示します。
| 名前 | プラットフォーム | CPU/メモリ | データベース | 監視するホスト数 |
|---|---|---|---|---|
| 小規模 | Ubuntu Linux | PII 350MHz 256MB | MySQL MyISAM | 20 |
| 中規模 | Ubuntu Linux 64ビット | AMD Athlon 3200+ 2GB | MySQL InnoDB | 500 |
| 大規模 | Ubuntu Linux 64ビット | Intel Dual Core 6400 4GB | RAID10 MySQL InnoDBまたはPostgreSQL | >1000 |
| 非常に大規模 | RedHat Enterprise | Intel Xeon 2xCPU 8GB | Fast RAID10 MySQL InnoDBまたはPostgreSQL | >10000 |
監視サーバのセキュリティ要件とミッションクリティカルな性質を考慮した場合、必要とされるパフォーマンス、フォールトトレランス、および復旧のしやすさを安定して実現できるオペレーティングシステムはUNIXだけです。Zabbixは、市販されている主なバージョンのUNIXで動作します。
以下のプラットフォームで動作確認済みです。
Zabbixは、最新のApacheウェブサーバ、主なデータベースエンジン、およびPHPスクリプト言語を組み合わせて動作します。
Zabbixが動作するには、以下のソフトウェアが必要です。
| ソフトウェア | バージョン | コメント |
|---|---|---|
| Apache | 1.3.12以降 | |
| PHP | 5.0以降 | |
| PHP modules: php-gd | GD 2.0以降 | PHP GDモジュールは、PNGイメージ対応である必要があります。 |
| PHP TryeTypeサポート | --with-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以降 | MySQLをZabbixのバックエンドデータベースとして使用する場合に必要です。 |
| Oracle php-oci8 | OracleをZabbixのバックエンドデータベースとして使用する場合に必要です。 | |
| PostgreSQL php-pgsql | 7.0.2以降 |
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/1800)*(24*3600*365)* 128 = 6.3GBなので、5年分では 31.5GB のディスク容量が必要になります。
1個のイベントにつき約130バイトのディスク容量が必要です。Zabbixで毎日発生するイベントの数を算出することは非常に困難です。最悪のケースとして、1秒に1個のイベントが発生すると仮定します。
イベントデータを3年分保存する場合、3*365*24*3600* 130 = 11GBのディスク容量が必要になります。
以下の表に、ZABBIXシステムに必要なディスク容量の算出に役立つ式を示します。
| パラメータ | 必要なディスク容量を算出するための式(バイト) |
|---|---|
| Zabbix設定 | 一定サイズ。通常は10MB以下です。 |
| ヒストリ | days×(items/refresh rate)×24×3600×bytes アイテム:アイテム数<br1/> 日:イベント履歴を保存する日数<br2/> 更新間隔:アイテムの平均更新速度<br3/> バイト:1個の値を保存するために必要なバイト数。データベースエンジンにもよりますが、通常は50バイトです。 |
| トレンド | days×(items/1800)×24×3600×bytes アイテム:アイテム数<br1/> 日:イベント履歴を保存する日数<br2/> バイト:1個のトレンドを保存するために必要なバイト数。データベースエンジンにもよりますが、通常は128バイトです。 |
| イベント | days×events×24×3600×bytes イベント:1秒あたりのイベント個数。最悪のケースでは1秒に1個のイベントが発生すると想定しています。 日:イベント履歴を保存する日数<br2/> バイト:1個のトレンドを保存するために必要なバイト数。データベースエンジンにもよりますが、通常は130バイトです。 |
以上より、必要な総ディスク容量は、以下の式で計算できます。
設定+ヒストリ+トレンド+イベント
ここで算出したディスク容量は、Zabbixをインストールした直後から使用されるわけではありません。データベースサイズは最初は増え続けますが、ある時点で一定の値を維持するようになります。どの時点で一定になるかは、housekeeperの設定によって異なります。<node>分散設定のノードで必要なディスク容量も同様の方法で計算できますが、1つのノードにリンクされている子ノードの総数にも依存します。</node>
Zabbixが動作するサーバでは、正確なシステム日時を維持することが非常に重要です。ntpdはよく知られているデーモンの1つで、ホストの時刻を他のマシンの時刻と同期します。
Zabbixは、複数の有名なソフトウェアコンポーネントから構成されています。各コンポーネントの役割を以下に示します。
これはZabbixソフトウェアの中核です。簡単なサービスチェック機能を使用して、ネットワーク経由で利用するサービス(ウェブサーバやメールサーバなど)をリモートからチェックしたり、エージェントから可用性や整合性に関する情報や統計情報を受信します。設定データ、統計データ、および運用データは全てサーバに保存されます。監視対象システムで問題が発生したときに、能動的に管理者にアラートを送信するのもサーバの役割です。
Zabbixは、エージェントレスで監視したり、SNMPエージェントでネットワークデバイスを監視することもできます。
プロキシは、Zabbixのオプションとして使用します。プロキシは、ZabbixXサーバの代わりにパフォーマンスおよび可用性データが収集されます。収集された全てのデータをローカルのバッファに格納し、プロキシが属するZabbixサーバに転送します。
Zabbixプロキシは、ローカル管理者のいないリモートの場所、支店、ネットワークを集中監視するための理想的なソリューションとなります。
また、Zabbixプロキシを使用して、単一のZabbixサーバの負荷を分散することもできます。この場合、プロキシのみでデータが収集されるため、サーバの処理に対するCPUとディスクI/Oの使用量が軽減されます。
ネットワークに接続されたシステムのローカルのリソースやアプリケーション(ハードドライブ、メモリ、プロセッサの統計情報など)を能動的に監視するには、そのシステムでZabbixエージェントを実行する必要があります。エージェントは、動作するシステムの稼働情報を収集し、Zabbixサーバで処理するためにそれらのデータを送信します。障害(ハードディスク満杯、サービスプロセスのクラッシュなど)が発生した場合、Zabbixサーバは、障害が発生したマシンに関するアラートを能動的に管理者に送信します。
Zabbixエージェントは統計情報を収集する際にネイティブのシステムコールを使用するので、非常に効率的に動作します。
監視データやZabbixの設定データに、プラットフォームを選ばずにどこからでも簡単にアクセスできるように、ウェブインタフェースが用意されています。このインタフェースはZabbixサーバに組み込まれており、通常はZabbixサーバが動作するのと同じ物理マシン上で動作しますが、別マシン上で動作させることもできます。
SQLiteを使用する場合は、SQLiteが動作するのと同じ物理マシン上でWebインターフェースを実行する必要があります。
ソースからZabbixサーバまたはアージェントを作成するためには、追加ソフトウェアが必要になります。
Zabbixをコンパイルするために必要なソフトウェアを以下に示します。
以下のデータベースエンジンのうちいずれか1つ:
バージョン3.22以降が必要です。
Sqlora8のヘッダとライブラリが必要です。
バージョン7.0.2以降が必要です。パフォーマンスを高める必要がある場合はPostgreSQL 8.xの使用を検討してください。
バージョン3.3.5以降が必要です。
NET-SNMP(またはUCD-SNMP)のライブラリファイルとヘッダファイル
SNMPをサポートする場合に必要です。(オプション)
Iksemelのライブラリファイルとヘッダファイル
Jabberメッセージングをサポートする場合に必要です。(オプション)
Libcurlのライブラリファイルとヘッダファイル
ウェブ監視モジュールでバージョン7.13.1以降が必要です。(オプション)
Cコンパイラ
Cコンパイラが必要です。オープンプラットフォームでは、GNU Cコンパイラが最適です。それ以外のCコンパイラ(HPやIBM製)も使用できます。
GNU Make
ZabbixのMakefileを処理するためにGNU Makeが必要です。
本書がPDF形式で格納されています。
フロントエンドを除く全てのZabbixのソースが格納されています。
zabbix_serverのMakefileとソースが格納されています。
zabbix_agentとzabbix_agentdのMakefileとソースが格納されています。
zabbix_getのMakefileとソースが格納されています。
zabbix_senderのMakefileとソースが格納されています。
Zabbixのインクルードファイルが格納されています。
* 様々なプラットフォーム用のスタートアップスクリプトが格納されています。
* PHPフロントエンドのファイルが格納されています。
データベースの初期作成用のSQLスクリプトが格納されています。
データベース作成スキーマが格納されています。
データベース初期作成用データが格納されています。
Zabbixの様々なバージョン用のアップグレード手順が格納されています。
サーバサイド
Zabbixスーパーユーザアカウントの作成
サーバを実行するユーザを作成します。本番環境用に、特権を持たない専用アカウント(通常はzabbix)を作成する必要があります。セキュリティ上のリスクが生じるので、rootやbinなど、特権を持つアカウントでは、決してZABBIXプロキシを実行しないでください。
ZABBIXソースの展開
shell> gunzip zabbix-1.8.tar.gz && tar -xvf zabbix-1.8.tar
Zabbixデータベースの作成
ZABBIXには、必要なデータベーススキーマを作成し、デフォルト設定データを挿入するためのSQLスクリプトが付属しています。スクリプトは、MySQL、Oracle、PostgreSQL、SQLite用に別々に用意されています。
MySQLの場合
shell> mysql -u<username> -p<password> mysql> create database zabbix character set utf8; mysql> quit; shell> cd create/schema shell> cat mysql.sql | mysql -u<username> -p<password> zabbix shell> cd ../data shell> cat data.sql | mysql -u<username> -p<password> zabbix shell> cat images_mysql.sql | mysql -u<username> -p<password> zabbix
Oracleの場合 (ユーザzabbixがパスワードpasswordで登録され、データベースオブジェクト作成権限が与えられているものとします)
shell> cd create shell> sqlplus zabbix/password sqlplus> set def off sqlplus> @schema/oracle.sql sqlplus> @data/data.sql sqlplus> @data/images_oracle.sql sqlplus> exit
PostgreSQLの場合
shell> psql -U <username> psql> create database zabbix; psql> \q shell> cd create/schema shell> cat postgresql.sql | psql -U <username> zabbix shell> cd ../data shell> cat data.sql | psql -U <username> zabbix shell> cat images_pgsql.sql | psql -U <username> zabbix
SQLiteの場合
shell> cd create/schema shell> cat sqlite.sql | sqlite3 /var/lib/sqlite/zabbix.db shell> cd ../data shell> cat data.sql | sqlite3 /var/lib/sqlite/zabbix.db shell> cat images_sqlite3.sql | sqlite3 /var/lib/sqlite/zabbix.db
使用するシステムに対応するソースコードの設定とコンパイル
サーバ(マシンを監視する)とクライアント(監視されるマシン)は、どちらもソースをコンパイルして作成する必要があります。サーバのソースを設定するために、使用するデータベースを指定する必要があります。
shell> ./configure –enable-server –with-mysql –with-net-snmp –with-jabber –with-libcurl # for MySQL + Jabber + WEB monitoring
または
shell> ./configure –enable-server –with-pgsql –with-net-snmp –with-jabber –with-libcurl # for PostgreSQL + Jabber + WEB monitoring
または
shell> ./configure –enable-server –with-oracle=/home/zabbix/sqlora8 –with-net-snmp –with-jabber –with-libcurl # for Oracle + Jabber + WEB monitoring
クライアントバイナリとサーババイナリを両方ともコンパイルする場合は、以下のコマンドを実行します。
shell> ./configure –enable-server –enable-agent –with-mysql –with-net-snmp –with-jabber –with-libcurl
パラメータ–enable-staticを使用すると、強制的にスタティックリンクすることができます。
Makeとインストール
shell> make install
デフォルトでは、
make install
を実行すると、全てのファイルが/usr/local/bin、/usr/local/libなどにインストールされます。Make install実行時に十分な権限があれば、
–prefix (–prefix=/home/zabbixなど)を使用すると、/usr/local以外のインストールプレフィックスを指定できます。この場合は、デーモンのバイナリは<prefix>/sbinへ、ユーティリティは<prefix>/binへインストールされます。Manページは<prefix>/share配下にインストールされます。
/etc/servicesの設定
このステップはオプションです。実行することをお奨めします。クライアント(監視される)マシンで、以下の行を/etc/servicesに追加します。
zabbix-agent 10050/tcp Zabbix Agent zabbix-agent 10050/udp Zabbix Agent zabbix-trapper 10051/tcp Zabbix Trapper zabbix-trapper 10051/udp Zabbix Trapper
注:ポート番号の10050と10051はIANAに正式に登録されたZabbixのポート番号です。
/etc/inetd.confの設定
推奨されているzabbix_agentdではなく、zabbix_agentを使用する場合は、以下の行を追加する必要があります。
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
inetdをリスタートします。
shell> killall -HUP inetd
設定ファイルのデフォルト設定を変更します。
/etc/zabbix/zabbix_agent.confの設定
zabbix_agentをインストールする全てのホストでこのファイルを設定する必要があります。このファイルには、ZabbixサーバのIPアドレスを指定する必要があります。他のホストからの接続は拒否されます。サンプルとしてmisc/conf/zabbix_agent.confが提供されているので、必要に応じて参照してください。
/etc/zabbix/zabbix_agentd.confの設定
zabbix_agentdをインストールする全てのホストでこのファイルを設定する必要があります。このファイルには、ZABBIXサーバのIPアドレスを指定する必要があります。他のホストからの接続は拒否されます。サンプルとしてmisc/conf/zabbix_agentd.confが提供されているので、必要に応じて参照してください。
/etc/zabbix/zabbix_server.confの設定
小規模な環境(監視するホスト数が10以下)にインストールする場合、デフォルトパラメータを修正する必要はありません。ただし、Zabbixのパフォーマンスを最大限に高めるには、デフォルトパラメータを変更する必要があります。詳細については、「パフォーマンスチューニング」を参照してください。
サンプルとしてmisc/conf/zabbix_server.confが提供されているので、必要に応じて参照してください。
サーバプロセスの実行
サーバサイドでzabbix_serverを実行します。
shell> cd sbin shell> ./zabbix_server
エージェントの実行
必要なマシン上でzabbix_agentdを実行します。
shell> cd bin shell> ./zabbix_agentd
Zabbixプロキシは特別なプロセスです。プロセスを実行する必要はありません。
Zabbixスーパーユーザアカウントの作成
プロキシを実行するユーザを作成します。本番環境用に、特権を持たない専用アカウント(通常はzabbix)を作成する必要があります。セキュリティ上のリスクが生じるので、rootやbinなど、特権を持つアカウントでは、決してZABBIXプロキシを実行しないでください。
ZABBIXソースの展開
shell> gunzip zabbix-1.8.tar.gz && tar -xvf zabbix-1.8.tar
Zabbixデータベースの作成(オプション)
MySQLの場合
shell> mysql -u<username> -p<password> mysql> create database zabbix character set utf8; mysql> quit; shell> cd create/schema shell> cat mysql.sql | mysql -u<username> -p<password> zabbix
Oracleの場合(ユーザzabbixがパスワードpasswordで登録され、データベースオブジェクト作成権限が与えられているものとします)
shell> cd create/schema shell> cat oracle.sql | sqlplus zabbix/password >out.log
PostgreSQLの場合
shell> psql -U <username> psql> create database zabbix; psql> \q shell> cd create/schema shell> cat postgresql.sql | psql -U <username> zabbix
SQLiteの場合
shell> cd create/schema shell> cat sqlite.sql | sqlite3 /var/lib/sqlite/zabbix.db
使用するシステムに対応するソースコードの設定とコンパイル
ソースをコンパイルして、Zabbixプロキシプロセスのコンパイルを有効にする必要があります。プロキシのソースを設定するために、使用するデータベースを指定する必要があります。
shell> ./configure –enable-proxy –with-mysql –with-net-snmp –with-libcurl # for MySQL + WEB monitoring
または
shell> ./configure –enable-proxy –with-pgsql –with-net-snmp –with-libcurl # for PostgreSQL + WEB monitoring
または
shell> ./configure –enable-proxy –with-oracle=/home/zabbix/sqlora8 –with-net-snmp –with-libcurl # for Oracle + WEB monitoring
クライアントバイナリとプロキシバイナリを両方ともコンパイルする場合は、以下のコマンドを実行します。
shell> ./configure –enable-proxy –enable-agent –with-mysql –with-net-snmp –with-libcurl
パラメータ–enable-staticを使用すると、強制的にスタティックリンクすることができます。
Makeとインストール
shell> make install
デフォルトでは、
make install
を実行すると、全てのファイルが/usr/local/bin、/usr/local/libなどにインストールされます。–prefixを使用すると、/usr/local以外のインストールプリフィクスを指定できます。
/etc/servicesの設定
このステップはオプションです。実行することをお奨めします。クライアント(監視される)マシンで、以下の行を/etc/servicesに追加します。
zabbix_agent 10050/tcp zabbix_trap 10051/tcp
/etc/inetd.confの設定
推奨されているzabbix_agentdではなく、zabbix_agentを使用する場合は、以下の行を追加する必要があります。
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
inetdをリスタートします。
shell> killall -HUP inetd
設定ファイルのデフォルト設定を変更します。
/etc/zabbix/zabbix_proxy.confの設定
小規模な環境(監視するホスト数が10以下)にインストールする場合、デフォルトパラメータを修正する必要はありません。ただし、Zabbixプロキシのパフォーマンスを最大限に高めるには、デフォルトパラメータを変更する必要があります。ホスト名とサーバのパラメータが正しく設定されていることを確認してください。サンプルとしてmisc/conf/zabbix_proxy.confが提供されているので、必要に応じて参照してください。
プロキシプロセスの実行
zabbix_proxyを実行します。
shell> cd sbin shell> ./zabbix_proxy
クライアントサイド
Zabbixアカウントの作成
エージェントを実行するユーザを作成します。本番環境用に、特権を持たない専用アカウント(通常はzabbix)を作成する必要があります。Zabbixエージェントは、rootアカウントで実行できないように保護されています。
ZABBIXソースの展開
shell> gunzip zabbix-1.6.tar.gz && tar xvf zabbix-1.6.tar
使用するシステムに対応するソースコードの設定とコンパイル
クライアント用のソースだけをコンパイルする必要があります。
クライアントのソースを設定するには、以下のコマンドを実行します。
shell> ./configure –enable-agent
エージェントのビルド
shell> make
bin/から/opt/zabbix/bin、または他のディレクトリにコピーします。他の一般的なディレクトリは/usr/local/bin または /usr/local/zabbix/binです。
/etc/servicesの設定
このステップは必ずしも必要ではありませんが、実行することをお奨めします。
クライアント(監視される)マシンで、以下の行を/etc/servicesに追加します。
zabbix_agent 10050/tcp zabbix_trap 10051/tcp
/etc/inetd.confの設定
推奨されているzabbix_agentdではなく、zabbix_agentを使用する場合は、以下の行を追加する必要があります。
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
inetdをリスタートします。
shell> killall -HUP inetd
/etc/zabbix/zabbix_agent.confの設定
zabbix_agentをインストールする全てのホストでこのファイルを設定する必要があります。このファイルには、ZabbixサーバのIPアドレスを指定する必要があります。他のホストからの接続は拒否されます。このファイルで、EOL文字は使用しないでください。
サンプルとしてmisc/conf/zabbix_agent.confが提供されているので、必要に応じて参照してください。
/etc/zabbix/zabbix_agentd.confの設定
zabbix_agentdをインストールする全てのホストでこのファイルを設定する必要があります。このファイルには、ZabbixサーバのIPアドレスを指定する必要があります。他のホストからの接続は拒否されます。サンプルとしてmisc/conf/zabbix_agentd.confが提供されているので、必要に応じて参照してください。
監視する全てのマシン上でzabbix_agentdを実行
shell> /opt/zabbix/bin/zabbix_agentd
ソフトウェアの前提条件を全て満たしていることを確認します。
| 前提条件 | 最小値 | 説明 |
|---|---|---|
| PHPバージョン | 5.0 | |
| PHPメモリ制限 | 8MB | php.ini内での記述:\\memory_limit = 128M |
| PHP POSTの最大サイズ | 8MB | php.ini内での記述:\\post_max_size = 8M |
| PHP最大実行時間 | 300秒 | php.ini内での記述:\\max_execution_time = 300 |
| PHPデータベースサポート | MySQL, Oracle, PostgreSQL, SQLiteのいずれか: | 以下のモジュールのいずれか1つがインストールされている必要があります。\\php-mysql, php-sqlora8, php-pgsql, php-sqlite3 |
| PHP BC math | 任意 | PHP5でコンパイルされていること |
| GDバージョン | 2.0以降 | モジュールphp-gd |
| イメージ形式 | 少なくともPNGに対応していること | モジュールphp-gd |
このステップは分散監視の場合にのみ実行します。
分散環境でZABBIXを使用する場合、以下のコマンドを実行する必要があります。
shell> ./zabbix_server –n <nodeid>
ここで、ノードIDは一意なノードIDです。例:
shell> ./zabbix_server –n 1
このコマンドは、データベースデータをノードID「1」で使用できるように変換し、ローカルノードを追加します。
変更レベルのリリースでは、サーバのバイナリとフロントエンドのアップグレードが必要とされます。リリースノートに記述れさている場合は、幾つかのインデックスがデータベースのパフォーマンス改善のために追加されることがあります。アップグレードは1.8.1から1.8.3等へといくつかのバージョンへ簡単なステップで実行することができます。
安定版リリースのアップグレード(1.4から1.6、または1.6から1.8へのアップグレード)はバイナリとフロントエンドのアップグレードに追加して、データベースのパッチが通常必要とされます。
ZABBIX 1.8では、Zabbix 1.0、Zabbix 1.1.x、Zabbix 1.4.x、およびZabbix 1.6の旧エージェントを使用することができます。エージェント側で設定を変更する必要はありません。
システム要求の追加と増加:
Zabbix 1.6.xから1.8にアップグレードするための手順を以下に示します。Zabbixデータベースのサイズによっては、これらの手順で数時間を要する場合があります。
データベースに新しいデータが保存されないようにZabbixサーバを停止します。
これは非常に重要な手順です。必ずデータベースのバックアップを作成してください。アップグレード手順が失敗した場合(ディスク容量不足、電源断、予期しない問題が発生した場合)に、このバックアップが必要になります。
設定ファイル、PHPファイル、およびZabbixバイナリのバックアップコピーを作成します。
コンパイル済みバイナリを利用するか、自身でコンパイルを行ってください。
1.8ではzabbix_server.confの一部のパラメータが変更され、新しいパラメータが追加されています。必要に応じて、新しいパラメータを確認してください。
このステップはバージョン1.6からアップグレードする場合にのみ実行します。バージョン1.8.xから別のバージョンにアップグレードする場合は省略します。
アップグレードスクリプトを実行する前に、以下のインデックスを削除してください:
MySQL alter table dhosts drop index dhosts_1; alter table dservices drop index dservices_1; alter table httptest drop index httptest_2; alter table httptest drop index httptest_3; alter table history_log drop index history_log_2; alter table history_text drop index history_text_2; alter table actions drop index actions_1; alter table escalations drop index escalations_2; alter table graphs_items drop index graphs_items_1; alter table graphs_items drop index graphs_items_2; alter table services drop index services_1;
OracleまたはPostgreSQL drop index dhosts_1; drop index dservices_1; drop index httptest_2; drop index httptest_3; drop index history_log_2; drop index history_text_2; drop index actions_1; drop index escalations_2; drop index graphs_items_1; drop index graphs_items_2; drop index services_1;
データベースのアップグレードスクリプトは次のディレクトリに置かれています upgrades/dbpatches/1.8/<db engine>:
データベースのアップグレードには10〜15分程度かかります。PostgreSQLの場合、既存のヒストリデータの変換のために数時間を要する場合もあります。非本番環境でアップグレード手順をテストすることをお奨めします。
十分なパーミッション(create table、drop table、create index、drop index)があることを確認してください。また、ディスクに十分な空き容量があることを確認してください。
上記のスクリプトは、Zabbix 1.6.xを1.8にアップグレードする場合にのみ使用できます。以前のバージョンからアップグレードする場合もZabbix 1.6.xからのアップグレードスクリプトを使用してください。
Example usage: shell> cd mysql; mysql zabbix -u<username> -p<password> < patch.sql or shell> cd postgresql; psql -U <username> zabbix < patch.sql
インストール手順を参照してください。
新しいバイナリを起動します。ログファイルをチェックして、バイナリが正常に起動されていることを確認します。
Zabbixの既存のサーバを手動で設定したり再利用したりする以外に、Zabbixアプライアンスをダウンロードできます。
はじめに、アプライアンスを起動して、DHCPで受信したIPにブラウザを移動します。
Zabbixアプライアンスは、以下の形式で利用可\'94\'5cなOpenSUSE 11.2ベースのイメージです。
Zabbixアプライアンスでは、MySQLでZabbixサーバを設定して実行し、ウェブインタフェースを利用できます。
アプライアンスはSUSE Studioを利用して構築されています。
OpenSUSEの基本設定にいくつかの変更が適用されています。
デフォルトでは、アプライアンスはDHCPを使用してIPアドレスを取得します。スタティックIPアドレスを指定するには、以下のようにします。
アプライアンスのZabbix設定には、パスワードとその他の設定について以下の変更があります。
システム:
データベース:
Zabbix Webインタフェース:
データベースユーザのパスワードを変更するには、以下の場所で変更してください。
設定ファイルは/etc/zabbixにあります。
Zabbixログファイルは/var/log/zabbixにあります。
ユーザzabbixのホームディレクトリは/var/lib/zabbixです。
デフォルトでは、以下の場所からウェブインタフェースにアクセスできます。
ルート(/)はウェブサーバ上の/zabbixにリダイレクトされるため、ウェブインタフェースにはhttp:<host>とhttp:<host>/zabbixのどちらからもアクセスできます。
これは/etc/apache2/conf.d/zabbix.confでカスタマイズできます。このファイルの変更後にウェブサーバを再起動してください。再起動するには、SSHを使用してrootユーザでログインし、以下を実行します。
service apache2 restart
デフォルトでは、- 22 (SSH)と80 (HTTP)の2つのポートのみが開いています。追加のポート(Zabbixサーバとエージェントのポートなど)を開くには、SuSEfirewall2ユーティリティでiptablesルールを変更します。
SuSEfirewall2 open EXT TCP zabbix-trapper zabbix-agent
次に、ファイアウォールのルールをリロードします。
SuSEfirewall2 stop SuSEfirewall2 start
Zabbixサーバは、以下のオプションを有効にしてコンパイルされています。
用意された設定では、Zabbixサーバ自体は、一部の基本パラメータ用にローカルにインストールされたエージェントによって監視されます。また、Zabbixウェブインタフェースは、ウェブ監視を使用して同様に監視されます。
Zabbixデーモンの名前は、SUSEガイドラインに従い、アンダースコアを使用する標準のものからダッシュに変更されています。名前は以下のようになります。
同様に、設定ファイルは以下のようになります。
適切なinitスクリプトが提供されています。Zabbixサーバをコントロールするには、service zabbix-server status rczabbix-server status /etc/init.d/zabbix-server statusのいずれかを使用します。
Zabbixエージェントのデーモンの場合、serverをagentdに置き換えます。
スケジュールされたスクリプト/var/lib/zabbix/binがあります。これは、Zabbixサーバが動作していない場合は再起動するように10分ごとにcrontabから実行されます。このスクリプトは問題発生時刻と起動時刻を/var/log/zabbix/server_problems.logに記録します。バージョン1.8.3以降のZabbixアプライアンスで利用できます。