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 user@host:/home/oracle
ファイルdata/images_oracle.sqlを編集し、images_dir変数に“/home/oracle/images”を設定します: CREATE OR REPLACE DIRECTORY image_dir AS '/home/oracle/images'
データのインポートを行います:
shell> sqlplus zabbix/password@host/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 ibm-db2 net-snmp --with-jabber --with-libcurl # for IBM DB2 + Jabber + WEB monitoring
または
shell> ./configure --enable-server mysql net-snmp --with-jabber --with-libcurl # for MySQL + Jabber + WEB monitoring
または
shell> ./configure --enable-server oracle net-snmp --with-jabber --with-libcurl # for Oracle + Jabber + WEB monitoring
または
shell> ./configure --enable-server pgsql net-snmp --with-jabber --with-libcurl # for PostgreSQL + Jabber + WEB monitoring
または
shell> ./configure --enable-server sqlite3 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配下にインストールされます。
/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
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でデータベース·キャラクタ·セットが必要です。データベースがUTF 8でない場合は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 oracle=/home/zabbix/sqlora8 --with-net-snmp –with-libcurl # for Oracle + WEB monitoring
sqlora8のライブラリの位置を指定する場合はフラグ–with-oracleを使用します。Oracleをサポートする場合はこのライブラリが必要であり、libsqlora 8のホームページから入手できます。 ライブラリをスタティックリンクする場合はフラグ–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
以外のインストールプリフィクスを指定できます。 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
ステップ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つがインストールされている必要があります。\\mysql, php-sqlora8, php-pgsql, php-sqlite3 PHP BC math 任意 PHP5でコンパイルされていること GDバージョン 2.0以降 モジュールphp-gd イメージ形式 少なくともPNGに対応していること モジュールphp-gd ステップ4 データベースを設定します。Zabbixデータベースは作成済みである必要があります。
ステップ5
Step 6
Step 7
Step 8
Step 9
このステップは分散監視の場合にのみ実行します。
分散環境でZABBIXを使用する場合、以下のコマンドを実行する必要があります。 shell> ./zabbix_server –n <nodeid> ここで、ノードIDは一意なノードIDです。例:
shell> ./zabbix_server –n 1
このコマンドは、データベースデータをノードID「1」で使用できるように変換し、ローカルノードを追加します。
Step 10
From:
https://www.zabbix.com/documentation/1.8/ - Zabbix Documentation 1.8 Permanent link:
https://www.zabbix.com/documentation/1.8/jp/manual/installation/installation_from_source