Recent Changes

2011-05-06
2011-02-22
2011-02-18
2011-02-16
2011-02-15

Latest File Release

[1-01] pm_extra_tools: Pacemaker-2系追加パッケージ (RHEL8以降) (1.5-1 (RHEL8/RHEL9))2023-09-20 13:00
[2-01] Pacemaker-1.1系リポジトリパッケージ (RHEL7) (1.1.21-1.1)2019-10-02 13:00
[2-02] Pacemaker-1.1系/1.0系リポジトリパッケージ (RHEL6) (1.1.21-1.1)2019-10-02 13:00
[2-03] Pacemaker-1.0系リポジトリパッケージ (RHEL5) (1.0.13-2.1)2014-08-13 09:28
[2-10] pm_ctl : 運用管理連携機能 (1.0-1)2012-11-05 11:20
[2-11] pm_logconv-cs : ログメッセージ制御機能(Corosync対応) (1.0-1)2012-11-12 09:53
[3-01] Heartbeat (RedHat/CentOS用rpmパッケージ) (2.1.4-1)2008-08-28 09:53
[3-02] hb-monitor:クラスタ状態表示機能 (1.03-1)2011-02-16 07:21
[3-03] hb-extras:拡張リソースエージェント・プラグイン (1.02-1)2011-02-16 07:21
[3-04] hb-logconv:ログメッセージ制御機能 (1.02-1)2011-02-16 07:21
[3-05] hb-cibgen:cib.xml編集ツール (1.03-1_1)2009-11-16 13:31
[3-06] hb-diskd:ディスク監視デーモン (1.10-1)2010-01-22 10:20
[3-07] VIPcheck:VIPcheckリソースエージェント (1.1)2009-11-30 07:21
[3-08] hb-sfex:共有ディスク排他制御 (1.30-1)2010-01-22 10:00
[3-09] hb-logmoni:ロギングデーモン監視 (2.00-1)2010-01-22 10:10
[3-10] hb-ipv6:IPv6対応追加パッケージ (1.00-1)2010-01-29 07:21
[3-11] hb-vmmonitor:デバイス一括監視機能 (1.00-1)2010-06-11 07:21
[3-12] vm-logd-monitor:ログデーモン監視機能(Domain-0用) (1.00-1)2010-06-11 07:21
[3-13] stonith-wrapper2:STONITHラッパープラグイン2 (2.00)2010-06-18 07:21
[3-14] hb-actmonitor:フェイルオーバ抑止機能 (1.00-1)2010-11-26 07:21

Wiki Guide

Side Bar

ログメッセージ制御機能(hb_logconv)

本ツールはHeartbeatが出力するログのうち、運用上必要と考えられるログのみ抽出し、運用者に分かりやすい内容へ変換して出力するものです。

Heartbeatの標準ログha-logは大量のログ出力があり、また、内容が分かりにくいものでした。本ツールを使うことにより、故障情報等がログから分かりやすく取得できるようになります。

本ツールはHeartbeatと連携動作するツールです。Heartbeatの標準ログから随時ログを読み込み、設定ファイルの内容にしたがって、必要となるログを抽出します。その後、運用者に分かりやすい形式・内容に変換し独自のログファイル(デフォルト:/var/log/hb_logconv.out)に抽出・変換後のログを出力します。

このリリースのファイルを表示

1. 動作環境

  • hb-logconv-1.02-1 は、RHEL5系上で動作させる heartbeat-2.1.4-1 と連携して動作します。RHEL4系上や heartbeat-2.1.3 など他環境で正しく動作しません。
  • ロギングデーモン監視 (hb-logmoni) が導入されていることを前提としています。

2. ログファイル

本ツールを導入することにより、ログファイル全体として以下のようになります。ログファイルのディレクトリは全て /var/log です。

  • ha-log : heartbeatが出力するログ
  • ha-debug : heartbeatが出力するログであり、デバッグレベルのものを含む
  • heartbeat_process_monitor.log : クラスタ自己監視プログラムが出力する、ha_logdプロセスの監視ログ
  • hb_logconv.out : 本ツールの導入により出力されるようになるログ(導入目的となるログ)
  • hb_logconv_process_monitor.log : 本ツールの動作状況の監視ログ

3. インストール

インストール方法は以下の手順です。

(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%]

4. 使用方法

このツールを動作させるためには、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と本ツールが連携して動作します。

4.1 /etc/init.d/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     ;;

4.2 /etc/logrotate.d/heartbeatの編集

出力されるログのローテーション設定を行います。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
}		

4.3 /etc/ha.d/ha.cfの編集

本ツールはHeartbeatと共に起動され、常駐プロセスとなります。 何らかの原因でプロセスが落ちた場合に再起動するように以下の設定を行います。

# vi /etc/ha.d/ha.cf
(略)
respawn root /etc/ha.d/monitoring/hb_logconv_monitor.sh

4.4 /etc/ha.d/hb_logconv.cfの編集

本ツールの動作のための設定を行います。 下の表で設定内容の説明をしています。

# 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_pathHeartbeatの出力ログファイルを指定します。デフォルトは/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の指定方法を参照してください。

4.4.1 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

5. ログメッセージ一覧

hb_logconv 出力ログメッセージ一覧

6. 制約事項

本ツールを利用するにあたり、以下の制約事項があります。

  • ha-log内のログ欠落による対応は出来ません。
  • Heartbeatでは一時的に大量のログが出力されるような場合、全てのログがha-logに出力されない場合があります。ha-logに出力されていないログに対しては抽出・変換は出来ません。
  • unnamagedとなった場合のログ
  • フェイルオーバー完了時にUnmanagedのリソースがある場合、フェイルオーバ失敗とみなします。手動でUnmanagedとした場合でも、故障によってUnmanagedとなった場合でも区別しません。Unmanagedとなっている場合には、手動で通常状態に戻してください。
  • Heartbeat起動時に故障が発生した場合のログ
  • Heartbeat起動時、サービスを提供するリソースの起動前に待機系ノードのネットワーク故障など特定の故障が発生した場合、リソース移動が発生していないにも関わらず、フェイルオーバ開始および終了(成功)のメッセージを出力します。本現象の発生時、サービスを提供するリソースは、初期起動すべきノードにて起動処理が継続され、正常に起動されます。Heartbeat起動時には正しく起動できていることを確認することをお勧めします。

関連情報