Heartbeat サーバの構築

本章では Heartbeat サーバのインストール方法を説明します。

RPM パッケージのインストール

まず、Heartbeat サーバで利用する外部パッケージをインストールします。 rpm コマンドを使ってパッケージ内の以下の 2 つの RPM パッケージをインストールしてください。

  • /Heartbeat/syck-0.55-*.{i386,x86_64}.rpm

  • /Heartbeat/rrdtool-1.2.23-3.0.i386.rpm(RedHat Enterprise Linux 5 系のみ)

# cd <smfsdk_dir>/Heartbeat

(RedHat Enterprise Linux 5 系の場合)
# rpm -ivh syck-0.55-*.i386.rpm rrdtool-1.2.23-3.0.i386.rpm

(RedHat Enterprise Linux 6 系の場合)
# rpm -ivh syck-0.55-*.x86_64.rpm

続けて、Heartbeat サーバの実行ファイルをインストールします。 rpm コマンドを使って、パッケージ内の /Heartbeat/heartbeat-server-X.XX-X.{i386,x86_64}.rpm ファイルをインストールしてください。 (X.XX-X には SMF SDK のバージョン番号が入ります)

# cd <smfsdk_dir>/Heartbeat

(RedHat Enterprise Linux 5 系の場合)
# rpm -ivh heartbeat-server-X.XX-X.i386.rpm

(RedHat Enterprise Linux 6 系の場合)
# rpm -ivh heartbeat-server-X.XX-X.x86_64.rpm

Apache の設定

Heartbeat サーバのグラフ提供機能を利用するためには、Apache の設定を行う必要があります。 Heartbeat サーバのインストールが完了すると、/etc/httpd/conf.d/hbcgi.conf.sample として Apache の設定ファイルのサンプルファイルが置かれ、/etc/httpd/conf.d/hbcgi.conf として Apache の設定ファイルが置かれます。

インストール後の状態では、http://<address>/hbcgi/grapher.cgi という URL にてグラフ提供機能 CGI が動作することになります。 アクセス制御は行われていないため、必要に応じて hbcgi.conf を編集して ください。

設定後、Aapache の設定を再読み込み又は、Apache を再起動して下さい。

# /sbin/service httpd restart

hbserver.conf の設定

Heartbeat サーバの設定は/var/service/smf/etc/hbserver.conf で行います。 インストール後の状態で は、/var/service/smf/etc/hbserver.conf.sample として Heartbeat サーバの設定ファイルのサンプルがおかれ、 /var/service/smf/etc/hbserver.conf として、Heartbeat サーバの設定ファイルが置かれています。

以下は、最低限設定が必要な項目、および注意が必要な項目に関して説明を行います。 詳細は、hbserver.conf 内のコメントを参考にしてください。

[hbserver] セクション

Heartbeat 受信部 (hbserver) に関する設定を行います。

SecretKey = "0123456789abcdef0123456789abcdef01234567"
HeartbeatInterval = 300
SecretKey

Heartbeat パケットの Digest 認証に用いられる鍵です。SA が Heartbeat パケットを送信する際に用いる鍵と同一である必要があります。 最長で 1024 文字となります。鍵として利用可能な文字は、printable ascii(0x20~0x7e) までの範囲となります。 ダブルクォート (")、 バックスラッシュ () は、バックスラッシュ () でエスケープして記述することができます。

HeartbeatInterval

SA の Heartbeat パケット送信間隔を秒単位で指定します。

[grapher] セクション

グラフ表示機能に関する設定を行います。

KeyCodeSeed = "deadbeef"
CGIURL = "http://192.0.2.1/hbcgi/grapher.cgi"
KeyCodeSeed

グラフ表示 CGI の KeyCode パラメータを計算するための共通鍵を指定します。クライアントが用いる共通鍵と同一のものを指定する必要があります。

CGIURL

グラフ表示 CGI を提供する URL を指定します。HTML 形式のレスポンスを生成する際に使用します。

[monitor] セクション

RS への監視通知機能に関する設定を行います。

RSURL = "http://localhost:8080/rs2/rpc/monitor-xmlrpc/"
ServerID = "hb1"
UpThreshold = "1"
DownThreshold = "3"
RSURL

監視通知を行うための RS 側の XML-RPC エンドポイント URL を指定します。

ServerID

監視通知を行う際の Heartbeat サーバの識別子を指定します。

UpThreshold

連続で何回 Heartbeat パケットを受信したら DOWN → UP と判定するかを指定します。

DownThreshold

連続で何回 Heartbeat パケットを受信できなかったら UP → DOWN と判定するかを指定し ます。

cron の設定

/etc/cron.d/hbserver の設定を編集して下さい。コメントを外すと有効になります。

#*/5 * * * * heartbeat /var/service/smf/bin/mreport.py

編集後、cron の設定を再読み込み又は、cron の再起動を行って下さい。

# /sbin/service crond restart

自動起動設定

Heartbeat パケット受信デーモンがシステムの起動時に自動起動されるよう設定します。

# /sbin/chkconfig --add hbserver
# /sbin/chkconfig hbserver on

hbserver の起動

Heartbeat パケット受信デーモンを起動させるには以下を実行して下さい。

# /sbin/service hbserver start

hbserver の停止

Heartbeat パケット受信デーモンを停止させるには以下を実行して下さい。

# /sbin/service hbserver stop