ソースからコンパイルすることによって、Zabbix の最新のバージョンを使用できます。
ソースからのZabbixのインストールについてのステップ・バイ・ステップのチュートリアルをこちらで示します。
Zabbixのダウンロードページに行き、ソースのアーカイブをダウンロードします。ダウンロードしたら、以下を実行してソースを展開します:
$ tar -zxvf zabbix-2.0.0.tar.gz
すべてのZabbix のデーモンプロセスに対して、特権を持たないユーザーが必要です。ある1つの特権を持たないユーザーアカウントから開始されると、Zabbix デーモンはそのユーザーとして動作します。
しかし、Zabbix デーモンが root アカウントから開始されると、必ず存在するはずの zabbix ユーザーのアカウントに切り替えられて保護されます。Linux システムで、各自のグループ内にこのようなzabbix ユーザーアカウントを作成するには、次のように実行します:
groupadd zabbix useradd -g zabbix zabbix
Zabbix フロントエンドのインストールには、個別のユーザーアカウントは不要です。
Zabbixサーバ や Zabbixエージェントを同一のマシン上で動作させる場合は、エージェントの動作とサーバの動作に対してそれぞれ異なるユーザーで使用することをお奨めします。そうしないと、両方が同一ユーザーとして動作している場合、エージェントはサーバの設定ファイルにアクセスでき、Zabbix での管理者レベルのユーザーとして、例えばデータベースのパスワードのような情報が極めて容易に取得できてしまいます。
ZabbixサーバとZabbixプロキシデーモン、Zabbix フロントエンドには、データベースが必要です。Zabbix エージェントの動作には不要です。
Zabbixには、データベーススキーマを作成し、データセットを挿入するためのSQLスクリプトが付属しています。Zabbix プロキシデータベースにはスキーマだけが必要ですが、Zabbix サーバのデータベースにはスキーマの先頭にデータセットも必要です。
Zabbix データベースを作成し終えたら、次のZabbix のコンパイルのステップに進みます。
Zabbix サーバまたはZabbix プロキシのソースコードの設定を行うときは、使用するデータベースのタイプを指定しなければなりません。サーバまたはプロキシのプロセスで1度に1つのデータベースタイプだけがコンパイル可能です。
すべてのサポートされている設定オプションを参照するには、展開されたZabbixのソースコードのディレクトリの中で次を実行します:
./configure --help
Zabbix サーバまたはエージェントのソースコードを設定するには、以下のように実行します:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
PostgreSQLなどで動作するZabbix サーバのソースコードを設定するには、以下を実行します:
./configure --enable-server --with-postgresql --with-net-snmp
SQLiteなどで動作するZabbix プロキシのソースコードを設定するには、以下を実行します:
./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2
Zabbix エージェントのソースコードを設定するには、以下を実行します:
./configure --enable-agent
ライブラリをスタティックリンクするには、フラグ–enable-static を追加します。コンパイルしたバイナリを複数のサーバに分散させる場合は、分散先のサーバに必要なライブラリが存在しなくてもこれらのバイナリが動作するように、このフラグを必ず使用します。 –enable-static フラグは、Solaris の環境では動作しないのでご注意ください。
サーバをスタティックに構築するためには、必要な外部ライブラリのすべてのスタティックバージョンを持つ必要があります。設定スクリプト内では、それについて厳密なチェックはありません。
make install
このステップは、一般には root または sudo を使用するなど、十分な権限を持っているユーザーとして実行する必要があります。
デフォルトでmake installを実行すると、/usr/local/sbinに デーモンのバイナリ(zabbix_server、zabbix_agentd、zabbix_proxy)、/usr/local/bin にクライアントのバイナリ(zabbix_get、zabbix_sender)をインストールします。
zabbix_agentd をインストールする全てのホストでこのファイルを設定する必要があります。
このファイルには、Zabbix サーバのIPアドレスを指定する必要があります。他のホストからの接続は拒否されます。
データベース名、ユーザー、パスワード(使用している場合は)を指定する必要があります。
小規模な環境(監視対象ホストが10個以下)にインストールする場合は、残りのパラメータはデフォルトのままで修正する必要はありません。ただし、Zabbix サーバあるいは Zabbixプロキシのパフォーマンスを最大限に高めるためには、デフォルトのパラメータを変更する必要があります。詳細は「パフォーマンス・チューニング」のセクションを参照してください。
データベース名、ユーザー、パスワード(使用している場合)とともに、サーバのIPアドレスとプロキシのホスト名(サーバに知らせる必要があります)を指定する必要があります。
サーバサイドで zabbix_server を実行します。
shell> zabbix_server
すべての監視対象マシン上でzabbix_agentdを実行します。
shell> zabbix_agentd
Zabbix プロキシをインストールし終えたら、 zabbix_proxyを実行します。
shell> zabbix_proxy
Zabbix フロントエンドはPHPで書かれているので、実行するためには、PHPをサポートをしているウェブサーバが必要です。インストールは、単にPHPファイルをfrontends/phpからウェブサーバのHTMLドキュメントのディレクトリにコピーするだけです。 Apache ウェブサーバ のHTMLドキュメントのディレクトリの一般的な場所は 以下の中にあります:
HTML rootのかわりに、サブディレクトリを使用することをお奨めします。サブディレクトリを作成してZabbix フロントエンドのファイルをその中にコピーするには、次のコマンドを実行します。このコマンドによって、実際のディレクトリが置き換えられます:
mkdir <htdocs>/zabbix cd frontends/php cp -a . <htdocs>/zabbix
SVNからインストールし、英語以外の言語を使用する場合は、翻訳ファイルを生成する必要があります。翻訳ファイルを生成するには、次を実行してください:
locale/make_mo.sh
gettextパッケージのmsgfmt ユーティリティが必要です。
ソフトウェアの前提条件をすべて満たしていることを確認します。
前提条件 | 最小値 | 説明 |
---|---|---|
PHP バージョン | 5.1.6 | |
PHP メモリ制限 | 128MB | php.ini 内での記述: memory_limit = 128M |
PHP POSTの最大サイズ | 16MB | php.ini 内での記述: post_max_size = 16M |
PHP アップロード最大ファイルサイズ | 2MB | php.ini 内での記述: upload_max_filesize = 2M |
PHP 最大実行時間 | 300秒 | php.ini 内での記述: max_execution_time = 300 |
PHP 最大入力時間 | 300秒 | php.ini 内での記述: max_input_time = 300 |
PHP セッション自動スタート | 必ず不可 | php.ini 内での記述: session.auto_start = 0. Zabbix 2.0.4以降のバージョンであること。 |
PHPデータベースサポート | 以下のいずれか1つ: IBM DB2 MySQL Oracle PostgreSQL SQLite | 以下のモジュールのいずれか1つがインストールされていること。 ibm_db2 mysql oci8 pgsql sqlite3 |
PHP BC math | php-bcmath | |
PHP MB string | php-mbstring | |
PHP net socket | php-net-socket。ユーザースクリプトがサポートされていること。 | |
GD | バージョン2.0 以降 | PHP GD エクステンションが以下をサポートしていること。 PNGイメージ (–with-png-dir) JPEG (–with-jpeg-dir) FreeType 2 (–with-freetype-dir) |
XML Cライブラリ | 2.6.15 | php-xml または php5-dom |
PHP XMLライター | php-xmlwriter | |
PHP XML リーダー | php-xmlreader | |
PHP ctype | php-ctype | |
PHP セッション | php-session | |
PHP gettext | php-gettext |
本ページは2013/04/25時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は右上の「Translations of this page」から英語版を参照してください。