JP4863984B2 - 監視処理プログラム、方法及び装置 - Google Patents

監視処理プログラム、方法及び装置 Download PDF

Info

Publication number
JP4863984B2
JP4863984B2 JP2007326509A JP2007326509A JP4863984B2 JP 4863984 B2 JP4863984 B2 JP 4863984B2 JP 2007326509 A JP2007326509 A JP 2007326509A JP 2007326509 A JP2007326509 A JP 2007326509A JP 4863984 B2 JP4863984 B2 JP 4863984B2
Authority
JP
Japan
Prior art keywords
monitoring
application
predetermined
log record
notification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007326509A
Other languages
English (en)
Other versions
JP2009151388A (ja
Inventor
芳樹 田頭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007326509A priority Critical patent/JP4863984B2/ja
Publication of JP2009151388A publication Critical patent/JP2009151388A/ja
Application granted granted Critical
Publication of JP4863984B2 publication Critical patent/JP4863984B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、アプリケーションの生存監視のための技術に関し、より詳しくは、アプリケーションの状態をより正確に判断するための技術に関する。
従来、例えば、業務処理サーバ(以下、被監視サーバと呼ぶ)のアプリケーション層レベルの生存監視を行う場合、図1に示すように、監視マネージャ(例えば、監視装置等)が、生存監視のためのリクエスト(以下、生存監視リクエストと呼ぶ)を定期的に被監視サーバに送信し、被監視サーバのアプリケーション層の処理を実行させる。そして、アプリケーションが正常に動作していれば、生存監視リクエストに対する応答が一定時間内に送信されるため、監視マネージャはアプリケーションの状態を正常とみなす。一方、アプリケーションに異常が生じている場合には、生存監視リクエストに対する応答が一定時間内に送信されないので、監視マネージャはアプリケーションの状態を異常とみなす。
上記のような技術に類似するものとして、例えば特許第3903437号公報記載の技術がある。具体的には、2つのネットワーク・インタフェースを備えた複数のピア・ノードと、少なくとも1つのゲートウェイとからクラスタが構成され、ピア・ノード間でハートビート・メッセージを送信し、ハートビート損失を検出したピア・ノードが、2つのネットワーク・インタフェースのそれぞれを介して、クラスタにおける全てのピア・ノードおよびゲートウェイにオペレーティング・システムレベルのICMP(Internet Control Message Protocol)エコーを発行し、ICMPエコーの応答を分析してクラスタにおける障害の位置を決定するようになっている。さらに、所定の時間間隔内のICMPエコーの応答の受信およびハートビート損失の検出の双方に応答して、ピア・ノードに対してアプリケーション・レベルのping(Packet INternet Groper)を発行するようになっている。
しかしながら、上で述べたような従来技術では、生存監視リクエストを受信した被監視サーバにおいてアプリケーション層の処理を実行しなければならない。そのため、例えば図2に示すように被監視サーバが高負荷状態にある場合には、生存監視リクエストに応じた処理を実施するまでに時間がかかり、一定時間内に応答することができないため、アプリケーションは正常に動作しているにもかかわらず、監視マネージャにおいて異常と判断されてしまう場合がある。
特に、複数台のサーバで負荷分散しているような場合、アプリケーションの状態が異常と判断されると、そのサーバは負荷分散の対象から外されてしまい、他のサーバの負荷を増加させることになる。そして、図3に示すように、サーバが次々と負荷分散の対象から外されることになり、最終的にシステムダウンを起こす可能性がある。
また、例えば特開2006−172050号公報には、ネットワークにより接続されている同一の動作をする2つのサーバ計算機を有するホットスタンバイ式2重化システムが開示されている。具体的には、2つのサーバ計算機の各々に、ネットワークに接続された他方のサーバ計算機が正常に動作しているかどうかの状態を監視すると共に、自サーバ計算機の状態を他方のサーバ計算機に通知するハートビートモジュールと、自サーバ計算機内のプロセスを監視し、プロセスの異常を検出した場合はハートビートモジュールにプロセス異常の検出を通知するプロセス監視モジュールと、自サーバ計算機内のログを監視し、異常ログを検出した場合はハートビートモジュールに異常ログの検出を通知するログ監視モジュールとを備える。また、ハートビートモジュールは、他方のサーバ計算機のハートビートモジュールが送信するハートビート信号を受信し、当該ハートビート信号を一定時間内に受信できなかった場合は他方のサーバ計算機が正常に動作していないと判断して自サーバ計算機をマスタとし、ハートビート信号を一定時間内に受信できた場合は他方のサーバ計算機の状態が正常に動作していると判断して自サーバ計算機をスレーブとするようになっている。しかし、当該公報では、他方のサーバ計算機のハートビートモジュールに異常が生じて、ハートビート信号が送信されなくなった場合も、直ちに他方のサーバ計算機が正常に動作していないと判断されてしまい、他方のサーバ計算機のハートビートモジュールに異常が生じているのか、プロセスに異常が生じているのか判断することはできない。また、当該公報では、自サーバ計算機のプロセスの異常を検出したり、異常ログを検出したりする必要があるため、このような異常を監視する処理がサーバ計算機の負荷となってしまう。
特許第3903437号公報 特開2006−172050号公報
以上述べたように、従来技術では、被監視サーバのアプリケーションの状態を正確に判断することができない。また、被監視サーバにおける監視処理の負荷を軽減できているとは言えない。
従って、本発明の目的は、被監視サーバのアプリケーションの状態をより正確に判断するための技術を提供することである。
また、本発明の他の目的は、被監視サーバにおける監視処理の負荷を抑えつつ、被監視サーバのアプリケーション層レベルの生存監視を行うための技術を提供することである。
本発明に係る監視処理方法は、サーバにおける所定のアプリケーション・プログラムの状態を監視する方法であって、所定のアプリケーション・プログラムから出力されるログ・レコードを格納しているアプリケーションログ格納部に格納されている最新ログ・レコードが第1の所定時間前における最新ログ・レコードと異なる場合にサーバにおける監視エージェント・プログラムから送信される通知(例えば、最新ログ・レコード。単に所定のアプリケーション・プログラムの生存を表す通知であってもよい。)を受信するステップと、監視エージェント・プログラムからの通知を受信してから第2の所定時間経過するまでに次の通知を受信しない場合、所定のアプリケーション・プログラムにアプリケーション処理依頼を送信するステップと、アプリケーション処理依頼を送信してから第3の所定時間経過するまでにアプリケーション処理依頼に対する応答を所定のアプリケーション・プログラムから受信しない場合、当該所定のアプリケーション・プログラムに異常が生じていると判断するステップとを含む。
このようにすれば、例えば、第2の所定時間内に監視エージェント・プログラムからの次の通知を受信した場合、及び、第3の所定時間内にアプリケーション・プログラムからの応答を受信した場合には、アプリケーション・プログラムの動作が正常であるとみなすようにすれば、高負荷状態であっても、被監視サーバのアプリケーションの状態を正確に判断することができる。
また、被監視サーバでは、第1の所定時間間隔毎に、ログ・レコードが更新されたか否かを判断すればよく、被監視サーバにおける監視処理の負荷を軽減することができる。なお、(1)被監視サーバがアイドリング状態(動作は正常)の場合、(2)アプリケーション・プログラムに異常が生じている場合、(3)監視エージェント・プログラムに異常が生じている場合のいずれかの場合に、アプリケーション処理依頼(すなわち、生存監視リクエスト)を送信することになるが、正常動作中にアプリケーション処理依頼が送信されるのは、上記(1)の場合だけである。すなわち、アイドリング状態であれば、被監視サーバにアプリケーション層の処理を実行させても問題にはならない。
また、アプリケーション処理依頼を送信してから第3の所定時間経過するまでにアプリケーション処理依頼に対する応答を所定のアプリケーション・プログラムから受信し、アプリケーション処理依頼に対する応答を受信してから第4の所定時間経過するまでに監視エージェント・プログラムからの通知を受信しない場合、当該監視エージェント・プログラムに異常が生じていると判断するステップをさらに含むようにしてもよい。
このようにすれば、アプリケーション・プログラムに異常が生じているのか、監視エージェント・プログラムに異常が生じているのかを把握することができるようになる。
なお、本発明に係る監視処理方法をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
本発明によれば、被監視サーバのアプリケーションの状態をより正確に判断できる。
また、本発明の他の側面によれば、被監視サーバにおける監視処理の負荷を抑えつつ、被監視サーバのアプリケーション層レベルの生存監視を行うことができる。
図4に本発明の一実施の形態に係るシステム概要を示す。例えば、社内LAN(Local Area Network)又はインターネットのようなネットワーク1には、クライアント端末3と、監視対象となる被監視サーバ5とが接続されている。また、同様に社内LAN又はインターネットのようなネットワーク9には、被監視サーバ5と、被監視サーバ5を監視する監視マネージャ7とが接続されている。なお、図4の例では、監視マネージャ7に接続される被監視サーバ5は1台であるが、複数台接続される場合もある。また、図4の例では、被監視サーバ5に接続されるクライアント端末3も1台であるが、複数台接続される場合もある。
被監視サーバ5は、クライアント端末3からのリクエスト又は監視マネージャ7からの生存監視リクエストに応じた処理を実行するアプリケーション51と、アプリケーション51から出力されるログ・レコードを格納するログDB53と、ログDB53に格納された最新ログ・レコードを監視し、監視マネージャ7に所定の通知を送信する監視エージェント55とを有する。
また、監視マネージャ7は、アプリケーション51からの、生存監視リクエストに対する応答又は監視エージェント55からの所定の通知を受信する受信部71と、所定時間内に生存監視リクエストに対する応答又は所定の通知を受信したか監視する監視処理部73と、生存監視リクエストを送信するリクエスト送信部75とを有する。
次に、図5乃至図8を用いて、図4に示したシステムの処理概要を説明する。図4に示したシステムの基本的な処理の流れを図5に示す。まず、クライアント端末3は、例えば被監視サーバ5の提供するサービスなどを利用する場合、被監視サーバ5にリクエストを送信する(図5:ステップ(1))。そして、被監視サーバ5のアプリケーション51は、クライアント端末3からのリクエストを受信し、リクエストに応じた処理を実行し、リクエストに対する応答をクライアント端末3に送信する(ステップ(2))。このとき、アプリケーション51は、実行した処理に関するログ・レコードを生成し、ログDB53に出力する(ステップ(3))。なお、本実施の形態では、アプリケーション51において処理が正常に終了した場合に、ログ・レコードが出力されるものとする。
また、被監視サーバ5の監視エージェント55は、一定時間(例えば第1の所定時間)間隔毎に、ログDBから最新ログ・レコードを読み出す(ステップ(4))。そして、監視エージェント55は、読み出した最新ログ・レコードと監視マネージャ7に前回送信したログ・レコードとが同一かどうか判断し、前回送信したログ・レコードと異なる場合には、読み出した最新ログ・レコードを監視マネージャ7に送信する(ステップ(5))。
そして、監視マネージャ7の受信部71は、被監視サーバ5の監視エージェント55から定期的に送信される最新ログ・レコードを受信する。また、監視マネージャ7の監視処理部73は、一定時間(例えば第2の所定時間)内に次の最新ログ・レコードを受信したか監視し、一定時間内に次の最新ログ・レコードを受信した場合には、被監視サーバ5のアプリケーション51の状態を正常と判断する(ステップ(6))。
このように、被監視サーバ5のアプリケーション51が正常に動作しており、クライアント端末3からのリクエストに応じて処理を実行していれば、最新ログ・レコードが更新され、被監視サーバ5の監視エージェント55から監視マネージャ7に最新ログ・レコードが送信されることになる。従って、本実施の形態では、監視マネージャ7が、一定時間内に次の最新ログ・レコードを受信することで、被監視サーバ5のアプリケーション51の状態を正常と判断する。
また、(1)被監視サーバ5がアイドリング状態(動作は正常)の場合、(2)被監視サーバ5のアプリケーション51に異常が生じている場合、(3)被監視サーバ5の監視エージェント55に異常が生じている場合のいずれかの場合、監視エージェント55からの通知(最新ログ・レコードの送信)が一定時間以上なされないこととなる。図6乃至図8を用いて、各々の場合における処理を説明する。
図6に、(1)被監視サーバ5がアイドリング状態(動作は正常)の場合における処理の流れを示す。被監視サーバ5がアイドリング状態の場合、アプリケーション層の処理は行われず、被監視サーバ5のアプリケーション51からログ・レコードが出力されない。そして、ステップ(5)において、最新ログ・レコードが前回送信したログ・レコードと同一であると判断され、被監視サーバ5の監視エージェント55は、最新ログ・レコードの送信を行わない。そのため、監視マネージャ7の監視処理部73は、被監視サーバ5の監視エージェント55から、一定時間以上通知がなされていないことを検出する(図6:ステップ(7))。一定時間以上通知がなされていないことを検出すると、監視マネージャ7のリクエスト送信部75は、生存監視リクエストを被監視サーバ5に送信する(ステップ(8))。また、監視マネージャ7の監視処理部73は、生存監視リクエストを送信してから一定時間(例えば第3の所定時間)経過するまでの間に、生存監視リクエストに対する応答を被監視サーバ5から受信したか否か監視する(ステップ(9))。
一方、被監視サーバ5のアプリケーション51は、監視マネージャ7からの生存監視リクエストを受信すると、生存監視リクエストに応じた処理を実行し、生存監視リクエストに対する応答を監視マネージャ7に送信する(ステップ(10))。このとき、アプリケーション51は、実行した処理に関するログ・レコードを生成し、ログDB53に出力する(ステップ(11))。
監視マネージャ7の受信部71は、被監視サーバ5のアプリケーション51からの、生存監視リクエストに対する応答を受信する。生存監視リクエストを送信してから一定時間経過するまでの間に、生存監視リクエストに対する応答を受信した場合には、監視マネージャ7の監視処理部73は、続いて、一定時間(例えば第4の所定時間)経過するまでに、被監視サーバ5からの最新ログ・レコードを受信したか否か監視する(ステップ(12))。
また、被監視サーバ5の監視エージェント55は、ログDBから最新ログ・レコードを読み出す(ステップ(13))。そして、監視エージェント55は、読み出した最新ログ・レコードと監視マネージャ7に前回送信したログ・レコードとが同一かどうか判断する。なお、ステップ(11)において、新たなログ・レコードが出力されているため、読み出した最新ログ・レコードは、前回送信したログ・レコードとは異なるものと判断される。そして、監視エージェント55は、読み出した最新ログ・レコードを監視マネージャ7に送信する(ステップ(14))。そして、監視マネージャ7の受信部71は、被監視サーバ5の監視エージェント55からの最新ログ・レコードを受信する。
このように、被監視サーバ5がアイドリング状態(動作は正常)の場合には、監視マネージャ7は、生存監視リクエストを送信してから一定時間(第3の所定時間)経過するまでに、生存監視リクエストに対する応答を受信し、その後、一定時間(第4の所定時間)経過するまでに最新ログ・レコードを受信することになる。従って、監視マネージャ7は、生存監視リクエストに対する応答及び最新ログ・レコードを受信することで、被監視サーバ5のアプリケーション51の状態を正常と判断する(ステップ(15))。
図7に、(2)被監視サーバ5のアプリケーション51に異常が生じている場合における処理の流れを示す。被監視サーバ5のアプリケーション51に異常が生じている場合、アプリケーション層の処理が正常に終了しないため、アプリケーション51からログ・レコードが出力されない。そして、ステップ(5)において、最新ログ・レコードが前回送信したログ・レコードと同一であると判断され、被監視サーバ5の監視エージェント55は、最新ログ・レコードの送信を行わない。そのため、監視マネージャ7の監視処理部73は、被監視サーバ5の監視エージェント55から、一定時間以上通知がなされていないことを検出する(図7:ステップ(16))。一定時間以上通知がなされていないことを検出すると、監視マネージャ7のリクエスト送信部75は、生存監視リクエストを被監視サーバ5に送信する(ステップ(17))。また、監視マネージャ7の監視処理部73は、生存監視リクエストを送信してから一定時間経過するまでの間に、生存監視リクエストに対する応答を被監視サーバ5から受信したか否か監視する(ステップ(18))。
一方で、被監視サーバ5のアプリケーション51は、監視マネージャ7からの生存監視リクエストを受信する。しかし、被監視サーバ5のアプリケーション51に異常が生じているため、生存監視リクエストに応じた処理が正常に終了せず、生存監視リクエストに対する応答は送信されない。
このように、被監視サーバ5のアプリケーション51に異常が生じている場合には、監視マネージャ7は、生存監視リクエストを送信しても、一定時間経過するまでに生存監視リクエストに対する応答を受信しない。従って、監視マネージャ7は、一定時間内に生存監視リクエストに対する応答がない場合には、被監視サーバ5のアプリケーション51の状態を異常と判断する(ステップ(19))。
図8に、(3)被監視サーバ5の監視エージェント55に異常が生じている場合における処理の流れを示す。被監視サーバ5の監視エージェント55に異常が生じている場合、被監視サーバ5のアプリケーション51は正常に動作していても、最新ログ・レコードは送信されない。そのため、監視マネージャ7の監視処理部73は、被監視サーバ5の監視エージェント55から、一定時間以上通知がなされていないことを検出する(図8:ステップ(20))。一定時間以上通知がなされていないことを検出すると、監視マネージャ7のリクエスト送信部75は、生存監視リクエストを被監視サーバ5に送信する(ステップ(21))。また、監視マネージャ7の監視処理部73は、生存監視リクエストを送信してから一定時間経過するまでの間に、生存監視リクエストに対する応答を被監視サーバ5から受信したか否か監視する(ステップ(22))。
一方、被監視サーバ5のアプリケーション51は、監視マネージャ7からの生存監視リクエストを受信すると、生存監視リクエストに応じた処理を実行し、生存監視リクエストに対する応答を監視マネージャ7に送信する(ステップ(23))。このとき、アプリケーション51は、実行した処理に関するログ・レコードを生成し、ログDB53に出力する(ステップ(24))。
監視マネージャ7の受信部71は、被監視サーバ5のアプリケーション51からの、生存監視リクエストに対する応答を受信する。生存監視リクエストを送信してから一定時間経過するまでの間に、生存監視リクエストに対する応答を受信した場合には、監視マネージャ7の監視処理部73は、続いて、一定時間経過するまでに、被監視サーバ5からの最新ログ・レコードを受信したか否か監視する(ステップ(25))。しかし、被監視サーバ5の監視エージェント55に異常が生じているため、最新ログ・レコードは送信されない。
このように、被監視サーバ5の監視エージェント55に異常が生じている場合には、監視マネージャ7は、生存監視リクエストを送信してから一定時間経過するまでに、生存監視リクエストに対する応答を受信するが、その後、最新ログ・レコードは受信しない。従って、監視マネージャ7は、生存監視リクエストに対する応答を受信した後、一定時間内に最新ログ・レコードが送信されない場合には、被監視サーバ5の監視エージェント55の状態を異常と判断する(ステップ(26))。
次に、図5乃至図8のような処理を実施するための被監視サーバ5のアプリケーション51及び監視エージェント55、並びに、監視マネージャ7の処理をより詳細に説明する。図9に、被監視サーバ5のアプリケーション51の処理フローを示す。まず、アプリケーション51は、クライアント端末3からのリクエスト又は監視マネージャ7からの生存監視リクエストを受信する(図9:ステップS1)。なお、いずれのリクエストも、アプリケーション層の処理を実行させるためのものである。そして、アプリケーション51は、受信したリクエスト又は生存監視リクエストに応じた処理を実施する(ステップS3)。そして、当該処理が正常に終了した場合(ステップS5:Yesルート)、アプリケーション51は、実施した処理に関するログ・レコードを生成し、ログDB53に格納する(ステップS7)。また、アプリケーション51は、クライアント端末3又は監視マネージャ7に、リクエストに対する応答又は監視リクエストに対する応答を送信する(ステップS9)。
図10に、被監視サーバ5の監視エージェント55の処理フローを示す。なお、監視エージェント55は、図10に示すような処理を定期的に実施する。まず、監視エージェント55は、ログDB53から最新ログ・レコードを読み出す(図10:ステップS11)。なお、図示していないが、ログDB53にログ・レコードが格納されていない場合には、ステップS13及びステップS15の処理をスキップし、処理を終了する。
そして、読み出した最新ログ・レコードが、前回監視マネージャ7に送信したログ・レコードと同一であるか判断する(ステップS13)。読み出したログ・レコードが、前回監視マネージャ7に送信したログ・レコードと同一であると判断された場合(ステップS13:Yesルート)、ステップS15の処理をスキップし、処理を終了する。
一方、読み出した最新ログ・レコードが、前回監視マネージャ7に送信したログ・レコードと異なると判断された場合(ステップS13:Noルート)、監視エージェント55は、最新ログ・レコードを監視マネージャ7に送信し、送信履歴を更新する(ステップS15)。なお、最後に送信したログ・レコードに関する情報(例えば、ログ・レコードの生成日時)を送信履歴として保持する。その後、処理を終了する。
図11に、監視マネージャ7の処理フローを示す。まず、監視マネージャ7の監視処理部73は、被監視サーバ5の監視エージェント55から送信されるログ・レコードを監視する(図11:ステップS21)。なお、監視対象の被監視サーバ5が複数存在するような場合は、各被監視サーバ5の監視エージェント55からのログ・レコードを監視する。そして、監視処理部73は、被監視サーバ5の監視エージェント55から、一定時間以上通知がなされていないことを検出したか判断する(ステップS23)。被監視サーバ5の監視エージェント55から、一定時間内に通知がなされた場合(ステップS23:Noルート)、ステップS21の処理に戻る。
一方、被監視サーバ5の監視エージェント55から、一定時間以上通知がなされていないことを検出した場合(ステップS23:Yesルート)、監視マネージャ7のリクエスト送信部75が、生存監視リクエストを被監視サーバ5のアプリケーション51に送信する(ステップS25)。また、監視処理部73は、被監視サーバ5のアプリケーション51からの、生存監視リクエストに対する応答を監視し、生存監視リクエストに対する応答を一定時間内に受信したか否か判断する(ステップS27)。
被監視サーバ5のアプリケーション51からの、生存監視リクエストに対する応答を一定時間内に受信しない場合(ステップS27:Noルート)、監視処理部73は、被監視サーバ5のアプリケーション51に異常があると判断する(ステップS29)。そして、異常時の処理(例えば、警告の出力や、被監視サーバ5の切り離し等)が予め決められている場合には、当該処理を実施する。そして、処理を終了する。
一方、被監視サーバ5からの、生存監視リクエストに対する応答を一定時間内に受信した場合(ステップS27:Yesルート)、監視処理部73は、続いて、被監視サーバ5の監視エージェント55からのログ・レコードを監視し、最新ログ・レコードを一定時間内に受信したか否か判断する(ステップS31)。
生存監視リクエストに対する応答を受信した後、被監視サーバ5の監視エージェント55からの最新ログ・レコードを一定時間内に受信しない場合(ステップS31:Noルート)、監視処理部73は、被監視サーバ5の監視エージェント55に異常があると判断する(ステップS33)。そして、異常時の処理(例えば、警告の出力や、監視エージェント55の再起動等)が予め決められている場合には、当該処理を実施する。そして、処理を終了する。
一方、生存監視リクエストに対する応答を受信した後、被監視サーバ5の監視エージェント55からの最新ログ・レコードを一定時間内に受信した場合(ステップS31:Yesルート)、ステップS21の処理に戻る。すなわち、被監視サーバ5のアプリケーション51及び監視エージェント55が正常に動作している場合には、ステップS21の処理に戻る。
以上のような処理を実施することにより、高負荷状態であっても被監視サーバ5のアプリケーション51の状態を正確に判断することができる。さらに、被監視サーバ5のアプリケーション51に異常が生じているのか、監視エージェント55に異常が生じているのかも判断できるようになる。なお、監視エージェント55は、ログ・レコードが更新されているか否かを判断すればよく、被監視サーバ5における負荷も軽減される。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
また、上で説明した被監視サーバ5の監視エージェント55の処理フロー(図10)では、ステップS13において、読み出した最新ログ・レコードが前回送信したログ・レコードと同一か否か判断し、異なる場合にのみ、被監視サーバ5の監視エージェント55が、当該最新ログ・レコードを送信するようになっているが、ステップS13の判断処理をスキップし、前回送信したログ・レコードと同一であっても、一定時間間隔毎に、現時点の最新ログ・レコード(ログDB53にログ・レコードが格納されていない場合には空のログ・レコード)を監視マネージャ7に送信するようにしてもよい。
この場合、上で説明した監視マネージャ7の処理フロー(図11)のステップS23において、被監視サーバ5の監視エージェント55から、一定時間以上通知がなされていないことを検出した場合、監視エージェント55に異常があると判断し、処理を終了するようにすればよい。また、ステップS23とステップS25の間に、受信したログ・レコードの内容が一定時間以上同一であるか否かを監視する処理を追加し、ログ・レコードの内容が一定時間以上同一であることを検出した場合には、ステップS25の処理に移行(すなわち、生存監視リクエストを送信)し、ログ・レコードの内容が一定時間内に更新されている場合には、ステップS21の処理に戻るようにすればよい。
また、上で説明した被監視サーバ5のアプリケーション51の処理では、処理が正常に終了した場合にのみ、ログ・レコードを出力するようになっているが、例えばアプリケーション51が動作を継続できるような状態で処理が異常終了した場合も、ログ・レコードを出力するようにしてもよい。この場合、監視エージェント55では、ログ・レコードが更新されたものとみなして処理をすればよい。このようにしても、被監視サーバ5のアプリケーション51の生存を確認することは可能である。
なお、図4に示したクライアント端末3、被監視サーバ5及び監視マネージャ7は、図12のようなコンピュータ装置であって、メモリ2501(記憶装置)とCPU2503(処理装置)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本発明の実施の形態では、上で述べた処理を実施するためのアプリケーション・プログラムはリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
(付記1)
サーバにおける所定のアプリケーション・プログラムの状態を監視するための処理をコンピュータに実行させるためのプログラムであって、
前記所定のアプリケーション・プログラムから出力されるログ・レコードを格納しているアプリケーションログ格納部に格納されている最新ログ・レコードが第1の所定時間前における最新ログ・レコードと異なる場合に前記サーバにおける監視エージェント・プログラムから送信される通知を受信するステップと、
前記監視エージェント・プログラムからの前記通知を受信してから第2の所定時間経過するまでに次の前記通知を受信しない場合、前記所定のアプリケーション・プログラムにアプリケーション処理依頼を送信するステップと、
前記アプリケーション処理依頼を送信してから第3の所定時間経過するまでに前記アプリケーション処理依頼に対する応答を前記所定のアプリケーション・プログラムから受信しない場合、当該所定のアプリケーション・プログラムに異常が生じていると判断するステップと、
をコンピュータに実行させる監視処理プログラム。
(付記2)
前記アプリケーション処理依頼を送信してから前記第3の所定時間経過するまでに前記アプリケーション処理依頼に対する応答を前記所定のアプリケーション・プログラムから受信し、前記アプリケーション処理依頼に対する応答を受信してから第4の所定時間経過するまでに前記監視エージェント・プログラムからの前記通知を受信しない場合、当該監視エージェント・プログラムに異常が生じていると判断するステップ
をさらにコンピュータに実行させる付記1記載の監視処理プログラム。
(付記3)
サーバにおける所定のアプリケーション・プログラムの状態を監視する方法であって、
前記所定のアプリケーション・プログラムから出力されるログ・レコードを格納しているアプリケーションログ格納部に格納されている最新ログ・レコードが第1の所定時間前における最新ログ・レコードと異なる場合に前記サーバにおける監視エージェント・プログラムから送信される通知を受信するステップと、
前記監視エージェント・プログラムからの前記通知を受信してから第2の所定時間経過するまでに次の前記通知を受信しない場合、前記所定のアプリケーション・プログラムにアプリケーション処理依頼を送信するステップと、
前記アプリケーション処理依頼を送信してから第3の所定時間経過するまでに前記アプリケーション処理依頼に対する応答を前記所定のアプリケーション・プログラムから受信しない場合、当該所定のアプリケーション・プログラムに異常が生じていると判断するステップと、
を含み、コンピュータにより実行される監視処理方法。
(付記4)
サーバにおける所定のアプリケーション・プログラムの状態を監視する装置であって、
前記所定のアプリケーション・プログラムから出力されるログ・レコードを格納しているアプリケーションログ格納部に格納されている最新ログ・レコードが第1の所定時間前における最新ログ・レコードと異なる場合に前記サーバにおける監視エージェント・プログラムから送信される通知を受信する手段と、
前記監視エージェント・プログラムからの前記通知を受信してから第2の所定時間経過するまでに次の前記通知を受信しない場合、前記所定のアプリケーション・プログラムにアプリケーション処理依頼を送信する手段と、
前記アプリケーション処理依頼を送信してから第3の所定時間経過するまでに前記アプリケーション処理依頼に対する応答を前記所定のアプリケーション・プログラムから受信しない場合、当該所定のアプリケーション・プログラムに異常が生じていると判断する手段と、
を有する監視処理装置。
(付記5)
所定のアプリケーション・プログラムを実行し、前記所定のアプリケーション・プログラムから出力されるログ・レコードを監視する監視手段を有するサーバと、
前記所定のアプリケーション・プログラムの状態を監視する監視処理装置と、
を有し、
前記監視手段は、
第1の所定時間間隔毎に、前記ログ・レコードを格納しているアプリケーションログ格納部に格納されている最新ログ・レコードが前記第1の所定時間前における最新ログ・レコードと同一であるか判断する手段と、
前記アプリケーションログ格納部に格納されている最新ログ・レコードが前記第1の所定時間前における最新ログ・レコードと異なると判断された場合、所定の通知を前記監視処理装置に送信する通知手段と、
を有し、
前記監視処理装置は、
前記通知手段からの前記所定の通知を受信する手段と、
前記通知手段からの前記所定の通知を受信してから第2の所定時間経過するまでに次の前記所定の通知を受信しない場合、前記所定のアプリケーション・プログラムにアプリケーション処理依頼を送信する手段と、
前記アプリケーション処理依頼を送信してから第3の所定時間経過するまでに前記アプリケーション処理依頼に対する応答を前記所定のアプリケーション・プログラムから受信しない場合、当該所定のアプリケーション・プログラムに異常が生じていると判断する手段と、
を有する監視システム。
従来のアプリケーション層レベルの生存監視を説明するための図である。 従来のアプリケーション層レベルの生存監視を説明するための図である。 従来のアプリケーション層レベルの生存監視を説明するための図である。 本発明の実施の形態に係るシステム構成図である。 本発明の実施の形態におけるシステムの処理概要を説明するための図である。 本発明の実施の形態におけるシステムの処理概要を説明するための図である。 本発明の実施の形態におけるシステムの処理概要を説明するための図である。 本発明の実施の形態におけるシステムの処理概要を説明するための図である。 被監視サーバのアプリケーションの処理フローを示す図である。 被監視サーバの監視エージェントの処理フローを示す図である。 監視マネージャの処理フローを示す図である。 コンピュータの機能ブロック図である。
符号の説明
1,9 ネットワーク 3 クライアント端末
5 被監視サーバ 7 監視マネージャ
51 アプリケーション 53 ログDB
55 監視エージェント
71 受信部 73 監視処理部
75 リクエスト送信部

Claims (5)

  1. サーバにおける所定のアプリケーション・プログラムの状態を監視するための処理をコンピュータに実行させるためのプログラムであって、
    前記所定のアプリケーション・プログラムから出力されるログ・レコードを格納しているアプリケーションログ格納部に格納されている最新ログ・レコードが第1の所定時間前における最新ログ・レコードと異なる場合に前記サーバにおける監視エージェント・プログラムから送信される通知を受信するステップと、
    前記監視エージェント・プログラムからの前記通知を受信してから第2の所定時間経過するまでに次の前記通知を受信しない場合、前記所定のアプリケーション・プログラムにアプリケーション処理依頼を送信するステップと、
    前記アプリケーション処理依頼を送信してから第3の所定時間経過するまでに前記アプリケーション処理依頼に対する応答を前記所定のアプリケーション・プログラムから受信しない場合、当該所定のアプリケーション・プログラムに異常が生じていると判断するステップと、
    をコンピュータに実行させる監視処理プログラム。
  2. 前記アプリケーション処理依頼を送信してから前記第3の所定時間経過するまでに前記アプリケーション処理依頼に対する応答を前記所定のアプリケーション・プログラムから受信し、前記アプリケーション処理依頼に対する応答を受信してから第4の所定時間経過するまでに前記監視エージェント・プログラムからの前記通知を受信しない場合、当該監視エージェント・プログラムに異常が生じていると判断するステップ
    をさらにコンピュータに実行させる請求項1記載の監視処理プログラム。
  3. サーバにおける所定のアプリケーション・プログラムの状態を監視する方法であって、
    前記所定のアプリケーション・プログラムから出力されるログ・レコードを格納しているアプリケーションログ格納部に格納されている最新ログ・レコードが第1の所定時間前における最新ログ・レコードと異なる場合に前記サーバにおける監視エージェント・プログラムから送信される通知を受信するステップと、
    前記監視エージェント・プログラムからの前記通知を受信してから第2の所定時間経過するまでに次の前記通知を受信しない場合、前記所定のアプリケーション・プログラムにアプリケーション処理依頼を送信するステップと、
    前記アプリケーション処理依頼を送信してから第3の所定時間経過するまでに前記アプリケーション処理依頼に対する応答を前記所定のアプリケーション・プログラムから受信しない場合、当該所定のアプリケーション・プログラムに異常が生じていると判断するステップと、
    を含み、コンピュータにより実行される監視処理方法。
  4. サーバにおける所定のアプリケーション・プログラムの状態を監視する装置であって、
    前記所定のアプリケーション・プログラムから出力されるログ・レコードを格納しているアプリケーションログ格納部に格納されている最新ログ・レコードが第1の所定時間前における最新ログ・レコードと異なる場合に前記サーバにおける監視エージェント・プログラムから送信される通知を受信する手段と、
    前記監視エージェント・プログラムからの前記通知を受信してから第2の所定時間経過するまでに次の前記通知を受信しない場合、前記所定のアプリケーション・プログラムにアプリケーション処理依頼を送信する手段と、
    前記アプリケーション処理依頼を送信してから第3の所定時間経過するまでに前記アプリケーション処理依頼に対する応答を前記所定のアプリケーション・プログラムから受信しない場合、当該所定のアプリケーション・プログラムに異常が生じていると判断する手段と、
    を有する監視処理装置。
  5. 所定のアプリケーション・プログラムを実行し、前記所定のアプリケーション・プログラムから出力されるログ・レコードを監視する監視手段を有するサーバと、
    前記所定のアプリケーション・プログラムの状態を監視する監視処理装置と、
    を有し、
    前記監視手段は、
    第1の所定時間間隔毎に、前記ログ・レコードを格納しているアプリケーションログ格納部に格納されている最新ログ・レコードが前記第1の所定時間前における最新ログ・レコードと同一であるか判断する手段と、
    前記アプリケーションログ格納部に格納されている最新ログ・レコードが前記第1の所定時間前における最新ログ・レコードと異なると判断された場合、所定の通知を前記監視処理装置に送信する通知手段と、
    を有し、
    前記監視処理装置は、
    前記通知手段からの前記所定の通知を受信する手段と、
    前記通知手段からの前記所定の通知を受信してから第2の所定時間経過するまでに次の前記所定の通知を受信しない場合、前記所定のアプリケーション・プログラムにアプリケーション処理依頼を送信する手段と、
    前記アプリケーション処理依頼を送信してから第3の所定時間経過するまでに前記アプリケーション処理依頼に対する応答を前記所定のアプリケーション・プログラムから受信しない場合、当該所定のアプリケーション・プログラムに異常が生じていると判断する手段と、
    を有する監視システム。
JP2007326509A 2007-12-18 2007-12-18 監視処理プログラム、方法及び装置 Active JP4863984B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007326509A JP4863984B2 (ja) 2007-12-18 2007-12-18 監視処理プログラム、方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007326509A JP4863984B2 (ja) 2007-12-18 2007-12-18 監視処理プログラム、方法及び装置

Publications (2)

Publication Number Publication Date
JP2009151388A JP2009151388A (ja) 2009-07-09
JP4863984B2 true JP4863984B2 (ja) 2012-01-25

Family

ID=40920512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007326509A Active JP4863984B2 (ja) 2007-12-18 2007-12-18 監視処理プログラム、方法及び装置

Country Status (1)

Country Link
JP (1) JP4863984B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6294145B2 (ja) * 2014-04-28 2018-03-14 日本電信電話株式会社 監視方法、監視装置および監視制御プログラム
CN115296986B (zh) * 2022-06-27 2024-03-22 青岛海尔科技有限公司 事件的记录方法、装置、存储介质及电子装置

Also Published As

Publication number Publication date
JP2009151388A (ja) 2009-07-09

Similar Documents

Publication Publication Date Title
US9189316B2 (en) Managing failover in clustered systems, after determining that a node has authority to make a decision on behalf of a sub-cluster
US8332506B2 (en) Network monitor program executed in a computer of cluster system, information processing method and computer
US8949402B2 (en) Providing a witness service
CN106330475B (zh) 一种通信系统中管理主备节点的方法和装置及高可用集群
US20090070639A1 (en) Administering Correlated Error Logs In A Computer System
US7957330B1 (en) Failsafe management of periodic communications during system upgrade for a network device
JP4695705B2 (ja) クラスタシステムおよびノード切り替え方法
US7734948B2 (en) Recovery of a redundant node controller in a computer system
US20160036654A1 (en) Cluster system
JP6183931B2 (ja) クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びプログラム。
WO2019174454A1 (zh) 链路恢复方法及装置、系统、存储介质、电子装置
JP2004206634A (ja) 監視方法、稼動監視装置、監視システム及びコンピュータプログラム
JP2005301436A (ja) クラスタシステムおよびクラスタシステムにおける障害回復方法
JP4863984B2 (ja) 監視処理プログラム、方法及び装置
JP2011203941A (ja) 情報処理装置、監視方法、および監視プログラム
JP3917467B2 (ja) 電力系統監視制御システムおよびプログラム
JP4968568B2 (ja) 障害監視方法、障害監視システムおよびプログラム
US11954509B2 (en) Service continuation system and service continuation method between active and standby virtual servers
JP2005056347A (ja) サーバ機能引継方法およびサーバ機能引継プログラム
CN112217718A (zh) 一种业务处理方法、装置、设备及存储介质
JP2008003731A (ja) 情報処理システム
WO2014010021A1 (ja) 情報処理装置、情報処理システム、情報処理装置制御方法及び情報処理装置制御プログラム
US11947431B1 (en) Replication data facility failure detection and failover automation
JP7474168B2 (ja) 監視システムおよび障害監視方法
CN115426250B (zh) 一种用于靶场指控的双机热备切换方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111108

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111108

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4863984

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150