• 検索結果がありません。

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

N/A
N/A
Protected

Academic year: 2021

シェア "2.4 ソースからのインストール"

Copied!
22
0
0

読み込み中.... (全文を見る)

全文

(1)

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 ●

(2)

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

(3)

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'

(4)

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

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

(5)

または

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

(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

(7)

のパフォーマンスを最大限に高めるには、デフォルトパラメータを変更する必要があります。詳細については、「パフォーマンスチューニング」を参照してください。サンプルとして 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

(8)

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

(9)

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

(10)

以外のインストールプリフィクスを指定できます。 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エージェント

(11)

クライアントサイド ステップ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に追加します。

(12)

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で発生する可能性があります。

(13)

2.4.6Zabbix Webインタフェース ステップ1

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

ステップ2

(14)

ステップ3

(15)

前提条件 最小値 説明

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データベースは作成済みである必要があります。

(16)

ステップ5

(17)

Step 6

(18)

Step 7

(19)

Step 8

(20)
(21)

Step 9

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

分散環境でZABBIXを使用する場合、以下のコマンドを実行する必要があります。 shell> ./zabbix_server –n <nodeid> ここで、ノードIDは一意なノードIDです。例:

shell> ./zabbix_server –n 1

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

Step 10

(22)

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

参照

関連したドキュメント

This paper establishes the rate of convergence (in the uniform Kolmogorov distance) for normalized additive functionals of stochastic processes with long-range dependence to a

In Section 3, we deal with the case of BSDEs with fixed terminal time&#34; we prove an existence and uniqueness result and establish some a priori estimates for the solutions of

This is a typical behavior for processes comprising both jump and diffusion part, and for general open sets one cannot expect a scale-invariant result: the boundary Harnack

Yang, Complete blow-up for degenerate semilinear parabolic equations, Journal of Computational and Applied Mathematics 113 (2000), no.. Xie, Blow-up for degenerate parabolic

We establish Hardy-type inequalities for the Riemann-Liouville and Weyl transforms as- sociated with the Jacobi operator by using Hardy-type inequalities for a class of

We establish the existence of a unique solution of an initial boundary value prob- lem for the nonstationary Stokes equations in a bounded fixed cylindrical do- main with measure

It leads to simple purely geometric criteria of boundary maximality which bear hyperbolic nature and allow us to identify the Poisson boundary with natural topological boundaries

In this paper we prove a strong approximation result for a mixing sequence of identically distributed random variables with infinite variance, whose distribution is symmetric and