Translations of this page:
ODT Export
 

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」です。

 
jp/1.8/manual/installation/installation_from_source.txt · Last modified: 2012/05/10 18:04 by kodai
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki