最新のZabbixは、ソースからコンパイルすることで入手できます。 ここでは、ソースからZabbixをインストールする方法について手順を段階的に説明します。
Zabbixダウンロードページに進んで、ソースアーカイブをダウンロードします。ダウンロードしたら、次を実行してソースを解凍します。
<note tip>コマンドには、正しいZabbixのバージョンを入力してください。ダウンロードしたアーカイブの名前と一致している必要があります。 :::
Zabbixデーモンプロセスすべてについて、非特権ユーザーが必要です。Zabbixデーモンが非特権ユーザーから開始されると、そのユーザーとして実行されます。
ただし、デーモンが「root」アカウントから開始されると、必ず存在するはずの「zabbix」ユーザーアカウントに切り替わります。そうした(各自のグループ内で「zabbix」という)ユーザーアカウントをLinuxシステム上で作成するには、次を実行します。
ZabbixのWebインターフェースのインストールには、個々のユーザーアカウントは必要ありません。
Zabbix サーバとエージェントを同じマシンで実行する場合、サーバの実行とエージェントの実行に別々のユーザーを使用することをお奨めします。そうしないと、両方とも同じユーザーとして実行された場合、エージェントがサーバ設定ファイルにアクセスでき、ZabbixのAdminレベルのユーザーがデータベースのパスワードなどを容易に取得できます。
<note important>Zabbixをroot
、bin
、または他の特権があるアカウントとして実行することは、セキュリティ上のリスクとなります。 :::
ZabbixサーバやプロキシデーモンおよびZabbixのWebインターフェースには、データベースが必要です。Zabbixエージェントを起動する必要はありません。
データベーススキーマの作成およびデータセットの挿入のために、SQLスクリプトが用意されています。Zabbixプロキシデータベースは、スキーマのみを必要としますが、Zabbixサーバデータベースは、スキーマの先頭にデータセットも必要とします。
Zabbixデータベースの作成が完了したら、Zabbixをコンパイルする次のステップに進みます。
Zabbixサーバまたはプロキシのソースを設定するときには、使用する予定のデータベースのタイプを指定する必要があります。サーバまたはプロキシのプロセスでコンパイルできるデータベースのタイプは、1回に1つだけです。
サポートされている設定オプションをすべて参照するには、解凍したZabbixソースのディレクトリの中で次を実行します。
Zabbixサーバおよびエージェントのソースを設定するには、次のように実行します。
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
--with-libxml2という設定オプションは、Zabbix 2.2.0以降でサポートされた仮想マシンの監視に必要です。
Zabbixサーバ(PostgreSQLなどで動作)のソースを設定するには、次を実行します。
Zabbixプロキシ(SQLiteで動作)のソースを設定するには、次を実行します。
Zabbixエージェントのソースを設定するには、次のように実行します。
--enable-staticフラグを追加して、ライブラリを静的にリンクできます。コンパイルしたバイナリを異なるサーバ間で分配しようとする場合は、このフラグを使用して、必要なライブラリが存在しなくてもこれらのバイナリが動作するようにしなければなりません。 --enable-staticは、Solarisの環境では動作しないことに注意してください。
サーバを構築するときに、--enable-staticオプションの使用はお奨めしません。
静的にサーバを構築するには、必要な外部ライブラリすべてについて静的なバージョンが必要です。設定スクリプト内では、それについて厳密なチェックはありません。
--enable-agentオプションが使用されている場合、コマンドラインユーティリティzabbix_getおよび zabbix_senderがコンパイルされます。
--with-ibm-db2フラグを使用して、CLI APIの場所を指定します。
--with-oracleフラグを使用して、OCI APIの場所を指定します。
SVNからインストールする場合、最初に次を実行する必要があります。
$ make dbschema
このステップは、十分な権限があるユーザーとして(一般には「root」、またはsudo
を使用)実行する必要があります。
make install
を実行すると、デフォルトでデーモンバイナリ(zabbix_server、zabbix_agentd、zabbix_proxy)が/usr/local/sbinに、クライアントバイナリ(zabbix_get、zabbix_sender)が/usr/local/binにインストールされます。
/usr/localとは異なる場所を指定するには、ソースを設定する前のステップで、例えば--prefix=/home/zabbixのように、--prefixキーを使用します。この場合、デーモンバイナリは<prefix>/sbinの下にインストールされ、ユーティリティは<prefix>/binの下にインストールされます。マンページは、<prefix>/shareの下にインストールされます。
zabbix_agentdがインストールされたすべてのホストについて、このファイルを設定する必要があります。
このファイルに、ZabbixサーバのIPアドレスを指定する必要があります。他のホストからの接続は拒否されます。
データベース名、ユーザー、パスワード(使用している場合)を指定する必要があります。
SQLiteの場合、データベースファイルのフルパスを指定する必要があります。DBユーザーとパスワードは必要ありません。
小規模な環境(監視対象ホスト数が10以下)にインストールする場合は、他のパラメータはデフォルトのままで構いません。Zabbixサーバ(またはプロキシ)のパフォーマンスを最大限に高めたい場合は、デフォルトのパラメータを変更する必要があります。詳細については、パフォーマンスチューニングのセクションを参照してください。
データベース名、ユーザー、パスワード(使用している場合)に加えて、サーバのIPアドレスとプロキシのホスト名(サーバに知らせる必要があります)を指定する必要があります。
SQLiteの場合、データベースファイルのフルパスを指定する必要があります。DBユーザーとパスワードは必要ありません。
サーバ側でzabbix_serverを実行します。
使用しているシステムで、共有メモリ36MB(またはもう少し多く)を割り当てられることを確認してください。そうでない場合、サーバは起動できず、サーバのログファイルに「Cannot allocate shared memory for <type of cache>.」というメッセージが出力されます。これは、FreeBSD、Solaris 8で発生する場合があります。
共有メモリの設定方法については、このページ下部の「こちらも参照」セクションを参照してください。
すべての監視対象マシンでzabbix_agentdを実行します。
使用しているシステムで、共有メモリ2MBを割り当てられることを確認してください。割り当てられない場合、エージェントは起動できず、サーバのログファイルに「Cannot allocate shared memory for collector.」というメッセージが出力されます。これは、Solaris 8で発生する場合があります。
Zabbixプロキシをインストールしている場合、zabbix_proxyを実行します。
ZabbixのWebインターフェースはPHPで書かれているため、実行するにはPHPをサポートしているWebサーバが必要です。インストールは、PHPファイルをfrontends/phpからWebサーバのHTMLの文書ディレクトリにコピーするだけです。
Apache WebサーバのHTMLの文書ディレクトリの共通の場所には、次のものがあります。
HTMLルートの代わりに、サブディレクトリを使用することをお奨めします。サブディレクトリを作成してZabbixのWebインターフェースのファイルをコピーするには、次のコマンドを実行して、実際のディレクトリを置き換えます。
SVNからインストールし、英語以外の言語を使用する場合は、翻訳ファイルを生成する必要があります。翻訳ファイルを生成するには、次を実行します。
gettextパッケージのmsgfmt
ユーティリティが必要です。
さらに、英語以外の言語を使用するには、そのロケールをWebサーバにインストールする必要があります。必要な場合のインストール方法については、「ユーザープロファイル」ページの「こちらも参照」セクションを参照してください。
ブラウザーで、ZabbixのURL(http://<server_ip_or_name>/zabbix)を開きます。
Webインターフェースのインストールウィザードで最初の画面が表示されます。
ソフトウェアの必要条件をすべて満たしていることを確認します。
必要条件 最小値 | 説明 | |
---|---|---|
PHPバージョン 5.3. | ||
PHP memory_limitオプション 128M | php. | niでの記述: memory_limit = 128M |
PHP post_max_sizeオプション 16MB | php. | niでの記述: post_max_size = 16M |
PHP upload_max_filesizeオプション 2MB | php. | niでの記述: upload_max_filesize = 2M |
PHP max_execution_timeオプション 300秒 | php.i | iでの記述: max_execution_time = 300 |
PHP max_input_timeオプション 300秒 | php.i | iでの記述: max_input_time = 300 |
PHP session.auto_startオプション 無効化が | 要 php.iniでの記 | : session.auto_start = 0. |
データベースのサポート 次のうち1つ:IBM | DB2、MySQL、Oracle、PostgreSQL、SQLite 次のモジュールのうち1つがインストールさ | ていること。 ibm_db2、mysql、oci8、pgsql、sqlite3 |
bcmath | php-bcmath | |
mbstring | php-mbstring | |
sockets | php-net-socket ユーザースクリプトのサポートに必要です。 |
|
gd | 2.0以降 p | p-gd PHP GDエクステンションは、PNG画像(--with-png-dir)、JPEG(--with-jpeg-dir)画像、FreeType 2(--with-freetype-dir)をサポートしている必要があります。 |
libxml | 2.6.15 | php-xmlまたはphp5-dom |
xmlwriter | php-xmlwriter | |
xmlreader | php-xmlreader | |
ctype | php-ctype | |
session | php-session | |
gettext | php-gettext Zabbix 2.2.1以降は、PHP gettextエクステンションはもうZabbixのインストールの必須要件ではありません。gettextがインストールされていない場合、Webインターフェースは通常通り動作しますが、翻訳は利用できません。 |
Zabbix 2.2.1以降は、オプションの必要条件もリストに存在する場合があります。満たされていないオプションの必要条件があると、オレンジ色で表示され、ステータスが「警告」となります。必要条件を満たさないオプションがあっても、セットアップは続けられます。
データベースに接続するための詳細を入力します。すでにZabbixデータベースが作成されている必要があります。
Zabbixサーバの詳細を入力します。
設定した内容を確認します。
設定ファイルをダウンロードして、conf/の下に置きます。
Webサーバのユーザーにconf/ディレクトリへの書き込み権限がある場合、設定ファイルは自動的に保存され、直ちに次のステップへ進むことができます。
インストールを終了します。
ZabbixのWebインターフェースの使用準備が完了しました。デフォルトのユーザー名はAdmin、パスワードはzabbixです。
Zabbixの開始に進んでください。
インストール固有の問題のトラブルシューティングのセクションを参照してください。
本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。