Zabbix Documentation 1.8

3.04.05.0 (current)| In development:5.2 (devel)| Unsupported:1.82.02.22.43.23.44.24.4Guidelines

User Tools

Site Tools


Sidebar

jp:manual:installation:installation_from_source

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

2.4.1 ソフトウェア要件

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

Zabbixをコンパイルするために必要なソフトウェアを以下に示します (必要なソフトウェアのバージョン):

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

  • IBM DB2のヘッダとライブラリ - CLIのヘッダーとライブラリが必要です。
  • MySQLのヘッダとライブラリ
  • Oracleのヘッダとライブラリ - OCIのヘッダーとライブラリが必要です。
  • PostgreSQLのヘッダとライブラリ
  • SQLiteのヘッダとライブラリ
通常は、mysql-dev、postgresql-dev、sqlite3-devの各パッケージの一部として提供されます。

NET-SNMP (または UCD-SNMP)ライブラリとヘッダファイル。 SNMPサポートのために必要。(オプション)

Iksemel ライブラリとヘッダファイル。Jabberのメッセージングを有効にするために必要。(オプション)

Libcurl ライブラリとヘッダファイル。 WEB監視モジュールのために必要。(オプション)

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

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

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

  • 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
    • misc/init.d

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

  • frontends
    • frontends/php

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

  • create

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

  • create/schema

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

  • create/data

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

  • upgrades

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

2.4.3 Zabbixサーバ

サーバサイド

ステップ1

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

このユーザはサーバを実行することができます。本番環境用に特権を持たない(Zabbixが通常使用する)専用アカウントを作成する必要があります。rootやbinまたは任意の特権を持つアカウントでZabbixを実行するとセキュリティ上のリスクが発生します。それは止めてください。

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

ZABBIXソースの展開

shell> tar -zxf zabbix-1.8.tar.gz
ステップ3

Zabbixデータベースの作成

Zabbixには、必要なデータベーススキーマを作成し、デフォルト設定データを挿入するためのSQLスクリプトが付属しています。スクリプトは、IBM DB2、MySQL、Oracle、PostgreSQL、SQLite用に別々に用意されています。

IBM DB2の場合:

shell> db2 "create database zabbix using codeset utf-8 territory us pagesize 32768"
shell> cd create/schema
shell> db2batch -d zabbix -f ibm_db2.sql
shell> cd ../data
shell> db2batch -d zabbix -f data.sql
shell> db2batch -d zabbix -f images_ibm_db2.sql

ZabbixフロントエンドではSQLクエリでOFFSET句とLIMIT句を使用します。 これを機能させるには、IBM DB2サーバーがDB2_COMPATIBILITY_VECTOR変数が3に設定されている必要があります。データベース·サーバを起動する前に次のコマンドを実行します:

shell> db2set DB2_COMPATIBILITY_VECTOR=3

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

data/imagesをoracleサーバのどこかにコピーします、例えば/home/oracle:

shell> scp -r data/images [email protected]:/home/oracle

ファイルdata/images_oracle.sqlを編集し、images_dir変数に“/home/oracle/images”を設定します:

CREATE OR REPLACE DIRECTORY image_dir AS '/home/oracle/images'

データのインポートを行います:

shell> sqlplus zabbix/[email protected]/ORCL
sqlplus> set def off
sqlplus> @schema/oracle.sql
sqlplus> @data/data.sql
sqlplus> @data/images_oracle.sql
sqlplus> exit
ZabbixはUTF8でデータベース·キャラクタ·セットが必要です。データベースがUTF8でない場合はALTER DATABASE NATIONAL CHARACTER SET UTF8;を実行することで変換することができます。

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
ステップ4

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

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

shell> ./configure --enable-server --with-ibm-db2 --with-net-snmp --with-jabber --with-libcurl # for IBM DB2 + Jabber + WEB monitoring

または

shell> ./configure --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl # for MySQL + Jabber + WEB monitoring

または

shell> ./configure --enable-server --with-oracle --with-net-snmp --with-jabber --with-libcurl # for Oracle + 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-sqlite3 --with-net-snmp --with-jabber --with-libcurl # for SQLite3 + Jabber + WEB monitoring
--with-ibm-db2はCLI APIの指定に使用します。
--with-oracleはOCI APIの指定に使用します。
--with-ucd-snmpは--with-net-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を使用します。別サーバにコンパイルしたバイナリを配布する予定がある場合は、必要なライブラリなしでこれらのバイナリを作成するために、このフラグを使用する必要があります。--enable-staticは、Solarisで動作しないことに注意してください。
ステップ5

Makeとインストール

shell> make install

デフォルトでは、make installを実行すると全てのファイルが/usr/local/bin、/usr/local/libなどにインストールされます。十分な権限を持っていることを確認してください。

--prefixを使用し/usr/local以外のインストールプレフィックスを指定することができます、例えば--prefix=/home/zabbix。この場合、デーモンのバイナリは<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

設定ファイルを保持するための場所を作成:

mkdir /etc/zabbix
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 sbin
shell> ./zabbix_agentd

2.4.4Zabbixプロキシ

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

ステップ1

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

このユーザはプロキシを実行することができます。本番環境用に特権を持たない(Zabbixが通常使用する)専用アカウントを作成する必要があります。rootやbinまたは任意の特権を持つアカウントでZabbixプロキシを実行するとセキュリティ上のリスクが発生します。それは止めてください。

Zabbixプロキシプロセス(zabbix_proxy)は、rootアカウントで実行できないように保護されています。
ステップ2

Zabbixソースの展開

shell> tar -zxf zabbix-1.8.tar.gz
ステップ3

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

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

Zabbixには、必要なデータベーススキーマを作成するためのSQLスクリプトが付属しています。スクリプトは、IBM DB2、MySQL、Oracle、PostgreSQL、SQLite用に別々に用意されています。

IBM DB2の場合:

shell> db2 "create database zabbix using codeset utf-8 territory us pagesize 32768"
shell> cd create/schema
shell> db2batch -d zabbix -f ibm_db2.sql

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ファイルを確認してください。ZabbixはUTF8でデータベース·キャラクタ·セットが必要です。データベースがUTF8でない場合はALTER DATABASE NATIONAL CHARACTER SET UTF8;を実行することで変換することができます。

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