人気コンテンツ今日: |
ZABBIXのインストール-1 サーバ編(MySQL4.0.20)Submitted by sasaki on 日曜, 2008-05-04 09:42.
Miracle Linux 4 に Zabbix 1.4.6 をインストールした。 Zabbix 1.6.1をインストールしようとしたら、make install時にエラーが発生した。
db.c:87: error: `CLIENT_MULTI_STATEMENTS' が宣言されていません (この関数内で最初に利用)
いま使っているMySQL 4.0.xだとダメっぽい。4.1以上のMySQLを用意するのが面倒だったので、Zabbix 1.4.6をインストールした。
■ZABBIXの大雑把なしくみを理解しておく
■今回の設定を確認しておく
■マニュアルのインストール情報に目を通しておく▼PDFマニュアル(英語)をダウンロードして眺めておく。 このマニュアルに従って、サーバ側のインストールから始める。 ↓Zabbix 1.4 39ページからインストールの説明。 http://www.zabbix.com/downloads/ZABBIX%20Manual%20v1.4.pdf ↓Zabbix 1.6 42ページからインストールの説明。 http://www.zabbix.com/downloads/ZABBIX%20Manual%20v1.6.pdf http://www.zabbix.jp/modules/download1/ ▼ThinkITの記事 http://www.thinkit.co.jp/cert/article/0611/19/1/2.htm
■NET-SNMPをバージョンアップして起動するMiracle Linux 4.0のNET-SNMPがアップデートされていたので、rpm -Fvhでインストールしておく。(2008年12月時点) http://www.miraclelinux.com/support/index.php?q=node/99&errata_id=1364 snmpdとsnmptrapdが、Linux起動時にスタートするようにしておく。 # chkconfig --list | grep snmp 現在、起動していなかったらスタートさせる。 # service snmpd start
▼参考情報:ITmedia SNMP http://www.itmedia.co.jp/enterprise/articles/0705/31/news042.html ▼ソースからインストールする場合は本家から。 http://net-snmp.sourceforge.net/
■ZABBIXスーパーユーザのアカウントを作成するZABBIXサーバプロセスをrootで実行するのはセキュリティリスクがあるので、専用のユーザを作る。 # useradd zabbix
■ZABBIXソースを解凍する$ tar zxvf zabbix-1.4.6.tar.gz
■ZABBIXデータベースを作成する設定や観測値を保存するためのデータベースを用意する。 MySQL, Oracle, PostgreSQL, SQLiteが利用できる。今回は、MySQLを使用する。 $ mysql -u root -p スキーマを作り、初期データとイメージをインポートする。 $ cd /usr/local/src/zabbix-1.4.6
念のため、ネットワーク経由でMySQLへ接続できるようにしておいた。 mysql> grant all privileges on zabbix.* to zabbix@'%' identified by 'password';
■ZABBIXサーバのコンパイルとインストールを実行する英語のPDFマニュアルでインストールでは、ZABBIXアラートを受け取るために--with-Jabberを指定しているが、自分の環境では利用しない。 複数のMySQLがインストールされている環境なので、ZABBIXで利用するMySQLのmysql_configを指定する。 $ cd /usr/local/src/zabbix-1.4.6 /usr/local/sbin/zabbix_serverが出来ている事を確認した。
■設定ファイル/etc/zabbix/zabbix_server.confを用意する# mkdir /etc/zabbix /etc/zabbix/zabbix_server.confを設定する。 PidFile=/var/run/zabbix/zabbix_server.pid
■pidファイルとログファイル用のディレクトリを作成する# mkdir /var/run/zabbix
■起動スクリプト/etc/init.d/zabbix_serverを用意する# cp /usr/local/src/zabbix-1.4.6/misc/init.d/fedora/core/zabbix_server /etc/init.d/ fedora, redhat, suse用などが用意されている。 /etc/init.d/zabbix_serverを編集する。 BASEDIR=/usr/local /usr/local/binではなく、/usr/local/sbinにzabbix_serverがインストールされていたので、FULLPATHのbinをsbinに変更した。 起動する。 # /etc/init.d/zabbix_server start
■起動できなかったライブラリが見つけられなくて、zabbix_serverを起動出来なかった。 # ldd /usr/local/sbin/zabbix_server
libmysqlclient.so.12の場所を調べる。 # ldd /usr/local/mysql4/bin/mysql
libcurl.so.4の場所を調べる。 # ldd /usr/local/bin/curl
一時的に対処する。(LD_LIBRARY_PATHで指定する) # LD_LIBRARY_PATH=/usr/local/mysql4/lib/mysql:/usr/local/lib:/lib:/usr/lib
恒久的に対処する場合は、/etc/ld.so.conf または、/etc/ld.so.conf.d/に記述する。(他のアプリへの影響を配慮する必要あり)変更後は、ldconfigコマンドを忘れずに実行する。
一時対処を起動スクリプト/etc/init.d/zabbix_serverの2行目に書いておくことにした。 LD_LIBRARY_PATH=/usr/local/mysql4/lib/mysql:/usr/local/lib:/lib:/usr/lib
■Webフロントエンド用のPHPをインストールする$ mkdir /path/to/html/zabbix ■ブラウザで接続するhttp://zabbix-server/zabbix/
1. Introduction そのまま次へ進む。
2. Licence Agreement アグリーして次へ進む。
3. Check of pre-requisites Failが表示された項目を修正してリトライする。 ◎PHP max execution time: 300 seconds memory_limit = 128M ◎BC math PHP自体を --enable-bcmathでコンパイルする必要があるので、再コンパイルしてインストールした。 PHPインストール時のconfigureオプションは、php -iで確認する。
4. Configure DB connection MySQLへの接続情報を入力する。 Type: MySQL Host: localhost Port: 3307(デフォルトは0。このサーバは複数のMySQLを持っているので指定した) Name: zabbix(データベース名) User: zabbix(ユーザ名) Password: password
5. Pre-Installation Summary 確認して次へ進む。
6. Install 確認して次へ進む。
7. Finish 「Congratulation with succesfull instalation of ZABBIX frontend.」 このメッセージが表示された問題ないのでFinishボタンで完了する。
/path/to/html/zabbix/zabbix.conf.php として情報が保存される。 (Asianux Server3でZABBIXをRPMでインストールしたとき、設定ファイルは、/etc/zabbix/zabbix.conf.php だった)
zabbix.conf.phpに書き込まれているデータベース接続情報。 $DB_TYPE = "MYSQL"; パスワードが書き込まれたファイルなので、zabbix.conf.php ファイルのオーナーとアクセス権限をチェックしておく。
■ブラウザからアクセスしたけれど...http://zabbix-server/zabbix/ Login name: admin Password: 空白のまま
で、エラーメッセージが表示された。
Error in query [select u.* from users u where u.alias='guest' and (u.userid div 100000000000000) in (0) ] [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'div 100000000000000) in (0)' at line 1] mysql_fetch_array(): supplied argument is not a valid MySQL result resource[/usr/local/apache/htdocs/zabbix/include/db.inc.php:411] [ERROR: Database corrupted, missed default user 'guest']
MySQLのログを見てみた。 # tail /usr/local/mysql4/var/ホスト名.err
Got an error reading communication packetsを調べてみる。 http://dev.mysql.com/doc/refman/4.1/ja/error-returns.html
Error: 1158 SQLSTATE: 08S01 (ER_NET_READ_ERROR) ということなので、さらに調べてみる。
シェルでは、MySQLのzabbixデータベースへ問題なくアクセスできている。 $ mysql -u zabbix -p 問題なし。
再度、設定を変更したり、ログファイルを眺めたりした。 /etc/zabbix/zabbix_server.conf 設定ファイル /var/log/zabbix/zabbix_server.log ログファイル /etc/init.d/zabbix_server restart ZABBIXの再起動 /path/to/html/zabbix/zabbix.conf.php 変更または削除する
で、結局面倒くさくなったので、あきらめた。
英語のPDFマニュアルのSoftware Requimentsを見るとMySQL 3.22 or later と書いてあるし、ZABBIX may work on previous versions of Apache, MySQL とも書いてあるんだけど、とにかく自分の環境では上手く動かすためには時間がかかりそう。
MySQL 4.0 に接続させるための時間をかける理由も無いので、SQLiteに変更して再度インストールすることにした。
|
linuxamazon広告英語お勧め教材! 英語の学校でも使っているのですが、1つのストーリーを3分で読めて、内容も面白く、もっと早く出会いたかった本です。 Apple好きで英語も勉強したいならこの一冊! ブログパーツ |