早速Zabbix 1.8を入れてみた
今日(といっても昨日ですが),予想より早くZabbix 1.8が出たので早速入れてみました
以下,簡単な手順メモ
環境はDebian sid x64です
apacheとphp5は入ってるものとします
基本的な流れはインストールマニュアルに従ってます
- zabbix用のユーザの作成
一般ユーザとUID, GIDを区別できるようにしたいので,適当な値を調べて指定します
ログインとかはしないのでその辺はセオリー通り$ sudo groupadd -g 107 zabbix $ sudo useradd -u 105 -g zabbix -d /dev/null -s /bin/false zabbix
- ソースのDLと展開
$ wget http://prdownloads.sourceforge.net/zabbix/zabbix-1.8.tar.gz $ tar zxvf zabbix-1.8.tar.gz
- DBの設定
まず,zabbix用のDBとユーザを作成しますmysql> create database zabbix character set utf8; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'パスワード'; mysql> flush privileges; mysql> quit;
続いて,作成したDBにSQLファイルを読み込みます
$ cat zabbix-1.8/create/schema/mysql.sql| mysql -u zabbix -p zabbix $ cat zabbix-1.8/create/data/data.sql | mysql -u zabbix -p zabbix $ cat zabbix-1.8/create/data/images_mysql.sql | mysql -u zabbix -p zabbix
- ビルド
proxyは使わないので,serverとagentをビルドします
DBMSはMySQL,NET-SNMPとIPMIも使うのでオプションを次のようになります
Jabberもおもしろそうなので使ってみますbuild-essentialしか入っていない場合は,libmysqlclient-dev, libcurl-dev (=libcurl4-openssl-dev), libsnmp-dev, libiksemel-dev, libopenipmi-devあたりが必要になるでしょう
ただ,(うちだけ?)configureスクリプトが不安定なので注意が必要です
libiksemel-devを入れてもchecking for IKSEMEL... configure: error: Jabber library not found
といわれるので,–with-jabber=/usr/lib とするとなぜか通るようになります(configureはいったいどこ探してるんでしょうかね?)
さらに不思議なのは,その後–with-jabberに戻しても通るようになってることです
あと–with-openipmiを指定してもIPMIがnoになるのですが,同じオプションで30回くらい繰り返すとOpenIPMIになりました
意味不明です・・・PCがおかしい?
いやいや,VMだしOSインストール直後なんですけど・・・そういえば,1.6の頃も–enable-agentが効いてないことがあったなぁ
ともあれ,configureオプションは次の通り
なんかバギーなので実行後,最後に表示される設定一覧で指定した通りになってるか確認しましょう$ cd zabbix-1.8 ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-jabber ・・・ Configuration: Detected OS: linux-gnu Install path: /usr/local Compilation arch: linux Compiler: gcc Compiler flags: -g -O2 -I/usr/include/mysql -DBIG_JOINS=1 -DUNIV_LINUX -DUNIV_LINUX -I/usr/local/include -I/usr/lib/perl/5.10/CORE -I. -I/usr/include -I/usr/include Enable server: yes With database: MySQL WEB Monitoring via: cURL Native Jabber: yes SNMP: net-snmp IPMI: openipmi Linker flags: -L/usr/lib -lOpenIPMI -lOpenIPMIposix -L/usr/lib/mysql -liksemel -lcurl -L/usr/lib -lnetsnmp -lcrypto -L/usr/lib -lnetsnmp -lcrypto Libraries: -lm -lresolv -lmysqlclient -liksemel -lcurl -lnetsnmp Enable proxy: no Enable agent: yes Linker flags: -L/usr/lib -lOpenIPMI -lOpenIPMIposix Libraries: -lm -lresolv LDAP support: no IPv6 support: no ・・・ $ sudo make install
- ポート名の登録
管理対象のマシンの/etc/servicesにエントリを追加zabbix_agent 10050/tcp zabbix_trap 10051/tcp
- サーバの設定
サンプルをコピーして編集します
1.8では項目の説明が分かりやすくなってます$ sudo mkdir /etc/zabbix $ sudo cp misc/conf/zabbix_server.conf /etc/zabbix/ $ sudo vim /etc/zabbix/zabbix_server.conf
変更箇所のみ
LogFile=/var/log/zabbix/zabbix_server.log PidFile=/var/run/zabbix/zabbix_server.pid DBUser=zabbix DBPassword=パスワード FpingLocation=/usr/bin/fping
- エージェントの設定
サンプルをコピーして編集します$ sudo cp misc/conf/zabbix_agentd.conf /etc/zabbix/ $ sudo vim /etc/zabbix/zabbix_agentd.conf
変更箇所のみ
PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log Hostname=ホスト名(アクティブチェックを利用する際はサーバの設定と要統一)
- PIDファイルとログファイル用のディレクトリを作成
$ sudo mkdir /var/run/zabbix $ sudo mkdir /var/log/zabbix $ sudo chown zabbix:zabbix /var/run/zabbix $ sudo chown zabbix:zabbix /var/log/zabbix
- 起動スクリプトを作成
まず,サーバ$ sudo cp misc/init.d/debian/zabbix-server /etc/init.d/ $ sudo vim /etc/init.d/zabbix-server
変更箇所のみ
DAEMON=/usr/local/sbin/${NAME} PID=/var/run/zabbix/$NAME.pid続いて,エージェント
$ sudo cp misc/init.d/debian/zabbix-agent /etc/init.d/ $ sudo vim /etc/init.d/zabbix-agent
変更箇所のみ
DAEMON=/usr/local/sbin/${NAME} PID=/var/run/zabbix/$NAME.pid起動時に自動で起動するように設定します
$ sudo update-rc.d zabbix-server defaults update-rc.d: using dependency based boot sequencing insserv: warning: script 'zabbix-server' missing LSB tags and overrides insserv: warning: script 'zabbix-agent' missing LSB tags and overrides $ sudo update-rc.d zabbix-agent defaults update-rc.d: using dependency based boot sequencing insserv: warning: script 'K01zabbix-server' missing LSB tags and overrides insserv: warning: script 'zabbix-agent' missing LSB tags and overrides insserv: warning: script 'zabbix-server' missing LSB tags and overrides
LSB(Linux Standard Base)タグがないと警告がでます
起動順序に依存関係がある場合うまくいかないこともあるので,適当にLSBタグを書いておきましょう一度リンクを消します
$ sudo update-rc.d -f zabbix-server remove $ sudo update-rc.d -f zabbix-agent remove
起動・終了スクリプトにタグを追加します
serverがagentより先に起動し,後で終了するように指定します$ sudo vim /etc/init.d/zabbix-server ### BEGIN INIT INFO # Provides: zabbix-server # Required-Start: $network mysql # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Zabbix Server start/stop script # Description: Start and stop Zabbix Server daemon ### END INIT INFO $ sudo vim /etc/init.d/zabbix-agent ### BEGIN INIT INFO # Provides: zabbix-agent # Required-Start: $network mysql zabbix-server # Required-Stop: zabbix-server # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Zabbix Agent start/stop script # Description: Start and stop Zabbix Agent daemon ### END INIT INFO
もう一度update-rc.dを実行
$ sudo update-rc.d zabbix-server defaults $ sudo update-rc.d zabbix-agent defaults
- Webフロントエンドのコピー
$ sudo mkdir /var/www/zabbix $ sudo cp -a frontends/php/* /var/www/zabbix/ $ sudo chown -R root:root /var/www/zabbix
- デーモンの起動
$ sudo /etc/init.d/zabbix-agent start $ sudo /etc/init.d/zabbix-server start
- フロントエンドの設定
ブラウザでフロントエンドにアクセスすると,タイムゾーンが設定されていないといわれたので設定$ sudo vim /etc/php5/apache2/php.ini date.timezone = Asia/Tokyo $ sudo /etc/init.d/apache2 restart
いろいろチェック項目にエラーがあるので設定を変更します
$ sudo vim /etc/php5/apache2/php.ini post_max_size = 16M max_execution_time = 300 mbstring.func_overload = 2 $ sudo aptitude install php5-mysql php5-gd $ sudo /etc/init.d/apache2 restart
ログイン画面です
デフォルトのIDはadmin, パスワードはzabbixです
すぐログインして変更しましょう

ちらっと使ってみた感じですが,細かいところがいろいろ修正されていて使い勝手が向上しています
Zabbixエージェントに加えてSNMPやIPMIを利用しているので,各ホストが何で監視されているのか把握しやすくなったのがうれしいですためしに表示言語を日本語にするとグラフが化けますね〜
化けるのはグラフだけなので,設定の問題ではなさそうな気がします
どうせ英語で使うので大した問題ではないです
1件のコメント »
RSS feed for comments on this post. TrackBack URL






[...] みました。構築については、コチラとコチラのサイトを参考にさせていただきました。 [...]