本ツールはHeartbeatが出力するログのうち、運用上必要と考えられるログのみ抽出し、運用者に分かりやすい内容へ変換して出力するものです。
Heartbeatの標準ログha-logは大量のログ出力があり、また、内容が分かりにくいものでした。本ツールを使うことにより、故障情報等がログから分かりやすく取得できるようになります。
本ツールはHeartbeatと連携動作するツールです。Heartbeatの標準ログから随時ログを読み込み、設定ファイルの内容にしたがって、必要となるログを抽出します。その後、運用者に分かりやすい形式・内容に変換し独自のログファイル(デフォルト:/var/log/hb_logconv.out)に抽出・変換後のログを出力します。
本ツールを導入することにより、ログファイル全体として以下のようになります。ログファイルのディレクトリは全て /var/log です。
インストール方法は以下の手順です。
(1) rpmファイル(hb-logconv-1.02-1.hb214.noarch.rpm)をダウンロードしてください。
(2) rpmコマンドでインストールを行ってください。
# rpm -ivh hb-logconv-1.02-1.hb214.noarch.rpm 準備中... ########################################### [100%] 1:hb-logconv ########################################### [100%]
このツールを動作させるためには、Heartbeatが停止している状態で以下の4種の設定ファイルを編集する必要があります。
(1) /etc/init.d/heartbeat の編集
(2) /etc/logrotate.d/heartbeat の編集
(3) /etc/ha.d/ha.cf の編集
(4) /etc/ha.d/hb_logconv.cf の編集
設定後、Heartbeatを起動することによってHeartbeatと本ツールが連携して動作します。
Heartbeatが出力するログを全て扱うために、本ツールはha_logdプロセスの起動前に起動し、ha_logdプロセスの終了後に終了する必要があります。 順序通り、起動・停止するために以下の設定を行います。 右端の数字は行番号を示しています。
# vi /etc/init.d/heartbeat (略) 48 HA_DIR=/etc/ha.d; export HA_DIR 49 CONFIG=$HA_DIR/ha.cf 50 . $HA_DIR/shellfuncs . /usr/share/heartbeat/hb-logconv/logconv_funcs 51 52 LOCKDIR=/var/lock/subsys (略) 417 case "$1" in 418 start) StartLogconv StartLogd (略) 441 stop) 442 RunStartStop "pre-stop" 443 StopHA (略) 452 StopLogd StopLogconv 453 ;;
出力されるログのローテーション設定を行います。hb_logconv.outとhb_logconv_process_monitor.logに対する設定を追加してください。
# vi /etc/logrotate.d/heartbeat (略) /var/log/hb_logconv.out { missingok } /var/log/hb_logconv_process_monitor.log { missingok }
本ツールはHeartbeatと共に起動され、常駐プロセスとなります。 何らかの原因でプロセスが落ちた場合に再起動するように以下の設定を行います。
# vi /etc/ha.d/ha.cf (略) respawn root /etc/ha.d/monitoring/hb_logconv_monitor.sh
本ツールの動作のための設定を行います。 下の表で設定内容の説明をしています。
# vi /etc/ha.d/hb_logconv.cf # # hb_logconv.cf : Config file of hb_logconv for Heartbeat 2.1.4 # [Settings] #ha_log_path = /var/log/ha-log #(1) #hacf_path = /etc/ha.d/ha.cf #(2) #hostcache_path = /var/lib/heartbeat/hostcache #(3) #output_path = /var/log/hb_logconv.out #(4) #syslogformat = False #(5) attribute_pingd = default_ping_set, lt, 100 #(6) attribute_diskd = diskcheck_status, eq, ERROR #(7) attribute_diskd_inner = diskcheck_status_internal, eq, ERROR # (8) #logconv_logfacility = daemon #(9) act_rsc = prmEx, prmPg #(10)
番号 | 設定項目 | 設定内容 |
(1) | ha_log_path | Heartbeatの出力ログファイルを指定します。デフォルトは/var/log/ha-log です。 |
(2) | hacf_path | Heartbeatの設定ファイル(/etc/ha.d/ha.cf)を指定します。デフォルトは/var/ha.d/ha.cf です。 |
(3) | hostcache_path | ホストキャッシュのファイル名を指定します。デフォルトは/var/lib/heartbeat/hostcache です。 |
(4) | output_path | 本ツールで出力されるログのの出力先を指定します。デフォルトは/var/log/hb_logconv.out です。 |
(5) | syslogformat | 本ツールの出力形式を指定します。デフォルトはFalseで、ha-logと同じ日付の形式で出力されます。 |
(6)~(8) | attribute_pingdなど | pingd, diskdなどを使っている場合に記述します。/etc/ha.d/ha.cfで指定した属性名と(-aの値)と名前を同じにしてください |
(9) | logconv_logfacility | 本機能のログファシリティを指定します。デフォルトはdaemon です。 |
(10) | act_rsc | ここで指定したリソースが動作しているノードがActiveとなります。指定方法は下のact_rscの指定方法を参照してください。 |
act_rscにはサービスを提供するために必要となるリソースのリソースIDを指定します。 故障発生時、ここで指定されたリソースが停止することによりフェイルオーバ開始とみなします。また、フェイルオーバ処理開始後、ここで指定されたリソース全てが動作しているかどうかでフェイルオーバの成否を判断します。以下に設定例を示します。
============ Last updated: Tue Feb 15 15:20:03 2011 Current DC: hb02 (931a8c0b-0d94-47fe-97da-dc199564a419) 2 Nodes configured. 3 Resources configured. ============ Node: hb02 (931a8c0b-0d94-47fe-97da-dc199564a419): online Node: hb01 (1ce77d87-d0fa-4c2b-aa05-13a6c809df1e): online Resource Group: grpPg prmEx (ocf::heartbeat:sfex): Started hb01 prmFs (ocf::heartbeat:Filesystem): Started hb01 prmIp (ocf::heartbeat:IPaddr): Started hb01 prmPg (ocf::heartbeat:pgsql): Started hb01このリソース定義の場合には以下のように設定します。
act_rsc = prmEx, prmFs, prmIp, prmPg注意:指定できるリソースIDはprimitiveリソースのIDです。グループリソースのIDは指定できません。
ヒント:Heartbeatのリソースグループの性質により、指定するリソースIDを省略できます。グループリソースのうち、最初と最後に定義されたリソースのIDのみ指定しても、上の設定例と同じ効果が得られます。
act_rsc = prmEx, prmPg
本ツールを利用するにあたり、以下の制約事項があります。
[PageInfo]
LastUpdate: 2011-02-15 15:25:29, ModifiedBy: takayukitanaka
[Permissions]
view:all, edit:login users, delete/config:members