連載
» 2009年09月29日 00時00分 公開

ZABBIXのインストールZABBIXで脱・人手頼りの統合監視(2)(2/4 ページ)

[森山将之,ミラクル・リナックス株式会社]

ZABBIXサーバのビルドとインストール

 ZABBIX 1.6.5のソースコードをダウンロードして展開します。

# curl -L -O http://prdownloads.sourceforge.net/zabbix/zabbix-1.6.5.tar.gz
# tar zxvf zabbix-1.6.5.tar.gz

 ZABBIXサーバのすべての機能を有効にするため、次のオプションを指定してconfigureコマンドを実行します。

オプション名 説明
--enable-server ZABBIXサーバのバイナリをコンパイルします
--enable-ipv6 IPv6のサポートを有効にします
--with-mysql ZABBIXサーバのデータ保存にMySQLデータベースを利用します
--with-jabber Jabberチャットプロトコルによる通知を利用する場合に指定します
--with-libcurl Web監視の機能を利用する場合に指定します
--with-unixodbcまたは--with-iodbc データベース監視を行う場合に、unixODBCまたはiODBCのどちらを利用するかを指定します
--with-net-snmpまたは--with-ucd-snmp SNMP監視を行う場合に、net-snmpまたはucd-snmpのどちらを利用するかを指定します
--with-ldap LDAP監視を行う場合に指定します
--with-openipmi IPMI監視を行う場合に指定します
表2 ZABBIXのconfigureオプション
# cd zabbix-1.6.5
# ./configure --enable-server --enable-ipv6 --with-mysql --with-net-snmp --with-jabber --with-libcurl --with-ldap --with-openipmi --with-unixodbc

 makeを実行し、コンパイルを行います。

# make

 特にエラーが出力されずに終了すれば成功です。以下のコマンドを実行してインストールを行います。デフォルトでは/usr/local以下にバイナリファイルがインストールされます。

# make install

 以上で、ZABBIXサーバの動作に必要な実行ファイルがインストールされました。

データベースへの初期データのインポート

 ZABBIXサーバが利用するデータベースに初期データをインポートします。以下のコマンドを実行し、zabbixデータベースにスキーマと初期データをインポートします。

# mysql -uzabbix -p zabbix < ./create/schema/mysql.sql
Enter password: ←データベースユーザーzabbixのパスワードを入力
# mysql -uzabbix -p zabbix < ./create/data/data.sql
Enter password: ←データベースユーザーzabbixのパスワードを入力
# mysql -uzabbix -p zabbix < ./create/data/images_mysql.sql
Enter password: ←データベースユーザーzabbixのパスワードを入力

ユーザー追加と設定ファイルのインストール

 続いて、ユーザーの追加と設定ファイルのインストールを行います。

 OSのアカウントにZABBIXサーバを動作させるためのユーザーとグループ「zabbix」を作成します。ZABBIXのサーバを稼働させるためだけに使用するユーザーであるため、以下のコマンドにより、セキュリティを考慮してログインシェルなどは与えないように設定しています。

# groupadd zabbix
# useradd -g zabbix -d /etc/zabbix -s /sbin/nologin -M zabbix

 設定ファイルについては、ソースファイルのmisc/confディレクトリにサンプルファイルが置かれています。/etc/zabbixディレクトリを作成し、ファイルをコピーします。

# mkdir /etc/zabbix
# cp misc/conf/zabbix_server.conf /etc/zabbix/

 /etc/zabbix/zabbix_server.confの以下の設定を修正します。

PidFile=/var/run/zabbix/zabbix_server.pid
LogFile=/var/log/zabbix/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbixpassword

 PIDファイル、ログファイルに必要なディレクトリを作成し、ディレクトリの所有者をzabbixユーザーに設定します。

# mkdir /var/run/zabbix
# chown zabbix:zabbix /var/run/zabbix
# mkdir /var/log/zabbix
# chown zabbix:zabbix /var/log/zabbix

 ZABBIXサーバの起動スクリプトのサンプルファイルは、ソースファイルのmisc/init.dディレクトリに置かれています。起動スクリプトを/etc/init.d/にコピーします。

# cp misc/init.d/redhat/8.0/zabbix_server /etc/init.d/zabbix-server
# chmod 755 /etc/init.d/zabbix-server

 起動スクリプトの必要な個所を修正します。特に注意する必要があるのは、バイナリファイルが置かれている場所の指定と、chkconfigで指定するZABBIXの起動順序をMySQLデータベースサーバよりも後に設定しておくことです。

# vi /etc/init.d/zabbix-server
# chkconfig: - 85 15            ← この行を修正
# description: zabbix-server
progdir="/usr/local/sbin/"      ← この行を修正
prog="zabbix_server"

 ここで、起動スクリプトのrestartコマンドが正常に動作しないためstop()の中で実行しているkillコマンドを、killprocに変更します。

kill -TERM $pid
    ↓ 次のように変更
killproc $progdir$prog

 以上でZABBIXサーバのインストールは完了です。以下のようにコマンドを実行するとZABBIXサーバを起動、停止、再起動することができます。

# service zabbix-server start : 起動
# service zabbix-server stop : 停止
# service zabbix-server restart : 再起動

 OS起動時にZABBIXサーバを自動的に起動するためには、以下のコマンドを実行します。

# chkconfig zabbix-server on

Webインターフェイスのインストール

 ZABBIXのWebインターフェイスのPHPプログラムは、ソースファイルのfrontend/php以下に置かれています。PHPプログラム一式を、Apacheサーバからアクセスできる場所にコピーします。下記の例では/var/www/html/zabbixディレクトリを作成し、その下にコピーを行います。

# mkdir /var/www/html/zabbix
# cp -r frontends/php/* /var/www/html/zabbix/

 続いて、ZABBIX Webインターフェイス用にPHPの設定を行います。/etc/php.iniを以下のように修正します。

max_execution_time = 300
memory_limit = 64M
date.timezone = Asia/Tokyo

 Apacheがすでに起動している場合は再起動を行い、設定を反映させます。

# service httpd restart
# chkconfig httpd on

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。