This translation is older than the original page and might be outdated. See what has changed.
Translations of this page:
ODT Export
 

2 インストール

2.1 Zabbixの入手方法

最新バージョンの情報およびダウンロード手順については、Zabbixホームページ(http://www.zabbix.com)を参照してください。

Zabbixはソースパッケージとして配布されていますが、いくつかのOSについてはコンパイル済みのバイナリが含まれています。

 

2.2 要件

2.2.1ハードウェア要件

2.2.1.1メモリ要件

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

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

2.2.1.2CPU要件

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

2.2.1.3その他のハードウェア

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

2.2.1.4ハードウェア設定の例

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

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

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

2.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.2.3ソフトウェア要件

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以降
2.2.3.1クライアントサイドのウェブブラウザ

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

2.2.4サーバ要件

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

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

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

  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite

2.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/1800)*(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以下です。
ヒストリ 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>

2.2.7時間の同期

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

 

2.3 コンポーネント

2.3.1Zabbixコンポーネント

Zabbixは、複数の有名なソフトウェアコンポーネントから構成されています。各コンポーネントの役割を以下に示します。

2.3.2Zabbixサーバ

これはZabbixソフトウェアの中核です。簡単なサービスチェック機能を使用して、ネットワーク経由で利用するサービス(ウェブサーバやメールサーバなど)をリモートからチェックしたり、エージェントから可用性や整合性に関する情報や統計情報を受信します。設定データ、統計データ、および運用データは全てサーバに保存されます。監視対象システムで問題が発生したときに、能動的に管理者にアラートを送信するのもサーバの役割です。

Zabbixは、エージェントレスで監視したり、SNMPエージェントでネットワークデバイスを監視することもできます。

2.3.3Zabbixプロキシ

プロキシは、Zabbixのオプションとして使用します。プロキシは、ZabbixXサーバの代わりにパフォーマンスおよび可用性データが収集されます。収集された全てのデータをローカルのバッファに格納し、プロキシが属するZabbixサーバに転送します。

Zabbixプロキシは、ローカル管理者のいないリモートの場所、支店、ネットワークを集中監視するための理想的なソリューションとなります。

また、Zabbixプロキシを使用して、単一のZabbixサーバの負荷を分散することもできます。この場合、プロキシのみでデータが収集されるため、サーバの処理に対するCPUとディスクI/Oの使用量が軽減されます。

2.3.4Zabbixエージェント

ネットワークに接続されたシステムのローカルのリソースやアプリケーション(ハードドライブ、メモリ、プロセッサの統計情報など)を能動的に監視するには、そのシステムでZabbixエージェントを実行する必要があります。エージェントは、動作するシステムの稼働情報を収集し、Zabbixサーバで処理するためにそれらのデータを送信します。障害(ハードディスク満杯、サービスプロセスのクラッシュなど)が発生した場合、Zabbixサーバは、障害が発生したマシンに関するアラートを能動的に管理者に送信します。

Zabbixエージェントは統計情報を収集する際にネイティブのシステムコールを使用するので、非常に効率的に動作します。

2.3.5ウェブインタフェース

監視データやZabbixの設定データに、プラットフォームを選ばずにどこからでも簡単にアクセスできるように、ウェブインタフェースが用意されています。このインタフェースはZabbixサーバに組み込まれており、通常はZabbixサーバが動作するのと同じ物理マシン上で動作しますが、別マシン上で動作させることもできます。

SQLiteを使用する場合は、SQLiteが動作するのと同じ物理マシン上でWebインターフェースを実行する必要があります。

 

2.4 ソースからのインストール

2.4.1ソフトウェア要件

ソースからZabbixサーバまたはアージェントを作成するためには、追加ソフトウェアが必要になります。

Zabbixをコンパイルするために必要なソフトウェアを以下に示します。

以下のデータベースエンジンのうちいずれか1つ:

  • MySQLのヘッダとライブラリ

バージョン3.22以降が必要です。

  • Oracleのヘッダとライブラリ

Sqlora8のヘッダとライブラリが必要です。

  • PostgreSQLのヘッダとライブラリ

バージョン7.0.2以降が必要です。パフォーマンスを高める必要がある場合はPostgreSQL 8.xの使用を検討してください。

  • SQLiteのヘッダとライブラリ

バージョン3.3.5以降が必要です。

通常は、mysql-dev、postgresql-dev、sqlite3-devの各パッケージの一部として提供されます。

NET-SNMP(またはUCD-SNMP)のライブラリファイルとヘッダファイル

SNMPをサポートする場合に必要です。(オプション)

Iksemelのライブラリファイルとヘッダファイル

Jabberメッセージングをサポートする場合に必要です。(オプション)

Libcurlのライブラリファイルとヘッダファイル

ウェブ監視モジュールでバージョン7.13.1以降が必要です。(オプション)

Cコンパイラ

Cコンパイラが必要です。オープンプラットフォームでは、GNU Cコンパイラが最適です。それ以外のCコンパイラ(HPやIBM製)も使用できます。

GNU Make

ZabbixのMakefileを処理するためにGNU Makeが必要です。

2.4.2Zabbixディストリビューションの構造

  • docs

本書がPDF形式で格納されています。

  • src

フロントエンドを除く全てのZabbixのソースが格納されています。

  • src/zabbix_server

zabbix_serverのMakefileとソースが格納されています。

  • src/zabbix_agent

zabbix_agentとzabbix_agentdのMakefileとソースが格納されています。

  • src/zabbix_get

zabbix_getのMakefileとソースが格納されています。

  • src/zabbix_sender

zabbix_senderのMakefileとソースが格納されています。

  • include

Zabbixのインクルードファイルが格納されています。

  • misc

* 様々なプラットフォーム用のスタートアップスクリプトが格納されています。

  • frontends

* PHPフロントエンドのファイルが格納されています。

  • create

データベースの初期作成用のSQLスクリプトが格納されています。

  • create/schema

データベース作成スキーマが格納されています。

  • create/data

データベース初期作成用データが格納されています。

  • upgrades

Zabbixの様々なバージョン用のアップグレード手順が格納されています。

2.4.3Zabbixサーバ

サーバサイド

ステップ1

Zabbixスーパーユーザアカウントの作成

サーバを実行するユーザを作成します。本番環境用に、特権を持たない専用アカウント(通常はzabbix)を作成する必要があります。セキュリティ上のリスクが生じるので、rootやbinなど、特権を持つアカウントでは、決してZABBIXプロキシを実行しないでください。

ZABBIXサーバプロセス(zabbix_server)は、rootアカウントで実行できないように保護されています。

ステップ2

ZABBIXソースの展開

shell> gunzip zabbix-1.8.tar.gz && tar -xvf zabbix-1.8.tar

ステップ3

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

The database will be automatically created if it does not exist.

ステップ4

使用するシステムに対応するソースコードの設定とコンパイル

サーバ(マシンを監視する)とクライアント(監視されるマシン)は、どちらもソースをコンパイルして作成する必要があります。サーバのソースを設定するために、使用するデータベースを指定する必要があります。

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

sqlora8のライブラリの位置を指定する場合はフラグ–with-oracleを使用します。Oracleをサポートする場合はこのライブラリが必要であり、libsqlora8のホームページから入手できます。

ライブラリをスタティックリンクする場合はフラグ–enable-staticを使用します。コンパイルしたバイナリを複数のサーバに分散させる場合は、分散先のサーバに必要なライブラリが存在しなくてもバイナリが動作するように、このフラグを使用する必要があります。Solarisでは–enable-staticは使用できません。–with-net-snmpの代わりにフラグ–with-ucd-snmpを使用することができます。SNMPをサポートする必要がない場合は、–with-net-snmpと–with-ucd-snmpはどちらも指定する必要はありません。

クライアントバイナリとサーババイナリを両方ともコンパイルする場合は、以下のコマンドを実行します。

shell> ./configure –enable-server –enable-agent –with-mysql –with-net-snmp –with-jabber –with-libcurl

パラメータ–enable-staticを使用すると、強制的にスタティックリンクすることができます。

ステップ5

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配下にインストールされます。

Step 6

/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のポート番号です。

Step 7

/etc/inetd.confの設定

推奨されているzabbix_agentdではなく、zabbix_agentを使用する場合は、以下の行を追加する必要があります。

zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent

inetdをリスタートします。

shell> killall -HUP inetd

設定ファイルのデフォルト設定を変更します。

Step 8

/etc/zabbix/zabbix_agent.confの設定

zabbix_agentをインストールする全てのホストでこのファイルを設定する必要があります。このファイルには、ZabbixサーバのIPアドレスを指定する必要があります。他のホストからの接続は拒否されます。サンプルとしてmisc/conf/zabbix_agent.confが提供されているので、必要に応じて参照してください。

Step 9

/etc/zabbix/zabbix_agentd.confの設定

zabbix_agentdをインストールする全てのホストでこのファイルを設定する必要があります。このファイルには、ZABBIXサーバのIPアドレスを指定する必要があります。他のホストからの接続は拒否されます。サンプルとしてmisc/conf/zabbix_agentd.confが提供されているので、必要に応じて参照してください。

Step 10

/etc/zabbix/zabbix_server.confの設定

小規模な環境(監視するホスト数が10以下)にインストールする場合、デフォルトパラメータを修正する必要はありません。ただし、Zabbixのパフォーマンスを最大限に高めるには、デフォルトパラメータを変更する必要があります。詳細については、「パフォーマンスチューニング」を参照してください。

サンプルとしてmisc/conf/zabbix_server.confが提供されているので、必要に応じて参照してください。

Step 11

サーバプロセスの実行

サーバサイドでzabbix_serverを実行します。

shell> cd sbin shell> ./zabbix_server

Step 12

エージェントの実行

必要なマシン上でzabbix_agentdを実行します。

shell> cd bin shell> ./zabbix_agentd

2.4.4Zabbixプロキシ

Zabbixプロキシは特別なプロセスです。プロセスを実行する必要はありません。

ステップ1

Zabbixスーパーユーザアカウントの作成

プロキシを実行するユーザを作成します。本番環境用に、特権を持たない専用アカウント(通常はzabbix)を作成する必要があります。セキュリティ上のリスクが生じるので、rootやbinなど、特権を持つアカウントでは、決してZABBIXプロキシを実行しないでください。

ZABBIXサーバプロセス(zabbix_server)は、rootアカウントで実行できないように保護されています。

ステップ2

ZABBIXソースの展開

shell> gunzip zabbix-1.8.tar.gz && tar -xvf zabbix-1.8.tar

ステップ3

Zabbixデータベースの作成(オプション)

データベースが存在しない場合は、ZABBIXプロキシプロセスの初回実行時に自動的に作成されます。それ以外の場合は、既存のデータベースが使用されます。データベースの自動作成機能はSQLiteのみサポートされています。

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

Oracleの場合(ユーザzabbixがパスワードpasswordで登録され、データベースオブジェクト作成権限が与えられているものとします)

shell> cd create/schema shell> cat oracle.sql | sqlplus zabbix/password >out.log

エラーメッセージが出力された場合は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

データベースが存在しない場合は自動的に作成されます。

ステップ4

使用するシステムに対応するソースコードの設定とコンパイル

ソースをコンパイルして、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

sqlora8のライブラリの位置を指定する場合はフラグ–with-oracleを使用します。Oracleをサポートする場合はこのライブラリが必要であり、libsqlora8のホームページから入手できます。

ライブラリをスタティックリンクする場合はフラグ–enable-staticを使用します。コンパイルしたバイナリを複数のホストに分散させる場合は、分散先のホストに必要なライブラリが存在しなくてもバイナリが動作するように、このフラグを使用する必要があります。Solarisでは–enable-staticは使用できません。–with-net-snmpの代わりにフラグ–with-ucd-snmpを使用することができます。SNMPをサポートする必要がない場合は、–with-net-snmpと–with-ucd-snmpはどちらも指定する必要はありません。

クライアントバイナリとプロキシバイナリを両方ともコンパイルする場合は、以下のコマンドを実行します。

shell> ./configure –enable-proxy –enable-agent –with-mysql –with-net-snmp –with-libcurl

パラメータ–enable-staticを使用すると、強制的にスタティックリンクすることができます。

ステップ5

Makeとインストール

shell> make install

デフォルトでは、

make install

を実行すると、全てのファイルが/usr/local/bin、/usr/local/libなどにインストールされます。–prefixを使用すると、/usr/local以外のインストールプリフィクスを指定できます。

Step 6

/etc/servicesの設定

このステップはオプションです。実行することをお奨めします。クライアント(監視される)マシンで、以下の行を/etc/servicesに追加します。

zabbix_agent 10050/tcp zabbix_trap 10051/tcp

Step 7

/etc/inetd.confの設定

推奨されているzabbix_agentdではなく、zabbix_agentを使用する場合は、以下の行を追加する必要があります。

zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent

inetdをリスタートします。

shell> killall -HUP inetd

設定ファイルのデフォルト設定を変更します。

Step 8

/etc/zabbix/zabbix_proxy.confの設定

小規模な環境(監視するホスト数が10以下)にインストールする場合、デフォルトパラメータを修正する必要はありません。ただし、Zabbixプロキシのパフォーマンスを最大限に高めるには、デフォルトパラメータを変更する必要があります。ホスト名とサーバのパラメータが正しく設定されていることを確認してください。サンプルとしてmisc/conf/zabbix_proxy.confが提供されているので、必要に応じて参照してください。

Step 9

プロキシプロセスの実行

zabbix_proxyを実行します。

shell> cd sbin shell> ./zabbix_proxy

2.4.5Zabbixエージェント

クライアントサイド

ステップ1

Zabbixアカウントの作成

エージェントを実行するユーザを作成します。本番環境用に、特権を持たない専用アカウント(通常はzabbix)を作成する必要があります。Zabbixエージェントは、rootアカウントで実行できないように保護されています。

ステップ2

ZABBIXソースの展開

shell> gunzip zabbix-1.6.tar.gz && tar xvf zabbix-1.6.tar

ステップ3

使用するシステムに対応するソースコードの設定とコンパイル

クライアント用のソースだけをコンパイルする必要があります。

クライアントのソースを設定するには、以下のコマンドを実行します。

shell> ./configure –enable-agent

ライブラリをスタティックリンクする場合はフラグ–enable-staticを使用します。コンパイルしたバイナリを複数のホストに分散させる場合は、分散先のホストに必要なライブラリが存在しなくてもバイナリが動作するように、このフラグを使用する必要があります。

ステップ4

エージェントのビルド

shell> make

bin/から/opt/zabbix/bin、または他のディレクトリにコピーします。他の一般的なディレクトリは/usr/local/bin または /usr/local/zabbix/binです。

ステップ5

/etc/servicesの設定

このステップは必ずしも必要ではありませんが、実行することをお奨めします。

クライアント(監視される)マシンで、以下の行を/etc/servicesに追加します。

zabbix_agent 10050/tcp zabbix_trap 10051/tcp

Step 6

/etc/inetd.confの設定

推奨されているzabbix_agentdではなく、zabbix_agentを使用する場合は、以下の行を追加する必要があります。

zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent

inetdをリスタートします。

shell> killall -HUP inetd

Step 7

/etc/zabbix/zabbix_agent.confの設定

zabbix_agentをインストールする全てのホストでこのファイルを設定する必要があります。このファイルには、ZabbixサーバのIPアドレスを指定する必要があります。他のホストからの接続は拒否されます。このファイルで、EOL文字は使用しないでください。

サンプルとしてmisc/conf/zabbix_agent.confが提供されているので、必要に応じて参照してください。

Step 8

/etc/zabbix/zabbix_agentd.confの設定

zabbix_agentdをインストールする全てのホストでこのファイルを設定する必要があります。このファイルには、ZabbixサーバのIPアドレスを指定する必要があります。他のホストからの接続は拒否されます。サンプルとしてmisc/conf/zabbix_agentd.confが提供されているので、必要に応じて参照してください。

Step 9

監視する全てのマシン上でzabbix_agentdを実行

shell> /opt/zabbix/bin/zabbix_agentd

zabbix_agentを使用する場合は、zabbix_agentdは実行しないでください。

システムで共有メモリに2MBを割り当て可能であることを確認してください。この共有メモリを割り当てられない場合、エージェントの起動は失敗して、エージェントのログファイルに「Can't allocate shared memory for collector.」というメッセージが出力されます。この現象はSolaris 8で発生する可能性があります。

2.4.6Zabbix Webインタフェース

ステップ1

ブラウザでZABBIX URLに移動します。

ステップ2

GPL v2の内容を確認して合意します。

ステップ3

ソフトウェアの前提条件を全て満たしていることを確認します。

前提条件 最小値 説明
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
ステップ4

データベースを設定します。Zabbixデータベースは作成済みである必要があります。

ステップ5

Zabbixサーバの詳細を入力します。

Step 6

これまでに設定した内容を確認します。

Step 7

設定ファイルをダウンロードして、conf/に配置します。

Step 8

インストール完了です。

Step 9

このステップは分散監視の場合にのみ実行します。

分散環境でZABBIXを使用する場合、以下のコマンドを実行する必要があります。

shell> ./zabbix_server –n <nodeid>

ここで、ノードIDは一意なノードIDです。例:

shell> ./zabbix_server –n 1

このコマンドは、データベースデータをノードID「1」で使用できるように変換し、ローカルノードを追加します。

Step 10

Zabbixウェブインタフェースの使用準備は完了です。デフォルトのユーザ名は「Admin」、パスワードは「zabbix」です。

 

2.5 アップグレード

2.5.1変更レベルのリリース

変更レベルのリリースでは、サーバのバイナリとフロントエンドのアップグレードが必要とされます。リリースノートに記述れさている場合は、幾つかのインデックスがデータベースのパフォーマンス改善のために追加されることがあります。アップグレードは1.8.1から1.8.3等へといくつかのバージョンへ簡単なステップで実行することができます。

2.5.2安定版のリリース

安定版リリースのアップグレード(1.4から1.6、または1.6から1.8へのアップグレード)はバイナリとフロントエンドのアップグレードに追加して、データベースのパッチが通常必要とされます。

2.5.3バージョンの互換性

ZABBIX 1.8では、Zabbix 1.0、Zabbix 1.1.x、Zabbix 1.4.x、およびZabbix 1.6の旧エージェントを使用することができます。エージェント側で設定を変更する必要はありません。

Zabbix 1.8ではバージョン1.6の旧Zabbixプロキシは利用できません。アップグレードを行う必要があります。

2.5.4重要:

  • すべてのホストは少なくとも1つのグループに所属する必要があります。
  • Linuxのキーsystem.cpu.utilのインデックスが0から始まります。
  • すべてのOSでキーvfs.fs.sizeはバイト数を返します。
  • キーvfs.fs.sizeはrootユーザアカウントに予約された領域を含めた値を返します。
  • 設定ファイルの最終行にコメントを書くことはできません(以前は数字のパラメータのみこの制限がありました)。

2.5.5システム要求の変更

システム要求の追加と増加:

  • PHP 4のサポートを削除。
  • PHPの最大メモリサイズを128MB以上に変更(memory_limitオプション)。
  • 最大PHP POSTサイズを16MB以上に変更(post_max_sizeオプション)

2.5.6既知の問題

  • Zabbix 1.8ではPHPのバージョンが5.2より低いとmbstringのチェックが失敗します。この問題を回避するためにはzabbix.conf.php.exampleファイルを zabbix.conf.phpにコピーし、データベースをアクセスするパラメータを修正します。
  • IPMIの機能を使用する場合はOpenIPMIバージョン2.0.13以降が必要になります。
  • Webインターフェースのソート機能は変数に対応していません(アイテム名に$1などを利用した場合など)。
  • すべてのアイテムでXMLエクスポートにSNMPやその他の情報が含まれます。
  • zabbix_senderを利用してファイルからデータを送信した際にスペースが含まれるホスト名を使用している場合は正常に動作しません。
  • データベースが正しく設定されていない場合、ネットワークマップのイメージのアップロードに失敗する場合があります。データベースのテーブルやフィールドは必ずUTF-8エンコードに設定してください。

2.5.7アップグレード手順

Zabbix 1.6.xから1.8にアップグレードするための手順を以下に示します。Zabbixデータベースのサイズによっては、これらの手順で数時間を要する場合があります。

2.5.7.1ZABBIXサーバの停止

データベースに新しいデータが保存されないようにZabbixサーバを停止します。

2.5.7.2現在のZABBIXデータベースのバックアップ

これは非常に重要な手順です。必ずデータベースのバックアップを作成してください。アップグレード手順が失敗した場合(ディスク容量不足、電源断、予期しない問題が発生した場合)に、このバックアップが必要になります。

2.5.7.3設定ファイル、PHPファイル、ZABBIXバイナリのバックアップ

設定ファイル、PHPファイル、およびZabbixバイナリのバックアップコピーを作成します。

2.5.7.4新しいサーババイナリのインストール

コンパイル済みバイナリを利用するか、自身でコンパイルを行ってください。

2.5.7.5サーバ設定パラメータのレビュー

1.8ではzabbix_server.confの一部のパラメータが変更され、新しいパラメータが追加されています。必要に応じて、新しいパラメータを確認してください。

  • Zabbixサーバとプロキシの設定ファイルから設定オプションStartDBSyncers削除されています
2.5.7.6データベースのアップグレード

このステップはバージョン1.6からアップグレードする場合にのみ実行します。バージョン1.8.xから別のバージョンにアップグレードする場合は省略します。

データベースのパッチを適用する場合は、事前に全てのZABBIXプロセスを停止する必要があります。

データベースのアップグレードを行う前には正しくバックアップが取れていることを確認して下さい。

アップグレードスクリプトを実行する前に、以下のインデックスを削除してください:

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>:

  • MySQL: upgrades/dbpatches/1.8/mysql/patch.sql
  • Oracle: upgrades/dbpatches/1.8/oracle/patch.sql
  • PostgreSQL: upgrades/dbpatches/1.8/postgresql/patch.sql

データベースのアップグレードには10〜15分程度かかります。PostgreSQLの場合、既存のヒストリデータの変換のために数時間を要する場合もあります。非本番環境でアップグレード手順をテストすることをお奨めします。

データベースをUTF-8に変換する場合は長時間を要します。

十分なパーミッション(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

2.5.7.7新しいZabbix GUIのインストール

インストール手順を参照してください。

2.5.7.8新しいZABBIXバイナリの起動

新しいバイナリを起動します。ログファイルをチェックして、バイナリが正常に起動されていることを確認します。

 

2.6 Zabbixアプライアンスの使用

Zabbixの既存のサーバを手動で設定したり再利用したりする以外に、Zabbixアプライアンスをダウンロードできます。

はじめに、アプライアンスを起動して、DHCPで受信したIPにブラウザを移動します。

Zabbixアプライアンスの起動

Zabbixアプライアンスは、以下の形式で利用可\'94\'5cなOpenSUSE 11.2ベースのイメージです。

  • vmdk (VMWare/Virtualbox);
  • CD iso;
  • HDD/Flashイメージ;
  • Xenゲスト.

Zabbixアプライアンスでは、MySQLでZabbixサーバを設定して実行し、ウェブインタフェースを利用できます。

アプライアンスはSUSE Studioを利用して構築されています。

2.6.1SUSE設定の変更

OpenSUSEの基本設定にいくつかの変更が適用されています。

2.6.1.1MySQL設定の変更
  • バイナリログが無効になっています。
  • InnoDBは、各テーブルのデータを個別のファイルに保存するように設定されています。
2.6.1.2スタティックIPアドレスの使用

デフォルトでは、アプライアンスはDHCPを使用してIPアドレスを取得します。スタティックIPアドレスを指定するには、以下のようにします。

  • rootユーザでログインします。
  • お好きなエディタでファイル/etc/sysconfig/network/ifcfg-eth0を開きます。
  • BOOTPROTO変数をstaticに設定します。
  • ネットワークに対して、IPADDRNETMASKなどのパラメータを必要に応じて設定します。
  • コマンドrcnetwork restartを実行します。
2.6.1.3その他の変更
  • ネットワークは、DHCPを使用してIPアドレスを取得するように設定されています。
  • ユーティリティfpingは、権限4710を保持するように設定されています。また、所有グループをzabbixに変更し、suidまたはzabbixグループでしか使用できません。
  • ntpdは、公開プールサーバに同期するように設定されています。
  • Zabbixとの連携や監視が全般的に容易になるように様々な基本ユーティリティが追加されています。

2.6.2Zabbix設定

アプライアンスのZabbix設定には、パスワードとその他の設定について以下の変更があります。

2.6.2.1パスワード

システム:

  • root:zabbix
  • zabbix:zabbix

データベース:

  • root:zabbix
  • zabbix:zabbix

Zabbix Webインタフェース:

  • admin:zabbix

データベースユーザのパスワードを変更するには、以下の場所で変更してください。

  • MySQL;
  • zabbix_server.conf;
  • zabbix.conf.php.
2.6.2.2ファイルの場所

設定ファイルは/etc/zabbixにあります。

Zabbixログファイルは/var/log/zabbixにあります。

ユーザzabbixのホームディレクトリは/var/lib/zabbixです。

2.6.2.3Zabbix設定の変更
  • デフォルトのLinuxテンプレートの一部のアイテムとトリガーが無効になっています(ほとんどは、アプライアンスの設定に対応していなかったものです)。
  • Zabbixウェブインタフェースのサーバ名が「Zabbix 1.8 Appliance」に設定されています。
  • ウェブインタフェースのタイムゾーンがEurope/Riga、Zabbixホームに設定されています(これは/etc/php5/apache2/php.iniで変更できます)。
  • 混乱しないように、無効なトリガーとウェブシナリオがデフォルトで表示されます。

2.6.3Webインタフェースへのアクセス

デフォルトでは、以下の場所からウェブインタフェースにアクセスできます。

  • 127.0.0.1
  • 192.168.0.0/16
  • 10.0.0.0/8
  • ::1

ルート(/)はウェブサーバ上の/zabbixにリダイレクトされるため、ウェブインタフェースにはhttp:<host>とhttp:<host>/zabbixのどちらからもアクセスできます。

これは/etc/apache2/conf.d/zabbix.confでカスタマイズできます。このファイルの変更後にウェブサーバを再起動してください。再起動するには、SSHを使用してrootユーザでログインし、以下を実行します。

service apache2 restart

2.6.4ファイアウォール

デフォルトでは、- 22 (SSH)と80 (HTTP)の2つのポートのみが開いています。追加のポート(Zabbixサーバとエージェントのポートなど)を開くには、SuSEfirewall2ユーティリティでiptablesルールを変更します。

SuSEfirewall2 open EXT TCP zabbix-trapper zabbix-agent

次に、ファイアウォールのルールをリロードします。

SuSEfirewall2 stop SuSEfirewall2 start

2.6.5監視機能

Zabbixサーバは、以下のオプションを有効にしてコンパイルされています。

  • SNMP;
  • IPMI;
  • Web監視;
  • SSH2;
  • IPv6.

用意された設定では、Zabbixサーバ自体は、一部の基本パラメータ用にローカルにインストールされたエージェントによって監視されます。また、Zabbixウェブインタフェースは、ウェブ監視を使用して同様に監視されます。

Zabbixアプライアンスは自身のWebインターフェースを監視します。

ウェブウェブインタフェースの監視がログインすることに注意してください。これにより、多くのエントリが監査ログに追加されます。

2.6.6命名規則、init、その他のスクリプト

Zabbixデーモンの名前は、SUSEガイドラインに従い、アンダースコアを使用する標準のものからダッシュに変更されています。名前は以下のようになります。

  • zabbix-agentd
  • zabbix-server

同様に、設定ファイルは以下のようになります。

  • /etc/zabbix/zabbix-server.conf
  • /etc/zabbix/zabbix-agentd.conf

適切なinitスクリプトが提供されています。Zabbixサーバをコントロールするには、service zabbix-server status rczabbix-server status /etc/init.d/zabbix-server statusのいずれかを使用します。

Zabbixエージェントのデーモンの場合、serveragentdに置き換えます。

2.6.6.1スケジュールされたスクリプト

スケジュールされたスクリプト/var/lib/zabbix/binがあります。これは、Zabbixサーバが動作していない場合は再起動するように10分ごとにcrontabから実行されます。このスクリプトは問題発生時刻と起動時刻を/var/log/zabbix/server_problems.logに記録します。バージョン1.8.3以降のZabbixアプライアンスで利用できます。

 
 
jp/1.8/manual/installation.txt · Last modified: 2010/07/05 07:30 by kodai
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki