ZABBIX サーバをインストールします。よくこんがらがりますけれども、このように理解します。
- ZABBIX サーバ 監視する方。データを要求する方。相手のデータをエージェントから受け取る方。
- ZABBIX エージェント 監視される方。データを催促される方。自分のデータをサーバに提出する方。
インストールにあたっては、こちらの公式ドキュメントに沿って行いました。その際に何度か失敗して、エラーに遭遇し、恥ずかしくもぎゃあぎゃあ騒がしくした部分も含め、記録したいと思います。
1.リポジトリ導入、確認
CentOS 5.10 = RHEL5(Red Hat Enterprise Linux 互換)ですので、Zabbix 2.0 for RHEL5 のリポジトリ設定パッケージをインストールしました。
rpm -ivh http://repo.zabbix.com/zabbix/2.0/rhel/5/x86_64/zabbix-release-2.0-1.el5.noarch.rpm
次のコマンドで「/etc/yum.repos.d/zabbix.repo」がインストールされたことを確認できました。
ll /etc/yum.repos.d/
そしてエディタで内容をチェックそして場合によっては編集です。
vim /etc/yum.repos.d/zabbix.repo
今回はお勉強環境へのインストールですので修正せず、リポジトリをデフォルトで有効のままに致しました。ファイルの内容は次になります。
[zabbix] name=Zabbix Official Repository - $basearch baseurl=http://repo.zabbix.com/zabbix/2.0/rhel/5/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX [zabbix-non-supported] name=Zabbix Official Repository non-supported - $basearch baseurl=http://repo.zabbix.com/non-supported/rhel/5/$basearch/ enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX gpgcheck=1
2つ目の、「zabbix-non-supported」は「ZABBIX の中でもこれはサポート無しのリポジトリだよ♪」ということでしょうか。随分とやんちゃなリポジトリですこと。
2.ZABBIX サーバインストール
ドキュメントにスペルミスがございますね。そのままコピペいたしますと、1つのパッケージのみ見つかりません。そして中止されず、そのまま1つのパッケージを除いてインストールが進みますのでうっかりしておりますと必要なパッケージのインストールが完了しないまま進んでしまいます。注意注意!
それで、問題のスペルミスです。
- 誤 zabbux-web-japanese
- 正 zabbix-web-japanese
ZABBUX とはなにものなのかしら?うふ。
スペルミスに注意して、インストールいたします。
yum install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese
そうしますと、依存関係の解決なども含めまして、次のパッケージがインストールされました。
=============================================================================================== Package Arch Version Repository Size =============================================================================================== Installing: zabbix-server-mysql i386 2.0.9-1.el5 zabbix 1.5 M zabbix-web-japanese i386 2.0.9-1.el5 zabbix 12 k zabbix-web-mysql i386 2.0.9-1.el5 zabbix 12 k Installing for dependencies: OpenIPMI-libs i386 2.0.16-16.el5 base 571 k compat-libcurl3 i386 7.15.5-3.el5.remi remi 187 k curl i386 7.21.7-5.el5.remi.2 remi 250 k fping i386 3.6-1.el5.rf rpmforge 61 k iksemel i386 1.4-2.el5 epel 48 k ipa-pgothic-fonts noarch 003.02-3.1.el5 base 4.1 M lm_sensors i386 2.10.7-9.el5 base 511 k net-snmp i386 1:5.3.2.2-20.el5 base 704 k net-snmp-libs i386 1:5.3.2.2-20.el5 base 1.3 M php-bcmath i386 5.4.21-2.el5.remi remi 60 k unixODBC i386 2.2.11-10.el5 base 290 k unixODBC-libs i386 2.2.11-10.el5 base 551 k zabbix i386 2.0.9-1.el5 zabbix 128 k zabbix-server i386 2.0.9-1.el5 zabbix 18 k zabbix-web i386 2.0.9-1.el5 zabbix 5.4 M Transaction Summary =============================================================================================== Install 18 Package(s) Upgrade 0 Package(s) Total download size: 16 M
3つの ZABBIX サーバのパッケージをインストールすのに、依存関係で 15 のパッケージもインストールしましたの♪ yum はやっぱり楽ちんですの♪
3.ZABBIX サーバ設定
3−1.まずはデータベース、MySQL づくり♪
- データベース zabbix
- ユーザ zabbixuser
- パスワード zabbixpass
以上のデータベースを MySQL に作ります。まずは MySQL にログインです。ここでもスペルミスです。「mysql -uroot」ではなく、「mysql -u root」ですわね?それとも、別の環境ではこれでも OK なのでしょうか。わたくし、まだまだ不勉強ですの。
mysql -u root -p
そして次のように DB を作りました。ドキュメントページを参考に、少し紛らわしいかしら?と少しだけ弄ったところ、後々のミスに繋がってしまいました。
grant 文でミスをいたしました><。「zabbixuser」と指定しまったところは、ユーザではなく、データベースを指定しなければなりませんでした。そして「zabbix」と指定したところにユーザを指定しなければなりませんでした。
ようするに、逆でした。そして、エラーになりませんでしたため、見落としてしまいました。
この結果から言えることは、MySQL は存在しないデータベースにも、存在しないユーザにも権限を付与することができる、ということですわ。後から該当するデータベース、ユーザーを作れば済むのですね♪
create database zabbix character set utf8; grant all privileges on zabbixuser.* to zabbix@localhost identified by 'zabbixpass'; Bye
そして、ここでもう1つミスをいたしました><。マニュアルページにございます「スキーマとデータのインポート」を忘れてしまいました><。
ですがそれでわかったこともございます。後々行うウェブブラウザからのセットアップが完了した後に「スキーマとデータのインポート」を行っても問題無さそうなのです♪
3−2.ZABBIX のデータベース指定ファイルの編集
編集するファイルはこちらです。
vim /etc/zabbix/zabbix_server.conf
ファイル内の位置は離れていますけれども、次の箇所でデータベース情報を確認、そして次のように編集いたしました。
DBName=zabbix DBUser=zabbixuser DBPassword=zabbixpass
3−3.ウェブ設定ファイルの編集と反映
Apache ではおなじみの場所に設定ファイルが自動的に作られました。
vim /etc/httpd/conf.d/zabbix.conf
タイムゾーン設定部分のコメントを外し、日本に設定しました。
php_value date.timezone Asia/Tokyo
Apache を再起動し、反映させました。
/etc/init.d/httpd restart
3−4.ZABBIX サーバの起動(忘れていましたっ)
マニュアルではデータベース設定ファイルの修正後に起動しておりましたが、忘れていました><。飛ばして行った操作は Apache 設定の修正のみですので大丈夫でしょう。気にせず今、起動いたします。
/etc/init.d/zabbix-server start
次のようなメッセージが表示され、無事起動できたことが確認できました。。。ただ、この後無事にログインまでした時、なぜか停止していたのですよね。。。失敗にふてくされて CentOS を再起動していたことを忘れていた、、、のかしら?
4.ウェブブラウザから ZABBIX サーバセットアップ
開発環境の IP アドレスを指定して、ウェブブラウザからのインストールです。URL は http://192.168.56.111/zabbix/ でした。
1. Welcome です。「Next >>」です。
2. Check of pre-requisites。スペック等に問題がないとのことですので「Next >>」です。
3. Configure DB connection です。ここではデータベース作成時のミスに気がつくことができませんでした。「Test connection」しますと次のようなエラーに。。。
mysql_connect(): Access denied for user ‘zabbixuser’@’localhost’ (using password: YES) [include/db.inc.php:77]
Error connecting to database [Access denied for user ‘zabbixuser’@’localhost’ (using password: YES)]
MySQL の root ユーザならテストに合格しました。セットアップの時だけと考えて、これで続けました。
4. Zabbix server details です。今回の勉強では自分自身を監視しようと思っております。つまり、監視サーバも監視エージェントも同じサーバにインストールするのです。そのような場合は、このままでもよいようですのでこのまま「Next >>」いたしました。
5. Pre-Installation summary。さらっと確認しまして、「Next >>」。
6. Install。瞬きする間もなく、圧倒言う間に完了です。ひょっとして、「/etc/zabbix/web/zabbix.conf.php」が作成されただけなのではないかしら。
それはともかく、「Finish」♪
5.エラー対処
アイエッ!?ログイン画面に行こうとするものの、、エラーが表示されています。ユーザ ID を入力するなどのフォームも表示されていません。
Error in query [SELECT u.userid,u.attempt_failed,u.attempt_clock,u.attempt_ip FROM users u WHERE u.alias=’guest’ AND u.userid BETWEEN 000000000000000 AND 099999999999999] [Table ‘zabbix.users’ doesn’t exist]
ここで、MySQL での操作時に grant 文でユーザとデータベースの指定が逆になっていたことに気が付きました><。まあ!恥ずかしいですこと。
データベース、そのユーザ、権限を一旦削除いたしまして、もう一度作りなおすことといたしました。
REVOKE ALL PRIVILEGES, GRANT OPTION FROM zabbix@localhost; DROP USER zabbix@localhost; DROP DATABASE zabbix; create database zabbixdb character set utf8; grant all privileges on zabbixdb.* to zabbixuser@localhost identified by 'zabbixpass';
これで完璧♪と思いながらもう一度ウェブブラウザから最初の http://192.168.56.111/zabbix/ にアクセスするも、エラーですの><。
どうやって、再びセットアップのトップページへとアクセスすればよいのでしょう?これは、簡単でした。
- 「6. Install」で作成された /etc/zabbix/web/zabbix.conf.php を削除すればセットアップページヘアクセスできる。
今度は順調でした♪「3. Configure DB connection」で作りなおしたデータベース、ユーザ、パスワードを設定したところ、「Test connection」に合格することができました♪
しかし、です。セットアップ完了後、やはりおなじエラーとなって管理画面にアクセスできませんでした。。。
悩むこと小一時間、ついにマニュアルページにございます「スキーマとデータのインポート」を忘れていた事に気が付きました。><。
セットアップ完了してからのインポートですので、もしかしたらだめかもしれませんわね、、、と思いつつ次のコマンドです。
ちなみに、マニュアルを確認いたしますとやっぱりスペルミスですわ。「mysql -uroot」→「mysql -u root」ですの。うふふ。
cd /usr/share/doc/zabbix-server-mysql-2.0.9/create/ mysql -u root zabbixdb -p < schema.sql mysql -u root zabbixdb -p < images.sql mysql -u root zabbixdb -p < data.sql
これで http://192.168.56.111/zabbix/ にアクセスしましたらようやくログイン画面が表示されました!
そして初期ユーザ名、パスワードで認証にも成功いたしました♪
- 初期ユーザ名 admin
- 初期パスワード zabbix
長かったですわ!これでようやく ZABBIX サーバのインストール完了ですの♪
6.ついでに CentOS 起動時設定
CentOS を起動した時に、ZABBIX サーバも起動するように設定しました。
chkconfig zabbix-server on
そしてすかさず確認ですの。
chkconfig --list | grep zabbix-server
おわりに
前回、監視ツールをインストールしましたが、失敗しました。
今度はうまくいくかしら?うまく動いたら嬉しいですの!
冒頭のドキュメントページも含め、参考ページを最後に挙げます。大変助かりました♪ありがとう存じます!
以上です。
「◆大変◆ZABBIX サーバを CentOS 5.10 に苦労してインストール!◆でしたの◆」への1件の返信
[…] ZABBIX サーバ構築済み → ◆大変◆ZABBIX サーバを CentOS 5.10 に苦労してインストール!◆でしたの◆ | oki2a24 […]