[an error occurred while processing this directive]
Zabbix 2.0.0を8.3Rのマシン上で動かそうとしたらrc.dの罠にはまり・・・

第320日目:Zabbix 2.0.0を8.3Rのマシン上で動かそうとしたらrc.dの罠にはまり・・・

【追記5 2012/06/16 17:50】
ども、ども、▲('A`)/です。
えーと、本編で記載していたzabbix_serverとzabbix_agentdの起動
スクリプトですが・・・一部記載漏れがありました。
ゴメンナサイ。
記載漏れの箇所を太字で書いておきましたので、確認してください。

それでは、また!▲('A`)/

【追記4 2012/06/16 11:00】
ども、ども、▲('A`)/です。
えーと、今日は土曜日のシフトなので会社に出勤していたりします。
今日は時々日が射していますが低気圧が西から進んできている関係で
ちょっとひんやりしています。
いつも巡回している技術評論社の後藤さんのページでこんなニュースを見ました。
PC-BSD 9.1にサーバエディション登場
PC-BSDは手っ取り早くFreeBSDのデスクトップ環境を使いたい人向けという
感じがしたのですが、サーバ用としてどういう内容で構成されるのか詳細が
気になるところです。
なんだかUbuntuみたいな感じになるのかなあ?・・・

それと、AkibaPCHotlineで1枚16GBのDDR3メモリが紹介されていました。
去年は1枚8GBのメモリが出て、その事でも▲('A`)はびっくりしたものです。
サーバ用では前々から1枚16GBのメモリって存在していたのですが、今回は
一般向けで出る感じです。まあ、自分のマザーボードが規格に対応しているかを
前もって調べておかないと痛い目に遭いそうですが・・・

▲('A`)がまだ学生の頃はNECのPC-9800シリーズが全盛で、その頃はメモリなんか
一般的にKB単位、贅沢してMBが基本でした。
学校にNECのPC-9800 F2がありましたが、搭載していたメモリはたしか128KB
だったと思います。先生が増設RAMボードで1MBのメモリをつけた時なんかは
みんなで万歳三唱でした・・・すみませんねえ、古い話で。
あの頃はハードディスクはとてもぜいたく品で(というか出回っていなかった)
みんなFD(フロッピーディスク)を使うのが一般的でした。
(当時はAppleのMacintosh Uのフルセットが200万円くらいしたと思います。
メモリを予め1MB搭載していたので、すげえ!!!と思ったものです。)

昔話が過ぎましたね。時代をちょっと感じてしまったので・・・
それでは、また!▲('A`)/

【追記3 2012/06/15 11:40】
ども、ども、▲('A`)/です。
えーと、今日の札幌はお日様も出て良い天気です。
久しぶりにPHP本家のサイトに行ったら、また新しいバージョン(5.4.4 と 5.3.14)が
6/14付けで公開されていました。なんでも30個以上のバグ対策を行なったとの事。
心配な方は本家サイトに行って入手してみてください。
しかし、今年の3月に5.4.0が公開されて3ヶ月の間に4つもバージョンが進むってどうなの?・・・

それでは、また!▲('A`)/

【追記2 2012/06/14 12:50】
ども、ども、▲('A`)/です。
えーと、昨日は病院に行って血液検査の結果、血圧・心臓周りの数値が
良くなっていたので、ホッとしました。
今日はお日様は出ているのですが、風が冷たいです。
札幌では今日から「札幌まつり」が始まりです。
札幌ドームでは「日ハム・巨人戦」なのでけっこう人手があることでしょう。
来週の今日(6/21:夏至の日なのです)は「さっぽろキャンドルナイト」があります。
この日は夜の8時から10時まで一斉に電気を消してまったりしましょう、という
趣旨のもと色んなイベントが行なわれます。なので、ちょっと普段の札幌とは
違って見えるかもしれません。(詳しくはリンク先を見てね。)
今年も計画停電が話題に上ってますが、たまには電気を使わずに夜を過ごすと
いうのもいいんじゃないでしょうか?
(サーバの稼動には影響しませんので、ご安心を。)

それでは、また!▲('A`)/

【追記 2012/06/12 15:40】
ども、ども、▲('A`)/です。
えーと、日記を書いた後でASCII.JPでニュースを見ていたらマウスコンピュータさんが
985gのUltrabookを発表したと言うニュースを見かけました。
いいなあ、いいなあ。欲しいなあ。
それと▲('A`)が物欲を掻き立てられるニュースはこちらです。
In Win、日本限定5台のオープンフレームケース「X Frame」
岡持ちdokuo号も良いのですけど、こちらもいいですね。あまったネジを本体に
格納(取り付け)して失くさないようにする心配りが憎いです。
お値段は店頭予想価格は29,800円前後の見込み、との事だけど、これって
日本には限定5台だよね?店頭にはでないんじゃないか?
CDFのサイトには「抽選販売のお知ら」というのが掲載されているんだから。。。

それでは、また!▲('A`)/

↓ 本編はこちらです。

(2012/06/12 15:00)
ども、ども、▲('A`)/です。
えーと、先週後半はYOSAKOIソーランが行なわれていましたが、今週は北海道神宮例祭
(札幌まつり)が行なわれます。本来は北海道神宮(円山)がメイン会場なのですが、
どちらかというと中島公園にいっぱい屋台が出ます。この期間はたいてい中島公園の
屋台→すすきのというコースで若い人たちは徘徊しています。

今回は、以前日記第288日目で取り上げた統合監視ソフトNagiosと人気を争っている
Zabbixを取り上げます。
(ちょっとリクエストを頂きましたので・・・試しに社内のサーバに環境を作っているところです。)
FreeBSDのPortsに収録されているバージョンは1.8系ですが、Zabbix本家では2.0系が
公開されていましたので、今回は最新版(2.0.0-RC6)をソースからZabbixをインストールして
Zabbix_serverを動かすところまでを実行してみます。

Zabbixを動かす為には以下の環境が必要になります。
(これはZabbixの日本語コミュニティサイトで掲載されています。)
[ハードウェア面]
・メモリは64MB(推奨は1GB)、ディスク容量は10MB(あるだけあった方が望ましい)
[ソフトウェア面]
・OS
監視の主体となるZabbixサーバを動かすにはUNIX系(Linux、FreeBSD、Solaris)、
各種情報収集を司るZabbixエージェントはUNIX系+Windows2000以降稼動できます。
・Web系(Apache、PHP)
Apacheは1.3.12以上、PHPは5.0以上のバージョンを使う事。
・DB系
データベースとしてはMySQL(3.22以上)、PostgreSQL(7.0.2以上)、Oracle(9.2.0.4以上)
SQLite(3.3.5以上)のいずれかを使用する事。
・PHPの各種ライブラリ
上記データベース接続用のライブラリが必要。その他にはGD、bcmath、mbstring、
xml、gettextが必要です。
確かxmlライブラリはDOM拡張モジュールが有効になっていると使えるはずです。
(詳しくは後述)
・その他ツール
SNMPツールであるnet-snmpとfping(pingコマンドのもう少し機能拡張したもの)が必要。

今回はdokuo号に以下の環境を用意して構築してみました。
------------------------------
OS:FreeBSD 8.3R amd64
Apache:2.2.22
PHP: 5.4.3
DB: MySQL 5.5.21
------------------------------
まあ、開発環境なのでこんなソフトのバージョンで組める訳でして・・・
それではZabbixのインストールの前に、まずはキーとなるソフトとして
PHPがありますので、PHPをどうやってインストールしたかを解説します。

1)Zabbixインストールの準備(PHP+その他ツールのインストール)

先程書いたとおり、PHPのライブラリが色々必要になるので、configure時に
以下のパラメータを入れてコンパイル&インストールします。
./configure --enable-mbstring --with-gd --enable-bcmath --with-gettext

今回はこれ以外にMySQLを使用するので以下のパラメータも追加しています。
--with-mysql=/usr/local--with-pdo-mysql

PHPのインストールが終わったらinfo.phpを設置してブラウザから確認するか、
スーパーユーザモードでphp -i とコマンドを実行して確認してみてください。
各項目がenableで表示されていたら成功です。
あ、そうだ。その前に php.ini で以下の様に項目を追加設定してApacheを
再起動してください。
[php.ini (追加設定項目)]
------------------------------
memory_limit = 128M
post_max_size = 16M
max_execution_time =300
max_input_time =300
------------------------------

では次にその他ツール(net-snmpとfping)ですが、これらはpkg_addコマンドで
サクッとインストールしてしまいましょう。
pkg_add -r net-snmp
pkg_add -r fping


2)Zabbixのインストール

さて、これでいよいよZabbixをインストールする訳ですが、まずはZabbixを
実行する為のユーザ&グループを作ってあげます。
ユーザやグループを作成するのはFreeBSDの場合pwコマンドを使います。
------------------------------
pw groupadd zabbix
pw useradd -g zabbix -n zabbix
------------------------------

次にZabbixのソースを入手&解凍します。
cd /tmp
fetch http://prdownloads.sourceforge.net/zabbix/zabbix-2.0.0rc6.tar.gz
tar zxvf zabbix-2.0.0rc6.tar.gz

解凍が終わったら、ディレクトリに移動してコンパイル&インストールします。
今回はserver、agent機能を両方インストールします。
コンパイル時のconfigureパラメータに何を指定すれば良いかは
./configure --help
と叩くとズラッと表示されるのでそれを見た上で決めてください。

cd zabbix-2.0.0rc6/
./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
make install


3)Zabbix稼動環境作成(データベース作成)

zabbixの本体システムはインストールできましたが、これだけでは動きません。
本体システムが使用するデータベースを作ってあげる必要があります。

まずはMySQLシステムにログインします。
mysql -u root -p
パスワードを入力してログインできたら、以下のコマンドを実行します。
まずはcreate databaseでデータベース作成です。
create database zabbix character set utf8;

次にMySQL用のユーザの作成です。
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

おまじないをしてからquitでログオフします。
(実際には今まで設定した内容をMySQLシステムに反映させます。)
flush privileges;
quit;

ここまではデータベースの枠だけを作った事になります。
次はデータベースに初期データを流し込みます。
初期データを流し込む為のスクリプトは解凍したソースの中に
database/xxx(xxxはデータベースシステムの名称)で用意されています。
今回はmysqlなのでdatabase/mysqlにさっそく移動します。

cd /tmp/zabbix-2.0.0rc6/database/mysql

すると以下の3つのスクリプトが存在するのが確認できます。
これらのスクリプトの中身はSQL文です。クリックすると中をご覧頂けます。

# ls -l
total 2848
-rw-rw-r-- 1 users users 801719 May 18 19:36 data.sql
-rw-rw-r-- 1 users users 1978341 May 18 19:35 images.sql
-rw-rw-r-- 1 users users 97485 May 18 19:36 schema.sql
#

では早速それぞれのスクリプトを実行しましょう。
cat schema.sql | mysql -u zabbix -p zabbix
cat images.sql | mysql -u zabbix -p zabbix
cat data.sql | mysql -u zabbix -p zabbix

それぞれの行を実行した時に以下の様にパスワードを聞かれます。
Enter password:
なので、先程MySQL用のユーザを作成した時に指定したパスワードを入力します。
(identified by の後に記述した文字列です。今回は zabbix となります。)


4)Zabbix設定ファイル作成

zabbixをソースからインストールした時には設定ファイルは /usr/local/etc に
以下の様に作成されます。
(末尾に.dが付いているのはディレクトリです。)
zabbix_agent.conf と zabbix_agentd.conf の違いは前者がxinetd下で動く際の
設定ファイルで、後者は自身がスタンドアローンで動く際の設定ファイルです。
今回はagentまで手を広げない(取り上げない)ので、説明は省きます。

-rw-r--r-- 1 root wheel 2272 Jun 11 07:44 zabbix_agent.conf
drwxr-xr-x 2 root wheel 512 Jun 11 07:44 zabbix_agent.conf.d
-rw-r--r-- 1 root wheel 5764 Jun 11 07:44 zabbix_agentd.conf
drwxr-xr-x 2 root wheel 512 Jun 11 07:44 zabbix_agentd.conf.d
-rw-r--r-- 1 root wheel 10319 Jun 11 08:00 zabbix_server.conf
drwxr-xr-x 2 root wheel 512 Jun 11 07:44 zabbix_server.conf.d

さて、今回メインで取り扱うのは zabbix_server.conf です。

主な変更点は以下の通りです。
------------------------------------
LogFile=/zabbix/zabbix_server.log
PidFile=/zabbix/zabbix_server.pid
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
FpingLocation=/usr/local/sbin/fping
ListenIP=114.160.23.44
------------------------------------

最後の行は各自のネットワーク環境に合わせてください。
▲('A`)の場合にはdokuo号のメインIPを指定しました。
あと、1&2行目は以下のコマンドを実行してディレクトリと
ファイルを作っておきます。

------------------------------------
mkdir /zabbix
touch /zabbix/zabbix_server.log
touch /zabbix/zabbix_server.pid
chown zabbix:zabbix /zabbix
chown /zabbix/zabbix_server.log
chown /zabbix/zabbix_server.pid
chmod 777 /zabbix
chmod 664 /zabbix/*.*
------------------------------------


5)Zabbix起動スクリプト設置

zabbixの起動スクリプトの雛形は解凍したソースディレクトリの
misc/init.d/内に以下の様にOS毎に分かれています。

# ls -l
total 18
drwxrwxr-x 2 users users 512 May 18 19:36 aix
drwxrwxr-x 2 users users 512 May 18 19:36 debian
drwxrwxr-x 4 users users 512 May 18 19:36 fedora
drwxrwxr-x 2 users users 512 May 18 19:36 freebsd
drwxrwxr-x 2 users users 512 May 18 19:36 gentoo
drwxrwxr-x 3 users users 512 May 18 19:36 redhat
drwxrwxr-x 5 users users 512 May 18 19:36 suse
drwxrwxr-x 2 users users 512 May 18 19:36 tru64
drwxrwxr-x 2 users users 512 May 18 19:36 ubuntu
#

なので、ディレクトリfreebsd内のスクリプトを /usr/local/etc/rc.d に
移設します。

cp /tmp/zabbix-2.0.0rc6/misc/init.d/freebsd/zabbix_* /usr/local/etc/rc.d

移設される起動スクリプトは以下の2つです。リンクをクリックすると
オリジナルの内容が確認できます。
# ls -l
total 4
-rwxrwxr-x 1 users users 199 May 18 19:35 zabbix_agentd
-rwxrwxr-x 1 users users 199 May 18 19:35 zabbix_server
#

えーと、この内容だとうまく起動しないので次の様に内容を修正します。
※2012/06/16追記 内容に一部記載漏れがありました。太字部分を追加してください。

[zabbix_server(変更版)]
---------------------------------------------
#!/bin/sh

# PROVIDE: zabbix_server
# REQUIRE: DAEMON mysql
# KEYWORD: shutdown

. /etc/rc.subr

name="zabbix_server"
rcvar=zabbix_server_enable

command="/usr/local/sbin/${name}"
required_files="/usr/local/etc/${name}.conf"

load_rc_config $name

: ${zabbix_server_enable="NO"}

run_rc_command "$1"
---------------------------------------------

今回は使わないのですがzabbix_agentdの方も念の為書いておきます。
[zabbix_agentd(変更版)]
---------------------------------------------
#!/bin/sh

# PROVIDE: zabbix_agentd
# REQUIRE: DAEMON
# KEYWORD: shutdown

. /etc/rc.subr

name="zabbix_agentd"
rcvar=zabbix_agentd_enable

command="/usr/local/sbin/${name}"
required_files="/usr/local/etc/${name}.conf"

load_rc_config $name

: ${zabbix_agentd_enable="NO"}

run_rc_command "$1"
---------------------------------------------

ここまで終わったら、/etc/rc.conf に以下の行を追加します。

zabbix_server_enable="YES"


6)Apache設定修正

えーと、ようやくここまで来ましたが、Zabbixはphpmyadminみたいに
webブラウザから色々な設定が出来る様にできています。
それが使える様にApacheの設定(httpd.conf)を修正します。
修正内容は以下の通りです。これを追加します。
---------------------------------------------
<Directory "/var/www/zabbix">
AllowOverride None
Options None
DirectoryIndex index.php
</Directory>
---------------------------------------------

▲('A`)の環境ではApacheのホームディレクトリが/var/wwwなので
上記の様にしました。ここの内容は各自の環境に合わせて
適宜修正してください。

さて、ではWebから操作できる様にフロントエンドの仕組みを
設置します。
フロントエンドの仕組み(スクリプト)はソースディレクトリの
frontends/php の中に入っています。

---------------------------------------------
mkdir /var/www/zabbix
cp -R /tmp/zabbix-2.0.0rc6/frontends/php/* /var/www/zabbix
chmod 777 /var/www/zabbix/conf
---------------------------------------------

最後のchmodのコマンドはこの後のwebからの設定でファイルを
更新(書き込み)する際にパーミッションエラーにならない様に
するためです。


7)Webブラウザからの設定

では、ここでzabbix_serverを以下のコマンドを実行して手動で起動します。
/usr/local/etc/rc.d/zabbix_server start
「え?サーバを再起動すれば自動で起動するんじゃないの?」と思うかも
しれませんが、少々お待ちを。後で詳しく説明します。
今日の日記のタイトルの通り、「罠」にはまりましたから・・・

まず、Webブラウザで http://[サーバアドレス]/zabbix/ にアクセスします。
すると、01の画面が表示されます。これがzabbixの設定ページです。
で、「Next」ボタンをクリックして進んでいくと、02&03の様にPHP関連の
設定が正しいか、及び必要モジュールが利用可能かどうかを表示してくれます。
(ここでOKでは無い場合にはもう一度NGの事象を解消してからこの画面で操作
する事になります。)

01)    02)    03)

PHP関連の設定等に問題が無ければ、次は04の画面の様にデータベースの
設定画面が表示されます。
ここではzabbixのデータベースのログイン情報を入力してあげる事になります。
「3)Zabbix稼動環境作成(データベース作成)」で設定した内容を入力します。
User欄に zabbix 、Password欄に zabbix と入力し、画面下に表示されている
「Test connection」ボタンをクリックします。
すると、zabbixサーバからMySQLに入力された情報でログインできるか検証が
行なわれます。ログインできれば 05の画面の様に「OK」と表示され、次の設定に
進めます。もしもログインできなければ 06の画面の様に「Fail」と表示されます。
(エラー情報が画面上段に赤文字で表示されます。)

04)    05)    06)

次は 07の画面が表示されます。
ここでは 空欄になっているNameの所にホスト名を入力します。
この情報はzabbixサーバの識別子として扱われます。
自分のわかりやすい名前をつけてあげれば良いと思います。
(今回はdokuo号で使っている w44というホスト名を 08の画面の様に
そのまんま入力しました。)
で、「Next」ボタンをクリックして進むと、今まで入力した設定内容を
09 の画面で表示されます。
ここで問題なければ「Next」ボタンをクリックします。

07)    08)    09)

さて、先程「6)Apache設定修正」でパーミッションを修正して更新が
できる状態にしていたら、13 の画像の様に「OK」が表示されます。
もしもパーミッションを変更していなかったら・・・10の画面の様に
「Fail」と赤文字で表示されます。
この時に10の画面の下に表示されている「Download configuration file」の
ボタンをクリックすると、12の画面の様なPHPスクリプトの内容が手に入ります。
これを手動で 10の画面の中ほどに表示されているファイル
(今回の例では /var/www/zabbix/conf/zabbix.conf.php となります)
として設置してから「Retry」ボタンをクリックすると 13の画面の様に
なります。

10)    11)    12)

13の画面まで来たら、設定は終わりです。「Finish」ボタンをクリックします。
すると14の画面が表示されます。zabbixのログインページです。
このページのログイン情報はデフォルトではこうなっています。
------------------------
Username : admin
Password : zabbix
------------------------
でログインすると 15の画面が表示されます。これがTOPページです。
さて、日本語表示にするにはどうするかといいますと、15の画面の
上段に出ている「Profile」と書かれたリンクをクリックします。
すると16の画面が表示されます。この画面でLanguageを17の画面の様に
Japaneseに変更して「Save」ボタンを押すと18の画面の様に表示が
変更されます。

13)    14)    15)
16)    17)    18)

えーと、具体的にサーバを監視する為にどういう風に設定するのかに
ついては、Zabbiz日本語サイトや解説本(技術評論社で出されています)等を
参考にしてください。

では最後に自動起動させるお話を。
実は設定を一通り終えてマシンを再起動したのですが、psコマンドで
プロセスを探しても出てこなかったのです。
でも、手動で起動してみると動く・・・
おかしいなあ、と思ってログファイル(えーと、この日記では
/zabbix/zabbix_server.logとして設定していました。)を
調べたら、こんなメッセージが出ていました。

  1948:20120611:080056.520 Got signal [signal:15(SIGTERM),
	sender_pid:1987,sender_uid:0,reason:65537]. Exiting ...
  1941:20120611:080056.525 One child process died 
	(PID:1944,exitcode/signal:65280). Exiting ...
  1952:20120611:080056.540 Got signal [signal:15(SIGTERM),
	sender_pid:1987,sender_uid:0,reason:65537]. Exiting ...
  1941:20120611:080058.527 [Z3001] connection to database 'zabbix' failed: 
[2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
  1941:20120611:080058.528 Cannot connect to the database. Exiting...

うん?MySQLにアクセスできなかった?でもMySQLは動いている・・・
で、気づいたのです。
何年か前に/etc/rc.dに登録した起動順に依存関係のあるスクリプトが
うまく動いてくれないと行っていた人のブログを見かけたのでした。
あの時はrc.dスクリプトが解釈する起動順がアルファベットの降順
(つまり、頭がzから始まるのを最初に起動して、最後がaとなる)と
報告が上がっていました。

試しに /usr/local/etc/rc.dに設置していた起動スクリプトと
起動順が実際どう解釈されるのかrcorder ユーティリティで
調べてみるとこうなりました。
# ls -l /usr/local/etc/rc.d
total 28
-r-xr-xr-x  1 root  wheel  1543 Jun 11 07:21 courier-authdaemond
-r-xr-xr-x  1 root  wheel   912 Jun 11 07:23 courier-imap-imapd
-r-xr-xr-x  1 root  wheel   977 Jun 11 07:23 courier-imap-imapd-ssl
-r-xr-xr-x  1 root  wheel   912 Jun 11 07:23 courier-imap-pop3d
-r-xr-xr-x  1 root  wheel   977 Jun 11 07:23 courier-imap-pop3d-ssl
-r-xr-xr-x  1 root  wheel   849 Mar 14 12:25 dbus
drwxr-xr-x  2 root  wheel   512 Jun 11 07:27 init.d
-r-xr-xr-x  1 root  wheel  2000 Mar 14 11:56 mysql-server
-r-xr-xr-x  1 root  wheel   647 Mar 28 01:56 redis
-r-xr-xr-x  1 root  wheel  1789 Mar 14 12:27 snmpd
-r-xr-xr-x  1 root  wheel   817 Mar 14 12:27 snmptrapd
-rwxr-xr-x  1 root  wheel   230 Jun 11 07:50 zabbix_agentd
-rwxr-xr-x  1 root  wheel   230 Jun 11 07:49 zabbix_server
# rcorder /usr/local/etc/rc.d/*
rcorder: file `/usr/local/etc/rc.d/redis' is before unknown provision `securelevel'
rcorder: file `/usr/local/etc/rc.d/courier-authdaemond' is before unknown provision `imap'
rcorder: file `/usr/local/etc/rc.d/courier-authdaemond' is before unknown provision `mail'
/usr/local/etc/rc.d/zabbix_server
/usr/local/etc/rc.d/zabbix_agentd
rcorder: requirement `DAEMON' in file `/usr/local/etc/rc.d/snmptrapd' has no providers.
/usr/local/etc/rc.d/snmptrapd
rcorder: requirement `DAEMON' in file `/usr/local/etc/rc.d/snmpd' has no providers.
/usr/local/etc/rc.d/snmpd
rcorder: requirement `LOGIN' in file `/usr/local/etc/rc.d/redis' has no providers.
/usr/local/etc/rc.d/redis
rcorder: requirement `LOGIN' in file `/usr/local/etc/rc.d/mysql-server' has no providers.
/usr/local/etc/rc.d/mysql-server
rcorder: requirement `DAEMON' in file `/usr/local/etc/rc.d/dbus' has no providers.
/usr/local/etc/rc.d/dbus
rcorder: requirement `ldconfig' in file `/usr/local/etc/rc.d/courier-authdaemond' has no providers.
rcorder: requirement `DAEMON' in file `/usr/local/etc/rc.d/courier-authdaemond' has no providers.
/usr/local/etc/rc.d/courier-authdaemond
rcorder: requirement `LOGIN' in file `/usr/local/etc/rc.d/courier-imap-pop3d-ssl' has no providers.
/usr/local/etc/rc.d/courier-imap-pop3d-ssl
rcorder: requirement `LOGIN' in file `/usr/local/etc/rc.d/courier-imap-pop3d' has no providers.
/usr/local/etc/rc.d/courier-imap-pop3d
rcorder: requirement `LOGIN' in file `/usr/local/etc/rc.d/courier-imap-imapd-ssl' has no providers.
/usr/local/etc/rc.d/courier-imap-imapd-ssl
rcorder: requirement `LOGIN' in file `/usr/local/etc/rc.d/courier-imap-imapd' has no providers.
/usr/local/etc/rc.d/courier-imap-imapd
# 

やはり・・・zabbix_serverを1番最初に起動し、次がzabbix_agentd、3番目がsnmptrapd、
6番目にmysql-serverを起動しようとしています。
ではどうすればよいか?
力技ですが起動スクリプトzabbix_serverの名称を変更してmysql-serverよりもアルファベットで
上に来るようにリネームしてあげます。(a_zabbix_serverという風に・・・)
この問題はソースからインストールした場合だけではなく、portsからインストールした場合でも
起きますので、ご注意を。(だから「罠」なのです・・・トホホ)

そうすると、rcorder ユーティリティで確認した起動順はこうなりました。
# ls -l /usr/local/etc/rc.d
total 28
-rwxr-xr-x  1 root  wheel   230 Jun 11 08:26 a_zabbix_server
-r-xr-xr-x  1 root  wheel  1543 Jun 11 07:21 courier-authdaemond
-r-xr-xr-x  1 root  wheel   912 Jun 11 07:23 courier-imap-imapd
-r-xr-xr-x  1 root  wheel   977 Jun 11 07:23 courier-imap-imapd-ssl
-r-xr-xr-x  1 root  wheel   912 Jun 11 07:23 courier-imap-pop3d
-r-xr-xr-x  1 root  wheel   977 Jun 11 07:23 courier-imap-pop3d-ssl
-r-xr-xr-x  1 root  wheel   849 Mar 14 12:25 dbus
drwxr-xr-x  2 root  wheel   512 Jun 11 07:27 init.d
-r-xr-xr-x  1 root  wheel  2000 Mar 14 11:56 mysql-server
-r-xr-xr-x  1 root  wheel   647 Mar 28 01:56 redis
-r-xr-xr-x  1 root  wheel  1789 Mar 14 12:27 snmpd
-r-xr-xr-x  1 root  wheel   817 Mar 14 12:27 snmptrapd
-rwxr-xr-x  1 root  wheel   230 Jun 11 07:50 zabbix_agentd
# rcorder /usr/local/etc/rc.d/*
rcorder: file `/usr/local/etc/rc.d/redis' is before unknown provision `securelevel'
rcorder: file `/usr/local/etc/rc.d/courier-authdaemond' is before unknown provision `imap'
rcorder: file `/usr/local/etc/rc.d/courier-authdaemond' is before unknown provision `mail'
/usr/local/etc/rc.d/zabbix_agentd
rcorder: requirement `DAEMON' in file `/usr/local/etc/rc.d/snmptrapd' has no providers.
/usr/local/etc/rc.d/snmptrapd
rcorder: requirement `DAEMON' in file `/usr/local/etc/rc.d/snmpd' has no providers.
/usr/local/etc/rc.d/snmpd
rcorder: requirement `LOGIN' in file `/usr/local/etc/rc.d/redis' has no providers.
/usr/local/etc/rc.d/redis
rcorder: requirement `LOGIN' in file `/usr/local/etc/rc.d/mysql-server' has no providers.
/usr/local/etc/rc.d/mysql-server
rcorder: requirement `DAEMON' in file `/usr/local/etc/rc.d/dbus' has no providers.
/usr/local/etc/rc.d/dbus
rcorder: requirement `ldconfig' in file `/usr/local/etc/rc.d/courier-authdaemond' has no providers.
rcorder: requirement `DAEMON' in file `/usr/local/etc/rc.d/courier-authdaemond' has no providers.
/usr/local/etc/rc.d/courier-authdaemond
rcorder: requirement `LOGIN' in file `/usr/local/etc/rc.d/courier-imap-pop3d-ssl' has no providers.
/usr/local/etc/rc.d/courier-imap-pop3d-ssl
rcorder: requirement `LOGIN' in file `/usr/local/etc/rc.d/courier-imap-pop3d' has no providers.
/usr/local/etc/rc.d/courier-imap-pop3d
rcorder: requirement `LOGIN' in file `/usr/local/etc/rc.d/courier-imap-imapd-ssl' has no providers.
/usr/local/etc/rc.d/courier-imap-imapd-ssl
rcorder: requirement `LOGIN' in file `/usr/local/etc/rc.d/courier-imap-imapd' has no providers.
/usr/local/etc/rc.d/courier-imap-imapd
/usr/local/etc/rc.d/a_zabbix_server
# 

試しに、ここまでの手当てをしてマシンを再起動すると、自動的に
zabbix_serverが動きました。よかった、よかった。

zabbixではzabbixエージェントが動いていないサーバも監視できます。
(その場合には pingコマンドでの死活監視とポート監視ができます。)
まあ、簡単な監視ならこれで十分ですね。
zabbixエージェントを使えば該当マシンのCPU、メモリ、ディスク、
ネットワークの使用状況やプロセスの稼働状況などの細かい情報を
収集できます。
で、それらの情報をデータベースに蓄積できるので長期スパンで
分析も出来るわけです。
(これから試してみようと思っています。)

ふー、今回も下手なまとめ方ですみませんねえ・・・
なんせ罠にはまっていたので、ハイ。

あー、明日は病院で定期健診受けに行くので終日お休みします。
本日の日記はこれでお終い。次回をお楽しみに。
それでは、また!▲('A`)/

319日目に戻る。   321日目に続く。

目次に戻る
1日目 2日目 3日目 4日目 5日目 6日目 7日目
8日目 9日目 10日目 11日目 12日目 13日目 14日目
15日目 16日目 17日目 18日目 19日目 20日目 21日目
22日目 23日目 24日目 25日目 26日目 27日目 28日目
29日目 30日目 31日目 32日目 33日目 34日目 35日目
36日目 37日目 38日目 39日目 40日目 41日目 42日目
43日目 44日目 45日目 46日目 47日目 48日目 49日目
50日目 51日目 52日目 53日目 54日目 55日目 56日目
57日目 58日目 59日目 60日目 61日目 62日目 63日目
64日目 65日目 66日目 67日目 68日目 69日目 70日目
71日目 72日目 73日目 74日目 75日目 76日目 77日目
78日目 79日目 80日目 81日目 82日目 83日目 84日目
85日目 86日目 87日目 88日目 89日目 90日目 91日目
92日目 93日目 94日目 95日目 96日目 97日目 98日目
99日目 100日目 101日目 102日目 103日目 104日目 105日目
106日目 107日目 108日目 109日目 110日目 111日目 112日目
113日目 114日目 115日目 116日目 117日目 118日目 119日目
120日目 121日目 122日目 123日目 124日目 125日目 126日目
127日目 128日目 129日目 130日目 131日目 132日目 133日目
134日目 135日目 136日目 137日目 138日目 139日目 140日目
141日目 142日目 143日目 144日目 145日目 146日目 147日目
148日目 149日目 150日目 151日目 152日目 153日目 154日目
155日目 156日目 157日目 158日目 159日目 160日目 161日目
162日目 163日目 164日目 165日目 166日目 167日目 168日目
169日目 170日目 171日目 172日目 173日目 174日目 175日目
176日目 177日目 178日目 179日目 180日目 181日目 182日目
183日目 184日目 185日目 186日目 187日目 188日目 189日目
190日目 191日目 192日目 193日目 194日目 195日目 196日目
197日目 198日目 199日目 200日目 201日目 202日目 203日目
204日目 205日目 206日目 207日目 208日目 209日目 210日目
211日目 212日目 213日目 214日目 215日目 216日目 217日目
218日目 219日目 220日目 221日目 222日目 223日目 224日目
225日目 226日目 227日目 228日目 229日目 230日目 231日目
232日目 233日目 234日目 235日目 236日目 237日目 238日目
239日目 240日目 241日目 242日目 243日目 244日目 245日目
246日目 247日目 248日目 249日目 250日目 251日目 252日目
253日目 254日目 255日目 256日目 257日目 258日目 259日目
260日目 261日目 262日目 263日目 264日目 265日目 266日目
267日目 268日目 269日目 270日目 271日目 272日目 273日目
274日目 275日目 276日目 277日目 278日目 279日目 280日目
281日目 282日目 283日目 284日目 285日目 286日目 287日目
288日目 289日目 290日目 291日目 292日目 293日目 294日目
295日目 296日目 297日目 298日目 299日目 300日目 301日目
302日目 303日目 304日目 305日目 306日目 307日目 308日目
309日目 310日目 311日目 312日目 313日目 314日目 315日目
316日目 317日目 318日目 319日目 320日目 321日目 322日目
323日目 324日目 325日目 326日目 327日目 328日目 329日目
330日目 331日目 332日目 333日目 334日目 335日目 336日目
337日目 338日目 339日目 340日目 341日目 342日目 343日目
344日目 345日目 346日目 347日目 348日目 349日目 350日目
351日目 352日目 353日目 354日目 355日目 356日目 357日目
358日目 359日目 360日目 361日目 362日目 363日目 364日目

いま一番お得なページ! 解析
[an error occurred while processing this directive]