ZABBIXのインストール:ZABBIXで脱・人手頼りの統合監視(2)(4/4 ページ)
この連載では、オープンソースの運用監視ソフトウェア「ZABBIX」ではどんなことができるのかを、実際の使い方とともに紹介していきます(編集部)
ZABBIXエージェントのビルドとインストール
ZABBIXエージェントをコンパイル、インストールする手順を解説します。ZABBIXエージェントのすべての機能を有効にするため、次のオプションを指定してconfigureを実行します。
メソッド名 | 説明 |
---|---|
--enable-agent | ZABBIXエージェントのバイナリをコンパイルします |
--enable-ipv6 | IPv6のサポートを有効にします |
--with-ldap | LDAP監視を行う場合に指定します |
表3 ZABBIXエージェントのconfigureオプション |
# ./configure --enable-agent --enable-ipv6 --with-ldap
makeを実行し、コンパイルを行います。
# make
特にエラーが出力されずに終了すれば成功です。以下のコマンドを実行してインストールを行います。デフォルトでは/usr/local以下にバイナリファイルがインストールされます。
# make install
以上でZABBIXエージェントの動作に必要な実行ファイルがインストールされました。
ZABBIXエージェントの設定方法
ZABBIXエージェントの設定ファイルのサンプルファイルは、ソースファイルのmisc/confディレクトリに置かれています。/etc/zabbixディレクトリを作成し、ファイルをコピーします。
# mkdir /etc/zabbix # cp misc/conf/zabbix_agentd.conf /etc/zabbix/
/etc/zabbix/zabbix_agentd.confの以下の設定を修正します。Server=ZABBIXサーバのIPアドレスを設定します。ZABBIXエージェントはこのIPアドレスからの監視にしか応答せず、ZABBIXエージェントが能動的に監視データを送る場合も、このアドレスに送付されます。
Hostname=ZABBIXエージェントが導入されているサーバのホスト名を設定します。 ListenIP=ZABBIXエージェントがListenするIPアドレスを設定します。
PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log
ZABBIXエージェントの起動スクリプトとサンプルファイルはソースファイルのmisc/init.dディレクトリに置かれています。起動スクリプトを/etc/init.d/に置き、必要な個所を修正します。
# cp misc/init.d/redhat/8.0/zabbix_agentd /etc/init.d/zabbix-agent # chmod 755 /etc/init.d/zabbix-agent # vi /etc/init.d/zabbix-agent # chkconfig: - 85 15 ← この行を修正 # description: zabbix-agent progdir="/usr/local/sbin/" ← この行を修正 prog="zabbix_agentd"
起動スクリプトのrestartコマンドが正常に動作しないためstop()の中で実行しているkillコマンドをkillprocに変更します。
kill -TERM $pid ↓ 次のように変更 killproc $progdir$prog
以上でZABBIXエージェントのインストールは完了です。以下のようにコマンドを実行するとZABBIXエージェントを起動、停止、再起動することができます。
# service zabbix-agent start : 起動 # service zabbix-agent stop : 停止 # service zabbix-agent restart : 再起動
OS起動時にZABBIXエージェントを自動的に起動するためには、以下のコマンドを実行します。
# chkconfig zabbix-agent on
トラブルシュート
ここでは、導入時にはまりがちなポイントやエラーが生じがちなポイントについて、実際のエラーメッセージとその対処方法を説明します。
ZABBIXサーバが起動しない
# service zabbix-server start
zabbix_server を起動中: [失敗]
上記のように表示されZABBIXサーバが起動しない場合は、/var/log/zabbix/zabbix_server.logファイルのメッセージを確認します。以下にログのメッセージと対処方法を説明します。
■エラーメッセージ■
13175:20090907:162023 [Z3001] Connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
■対処方法■
MySQLサーバが起動していないことが考えられます。以下のコマンドを実行してMySQLサーバを起動させます。
# service mysqld start
OS起動時にMySQLサーバを自動起動させるために、次のコマンドを実行しておきます。
# chkconfig mysqld on
■エラーメッセージ■
13355:20090907:162355 [Z3001] Connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: YES)
■対処方法■
/etc/zabbix/zabbix_server.confのDBPasswordに設定したパスワードがMySQLのzabbixデータベースに設定したパスワードと同じかどうかを確認します。間違っているようであれば正しいパスワードを設定します。
Webインターフェイスのインストーラのエラー
■エラーメッセージ■
* Configuration file: Fail
このようなエラーが表示される原因として、Apacheユーザー権限で動作しているインストーラ
/var/www/html/zabbix/conf/zabbix.conf.phpに設定を書き込めないことが考えられます。
rootユーザーで次のコマンドを実行し、インストーラーの“Retry”ボタンをクリックしてください。
# rpm -Uvh http://www.zabbix.jp/rpms/rhel5/i386/zabbix-jp-release-5-1.noarch.rpm
設定が書き込めたら、次のコマンドを実行しておいてください。
# chmod 755 /var/www/html/zabbix/conf
■エラーメッセージ■
* Error in query [SELECT ...
このようなエラーメッセージが表示されている場合、MySQLのzabbixデータベースにZABBIX用のテーブルが作成されいない可能性が想定されます。「データベースへの初期データのインポート」を実行してテーブルを作成してください。
他のマシンからZABBIXのWebインターフェイスにアクセスできない
CentOS 5.3は、デフォルトでファイアウォールが設定されていて、80ポートがブロックされています。他のマシンからZABBIXインターフェイスにアクセスする場合は、外部から80ポートにアクセスできるよう設定を変更します。手順は次の通りです。
- 画面上部のメニューから「システム」-「管理」-「セキュリティレベルとファイアウォールの設定」を起動
- 「ファイアウォールのオプション」の中の「信頼できるサービス」の一覧の「WWW(HTTP)」を選択
- 「適用」ボタンをクリック
- 「OK」ボタンをクリック
今回はZABBIXのインストールについて解説を行いました。次回は実際にさまざまなサービスの監視を行うための設定手順を解説します。
Copyright © ITmedia, Inc. All Rights Reserved.