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

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

Info

Publication number
JP2018055481A
JP2018055481A JP2016191947A JP2016191947A JP2018055481A JP 2018055481 A JP2018055481 A JP 2018055481A JP 2016191947 A JP2016191947 A JP 2016191947A JP 2016191947 A JP2016191947 A JP 2016191947A JP 2018055481 A JP2018055481 A JP 2018055481A
Authority
JP
Japan
Prior art keywords
execution log
identification information
determination process
user
detection condition
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.)
Pending
Application number
JP2016191947A
Other languages
English (en)
Inventor
享 永田
Toru Nagata
享 永田
智 太田
Satoshi Ota
智 太田
石原 俊
Takashi Ishihara
俊 石原
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 JP2016191947A priority Critical patent/JP2018055481A/ja
Priority to US15/689,217 priority patent/US20180089055A1/en
Priority to EP17188305.1A priority patent/EP3301576A1/en
Publication of JP2018055481A publication Critical patent/JP2018055481A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Abstract

【課題】複数の利用者がソフトウエアを利用するシステムにおいてスケーリング可能な形態でソフトウエアの実行ログの監視を実現する装置、方法及びプログラムを提供する。
【解決手段】複数のユーザのうちいずれかのユーザの識別情報と、ユーザに対応付けられたソフトウエアの実行ログデータとを受け付け、実行ログデータの検出条件をユーザの識別情報に対応付けて記憶する記憶部から、受け付けた識別情報に対応付けられた検出条件を取得し、受け付けた実行ログデータが、取得した検出条件を満たすか否かについて判定処理を行い、判定処理の結果を出力する。
【選択図】図4

Description

本発明は、ログの監視技術に関する。
クラウドサービスの普及が進み、複数の利用者(例えば企業など)によりリソースが共有されるシステムが構築されるようになっている。このようなシステムはマルチテナントシステムと呼ばれる。例えば、或る文献は、サービス提供装置のリソースが複数の利用者に共有されるマルチテナントシステムを開示する。
そして、マルチテナントシステムにおいては、各利用者のアプリケーション層やミドルウエア層に共通で必要な「ログ管理」や「異常検知」などの機能は、PaaS(Platform as a Service)として提供されるようになっている。これらの機能を提供するためのソフトウエアとして、例えば、OSS(Open-Source Software)であるZabbixが知られている。
但し、このソフトウエアは、例えば同一のDB(Database)を共有出来ないなど、スケールアウトしない条件下で上記機能を提供することを前提として設計されており、利用者が増えた場合に負荷を分散できない。そのため、シングルテナント方式で利用者ごとにVM(Virtual Machine)の割り当てを行うことになり、上記機能を提供するためのコストが高くなる場合がある。
特開2012−113380号公報
本発明の目的は、1つの側面では、複数の利用者がソフトウエアを利用するシステムにおいてスケーリング可能な形態でソフトウエアの実行ログの監視を実現するための技術を提供することである。
本発明に係るログ監視方法は、複数のユーザのうちいずれかのユーザの識別情報と、該ユーザに対応付けられたソフトウエアの実行ログデータとを受け付け、実行ログデータの検出条件をユーザの識別情報に対応付けて記憶する記憶部から、受け付けた識別情報に対応付けられた検出条件を取得し、受け付けた実行ログデータが、取得した検出条件を満たすか否かについて判定処理を行い、判定処理の結果を出力する処理を含む。
1つの側面では、複数の利用者がソフトウエアを利用するシステムにおいてスケーリング可能な形態でソフトウエアの実行ログの監視を実現できるようになる。
図1は、本実施の形態のマルチテナントシステムの概要を示す図である。 図2は、情報処理装置のハードウエア構成図である。 図3は、情報処理装置の機能ブロック図である。 図4は、監視装置の機能ブロック図である。 図5は、管理装置の機能ブロック図である。 図6は、情報処理装置が実行する処理の処理フローを示す図である。 図7は、実行ログの一例を示す図である。 図8は、テナントテーブルの一例を示す図である。 図9は、GUIDが付加された実行ログの一例を示す図である。 図10は、監視装置が実行する処理の処理フローを示す図である。 図11は、監視VMテーブルの一例を示す図である。 図12は、情報処理装置のロードバランサが実行する処理の処理フローを示す図である。 図13は、監視装置が実行する処理の処理フローを示す図である。 図14は、トリガ定義テーブルの一例を示す図である。 図15は、監視定義テーブルの一例を示す図である。 図16は、情報処理装置が実行する処理の処理フローを示す図である。 図17は、管理装置が実行する処理の処理フローを示す図である。 図18は、監視装置が実行する処理の処理フローを示す図である。 図19は、監視装置が実行する処理の処理フローを示す図である。 図20は、管理装置が実行する処理の処理フローを示す図である。 図21は、監視装置が実行する処理の処理フローを示す図である。 図22は、コンピュータの機能ブロック図である。
図1は、本実施の形態のマルチテナントシステムの概要を示す図である。クラウドサービスを提供する情報処理装置1は、例えばインターネットであるネットワーク7に接続される。利用者端末9a乃至9cは、ネットワーク7を介してリクエストを情報処理装置1に送信し、情報処理装置1が提供するクラウドサービスを利用する。1又は複数の監視装置3は、情報処理装置1において発生する異常を検出し、検出した異常を利用者に通知する。管理装置5は、1又は複数の監視装置3を管理する。なお、図1においては利用者端末の数は3であるが、数に限定は無い。
図2は、情報処理装置1のハードウエア構成図である。情報処理装置1は、1又は複数のCPU(Central Processing Unit)11と、例えばDRAM(Dynamic Random Access Memory)である1又は複数のメモリ12と、1又は複数のHDD(Hard Disk Drive)13と、1又は複数のNIC(Network Interface Card)14とを有する。これらのハードウエアコンポーネントは、バスによって互いに接続される。
本実施の形態の処理を実行するためのプログラムは、HDD13に格納されており、メモリ12にロードされてCPU11により実行されることで、図3に示すような各種機能を実現する。図3は、情報処理装置1の機能ブロック図である。情報処理装置1は、ロードバランサ101と、制御部102と、データ格納部103と、ログ処理部104と、アプリケーション実行基盤105とを含む。アプリケーション実行基盤105上では、アプリケーション105a乃至105dが実行される。利用者は、利用者端末を操作することで、PaaSとして提供されるアプリケーション実行基盤105上のアプリケーションを利用することができる。図3においては、利用者A用のアプリケーションとしてアプリケーション105a及び105bが実行されており、利用者B用のアプリケーションとしてアプリケーション105cが実行されており、利用者C用のアプリケーションとしてアプリケーション105dが実行されている。
アプリケーション105a乃至105dは、実行に関する情報を含む実行ログを出力する。ログ処理部104は、アプリケーション105a乃至105dが出力した実行ログを収集し、ロードバランサ101に転送する。ロードバランサ101は、1又は複数の監視装置3において実行されているVM30の負荷が平準化されるように、ログ処理部104から受け取った実行ログを割り振る。実行ログには、実行ログを出力したアプリケーションの利用者の識別情報(GUID(Globally Unique Identifier))が付される。制御部102は、異常検出の条件のデータを含む定義データが登録、変更又は削除される際にアクセスされるエンドポイントであり、利用者端末から受信した定義データを管理装置5に転送する。定義データには、定義データの更新を要求する利用者のGUIDが付される。なお、制御部102は、トークンに基づき利用者端末の認証を行い、許可された利用者端末のみが定義データの登録等を行えるようにする。データ格納部103には、テナントテーブルと、監視VMテーブルとが格納される。
なお、監視装置3のハードウエア構成は情報処理装置1のハードウエア構成と同じであるので、説明を省略する。
図4は、監視装置3の機能ブロック図である。監視装置3はVM30を実行しており、VM30は、ログ転送部301と、監視部302と、ログ格納部303と、定義データ格納部304とを含む。なお、ここではVM30の数は1であるが、2以上のVM30が各監視装置3において実行されてもよい。
ログ転送部301は、情報処理装置1のロードバランサ101から受信した実行ログを監視部302に転送する。ログ転送部301は、実行ログを一時的にバッファに格納し、監視部302の状態が異常状態(例えば、監視部302の動作が停止している状態)ではない場合には実行ログを監視部302に転送する。監視部302の状態が異常状態である場合には実行ログをロードバランサ101に返送する。監視部302は、ログ転送部301から受け取った実行ログと定義データ格納部304に格納されている定義データとに基づき、アプリケーションの異常を検出する。ログ格納部303には、監視部302による処理が完了した後の実行ログが格納される。定義データ格納部304には、アプリケーションを利用する全利用者の定義データが格納される。
図5は、管理装置5の機能ブロック図である。管理装置5はVM50を実行しており、VM50は、定義管理部501と、定義データ格納部502とを含む。なお、VM50は冗長化されており、本実施の形態に関係する処理はプライマリのVM50に実行される。冗長化についてはよく知られているので、ここではこれ以上説明しない。
定義管理部501は、定義データ格納部502に格納されている定義データに基づき、各監視装置3における定義データ格納部304に格納されている定義データを更新する。定義データ格納部502には、制御部102から受信した定義データが格納される。
次に、図6乃至図21を用いて、本実施の形態のシステムにおいて実行される処理について説明する。
まず、図6乃至図9を用いて、アプリケーション105a乃至105dから出力された実行ログに関して情報処理装置1が実行する処理について説明する。
情報処理装置1のログ処理部104は、アプリケーション105a乃至105dのうちいずれかのアプリケーションから出力された実行ログを取得する(図6:ステップS1)。
図7は、実行ログの一例を示す図である。図7(a)及び図7(b)のいずれも、実行ログの一例を示しており、実行ログには、日時の情報と、アプリケーションの実行状態に関する情報とが含まれる。
ログ処理部104は、実行ログを出力したアプリケーションの利用者のGUIDを、データ格納部103に格納されているテナントテーブルから特定する。そして、ログ処理部104は、特定したGUIDを受信した実行ログの先頭に付加する(ステップS3)。
図8は、テナントテーブルの一例を示す図である。図8の例では、アプリケーションIDと、アプリケーション名と、アプリケーションの利用者のGUIDと、利用者名とが格納される。
図9は、GUIDが付加された実行ログの一例を示す図である。図9(a)は図7(a)に示した実行ログにGUIDが付加された場合の実行ログを示しており、図9(b)は図7(b)に示した実行ログにGUIDが付加された場合の実行ログを示している。
ログ処理部104は、GUIDが付加された実行ログをロードバランサ101に出力する。そして、ロードバランサ101は、ロードバランサ101の配下のVM30(すなわち、ロードバランサ101から実行ログを割り振られるVM30)から1のVM30を、VM30の負荷に基づき特定する。上で述べたように、VM30の負荷が平準化されるように割り振り先のVM30が特定される。そして、ロードバランサ101は、ステップS3においてGUIDが付加された実行ログを、特定されたVM30に転送する(ステップS5)。そして処理は終了する。
以上のような処理を実行すれば、実行ログを出力したアプリケーションを利用する利用者を特定できるようになる。
図10乃至図15を用いて、アプリケーション105a乃至105dから出力された実行ログに関して監視装置3が実行する処理について説明する。
監視装置3のログ転送部301は、ロードバランサ101から実行ログを受信する(ステップS11)。
ログ転送部301は、監視部302の状態が正常状態であるか判定する(ステップS13)。
監視部302の状態が正常状態である場合(ステップS13:Yesルート)、ログ転送部301は以下の処理を実行する。具体的には、ログ転送部301は、受信した実行ログを監視部302に出力する。また、ログ転送部301は、受信した実行ログのコピーをログ転送部301が管理するバッファに追加し、バッファに格納されている実行ログのうち最も古い実行ログをバッファから削除する(ステップS15)。バッファには、所定数又は所定量の実行ログが格納される。そして処理は端子Aを介して図13のステップS23に移行する。
一方、監視部302の状態が正常状態ではない場合(ステップS13:Noルート)、ログ転送部301は以下の処理を実行する。具体的には、ログ転送部301は、ロードバランサ101からの実行ログの受信を停止する。例えば、ロードバランサ101に対して実行ログの割り振りの停止要求がログ転送部301から送信される。そして、ログ転送部301は、データ格納部103に格納されている監視VMテーブルのレコードのうちステップS11において実行ログを受信したVM30のレコードに対して、状態を「deregistered」に設定する(ステップS17)。
図11は、監視VMテーブルの一例を示す図である。図11の例では、VMインスタンスIDと、VM名と、状態を示す情報と、定義データを更新中であるか否かを示す情報とが格納される。なお、状態が「build」である場合、VM30を配備中である。状態が「active」である場合、VM30の配備が完了している。状態が「registered」である場合、ロードバランサ101に接続されており実行ログを受信できる状態にある。状態が「deregistered」である場合、ロードバランサ101に接続されておらず実行ログを受信できない状態にある。状態が「empty」である場合、滞留している実行ログが無い。なお、ステップS17においては、監視装置3から情報処理装置1に対して、監視VMテーブルの内容を変更するためのコマンドが送信され、コマンドに応じて情報処理装置1が監視VMテーブルの内容を変更する。
ログ転送部301は、ステップS11において受信した実行ログを、ロードバランサ101に転送する(ステップS19)。ステップS11において実行ログを受信したVM30においては実行ログを処理できないため、ロードバランサ101に実行ログが返送される。
ログ転送部301は、バッファに格納されている各実行ログに「転送済み」であることを示す情報を付加し、当該実行ログをロードバランサ101に転送する(ステップS21)。バッファに格納されている実行ログは、既に監視部302に出力された実行ログであるが、監視部302の状態が異常状態であるため適切に処理がなされていない可能性が有るため、ロードバランサ101に返送される。そして処理は端子Bを介して図13の説明に移行し終了する。
ここで、図12を用いて、返送された実行ログを受信したロードバランサ101が実行する処理について説明する。
ロードバランサ101は、ステップS19において転送された実行ログを、実行ログを割り振ったVM30から受信する(図12:ステップS41)。
ロードバランサ101は、配下のVM30から1のVM30を負荷に基づき特定し、特定したVM30にステップS41において受信した実行ログを転送する(ステップS43)。なお、ステップS17の処理が実行されているため、実行ログを返送したVM30は特定されない。
ロードバランサ101は、「転送済み」を示す情報が付加された実行ログを、実行ログを割り振ったVM30から受信する(ステップS45)。
ロードバランサ101は、配下のVM30から1又は複数のVM30を負荷に基づき特定し、特定した1又は複数のVM30にステップS45において受信した実行ログを転送する(ステップS47)。なお、ステップS17の処理が実行されているため、実行ログを返送したVM30は特定されない。そして処理は終了する。
以上のようにすれば、一部の実行ログについて監視が行われなくなることを防げるようになる。
図13の説明に移行し、ログ転送部301から実行ログを受け取った監視部302は、実行ログに付加されたGUIDに対応する監視方法を、定義データ格納部304に格納されているトリガ定義テーブルから特定する。また、監視部302は、実行ログに付加されたGUIDに対応する検出条件を、定義データ格納部304に格納されている監視定義テーブルから特定する(図13:ステップS23)。
図14は、トリガ定義テーブルの一例を示す図である。図14の例では、トリガIDと、監視方法を示す情報と、GUIDと、定義IDと、検出条件が満たされた場合に実行するアクションを示す情報とが格納される。なお、以下の説明ではアクションとしてメール通知が行われるが、図14に示すように、アプリケーションの再起動等を実行してもよい。
図15は、監視定義テーブルの一例を示す図である。図15の例では、定義IDと、定義名と、GUIDと、検出条件と、メールによって通知されるメッセージとが格納される。本実施の形態においては、「^[GUID]_.*[利用者が定義した任意の文字列].*$」の形式で検出条件が予め利用者により作成される。但し、その他の形式であってもよい。
監視部302は、ステップS23において特定された監視方法に従い、ステップS23において特定された検出条件が満たされるか判定する(ステップS25)。ステップS23において複数の検出条件が特定された場合には、監視部302は複数の検出条件の各々が満たされるか判定する。
検出条件が満たされない場合(ステップS27:Noルート)、監視部302は、ログ格納部303に実行ログを格納する(ステップS29)。そして処理は終了する。
検出条件が満たされる場合(ステップS27:Yesルート)、監視部302は、監視定義テーブルに格納されているデータに基づき、利用者に送信するメッセージを生成する(ステップS31)。
監視部302は、「転送済み」であることを示す情報が、ログ転送部301から受け取った実行ログに付加されているか判定する(ステップS33)。
「転送済み」であることを示す情報が実行ログに付加されていない場合(ステップS33:Noルート)、ステップS37の処理に移行する。一方、「転送済み」であることを示す情報が実行ログに付加されている場合(ステップS33:Yesルート)、監視部302は、以下の処理を実行する。具体的には、監視部302は、重複の通知であることを示唆するデータを、ステップS31において生成したメッセージに追加する(ステップS35)。「転送済み」であることを示す情報が付加されている場合、既に他の監視部302によって通知が行われている可能性があるため、ステップS35の処理が実行される。
監視部302は、生成したメッセージを含むメールを、実行ログを出力したアプリケーションを利用する利用者の利用者端末に送信する(ステップS37)。そして処理は終了する。なお、メールではなく、その他の出力手段(例えばプリンタ)を用いて利用者に通知をしてもよい。また、マルチテナントシステムの管理者に対して通知を行ってもよい。
以上のように、定義データ及び実行ログの双方にGUIDが付されるので、アプリケーションに異常が発生したか否かを利用者ごとに判定できるようになる。各VM30は全利用者について監視を実行できるので、利用者ごとにVMを用意する場合と比較してコストを削減することができるようになる。
図16を用いて、定義データの更新に関して情報処理装置1が実行する処理について説明する。
情報処理装置1の制御部102は、定義データの更新指示を利用者端末9a乃至9cのうちいずれかの利用者端末から受信する(図16:ステップS51)。更新指示は、例えば、更新後の検出条件についての情報を含む。
制御部102は、更新指示を送信した利用者端末の利用者名に対応するGUIDを、データ格納部103に格納されているテナントテーブルから特定する(ステップS53)。
制御部102は、ステップS53において特定したGUIDが先頭に付加された、正規表現の検出条件を、ステップS51において受信した更新指示に基づき生成する(ステップS55)。
制御部102は、ステップS55において生成された検出条件を含む更新後の定義データを、管理装置5に送信する(ステップS57)。
制御部102は、データ格納部103に格納されている監視VMテーブルにおける全レコードについて、「定義更新中」カラムに「True」を設定する(ステップS59)。そして処理は終了する。
以上のような処理を実行すれば、GUIDが付加された検出条件を管理装置5が管理できるようになる。
図17乃至図21を用いて、定義データの更新に関して管理装置5が実行する処理及び監視装置3が実行する処理について説明する。
管理装置5における定義管理部501は、監視VMテーブルにおける全レコードについて、「定義更新中」カラムに「True」が設定されたことを検出する(図17:ステップS61)。例えば、監視VMテーブルの内容の送信要求を所定時間ごとに定義管理部501が情報処理装置1に対して送信することで、「定義更新中」カラムに「True」が設定されたことが確認される。
定義管理部501は、監視VMテーブルに登録されている全VM30に対して、監視部302に対する実行ログの転送の停止要求を送信する(ステップS63)。停止要求を受信したVM30が実行する処理は、後で説明される。
定義管理部501は、監視VMテーブルに登録されているVM30のうち状態が「registered」又は「deregistered」であるVM30に対して、更新後の定義データを含む更新要求を送信する(ステップS65)。なお、更新後の定義データは情報処理装置1から受信され、定義データ格納部502に格納されている。そして処理は終了する。なお、状態が「deregistered」であるVM30の定義データも更新されるので、ロードバランサ101からの実行ログの転送が既に行われていないVM30のバッファに残存している実行ログに対しても、更新後の定義データを用いた処理が行われるようになる。
図18を用いて、停止要求を受信した監視装置3が実行する処理を説明する。
監視装置3におけるVM30のログ転送部301は、ステップS63において管理装置5が送信した停止要求を受信する(図18:ステップS71)。
ログ転送部301は、実行ログを監視部302に転送することを停止する(ステップS73)。以降、ログ転送部301は、転送を再開するまではロードバランサ101から受信した実行ログをバッファに格納する。そして処理は終了する。
以上のような処理を実行すれば、転送が再開するまでは監視部302による監視は行われないので、更新前の定義データで実行ログに対して処理が行われることが無い。更新前の定義データを用いた監視によって誤った通知或いは検出もれが発生することを抑止することができる。
図19を用いて、更新要求を受信した監視装置3が実行する処理を説明する。
監視装置3におけるVM30のログ転送部301は、ステップS65において管理装置5が送信した更新要求を受信する(図19:ステップS81)。
ログ転送部301は、更新要求に含まれる更新後の定義データで、定義データ格納部304に格納されている定義データを更新する(ステップS83)。
ログ転送部301は、バッファに格納されている実行ログを監視部302に転送する。そして、監視部302は、ログ転送部301から受け取った実行ログに対して、定義データ格納部304に格納されている定義データを用いて、検出条件が満たされるか否かの判定を実行する(ステップS85)。これにより、バッファに格納されている実行ログに対しても更新後の定義データで処理が行われるようになる。
図20を用いて、定義データの更新状況を管理装置5が確認する処理について説明する。
管理装置5における定義管理部501は、「定義更新中」カラムに「True」が設定されている全VM30の定義データが更新されたか判定する(図20:ステップS91)。ステップS91においては、定義データ格納部502に格納されている定義データと、各VM30の定義データ格納部304に格納されている定義データとが一致するか否かに基づき判定が行われる。なお、各VM30の定義データは、定義データ格納部304の内容の送信要求を所定時間ごとに定義管理部501が各監視装置3に対して送信することで取得される。
定義管理部501は、定義データが更新されたVM30が有るか判定する(ステップS93)。定義データが更新されたVMが無い場合(ステップS93:Noルート)、ステップS91の処理に戻る。
一方、定義データが更新されたVMが有る場合(ステップS93:Yesルート)、定義管理部501は、以下の処理を実行する。具体的には、定義管理部501は、定義データが更新されたVM30に対して、監視部302に対する実行ログの転送の再開要求を送信する(ステップS95)。
定義管理部501は、定義データが更新されたVM30について、監視VMテーブルにおける「定義更新中」カラムに「False」を設定する(ステップS97)。ステップS97においては、監視VMテーブルの更新要求を定義管理部501が情報処理装置1に対して送信し、更新要求に応じて情報処理装置1が監視VMテーブルを更新する。
定義管理部501は、「定義更新中」カラムに「True」が設定されているVM30のレコードが監視VMテーブルに有るか判定する(ステップS99)。
「定義更新中」カラムに「True」が設定されているVM30のレコードが監視VMテーブルに有る場合(ステップS99:Yesルート)、処理はステップS91に戻る。一方、「定義更新中」カラムに「True」が設定されているVM30のレコードが監視VMテーブルに無い場合(ステップS99:Noルート)、処理は終了する。
以上のような処理を実行すれば、定義データが更新された場合にかぎり監視部302に対する実行ログの転送が再開されるようになる。
図21を用いて、再開要求を受信した監視装置3が実行する処理を説明する。
監視装置3におけるVM30のログ転送部301は、ステップS95において管理装置5が送信した再開要求を受信する(図21:ステップS101)。
ログ転送部301は、実行ログを監視部302に転送することを再開する(ステップS103)。そして処理は終了する。
以上のような処理を実行すれば、ロードバランサ101から受信した新たな実行ログに対して、更新後の定義データを用いて、検出条件が満たされるか否かについての判定が実行されるようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置1、監視装置3及び管理装置5の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
また、GUIDは、実行ログの末尾に付加されてもよい。
また、情報処理装置1の台数は2以上であってもよい。
なお、上で述べた管理装置5は、コンピュータ装置であって、図22に示すように、メモリ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及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係るログ監視方法は、(A)複数のユーザのうちいずれかのユーザの識別情報と、該ユーザに対応付けられたソフトウエアの実行ログデータとを受け付け、(B)実行ログデータの検出条件をユーザの識別情報に対応付けて記憶する記憶部から、受け付けた識別情報に対応付けられた検出条件を取得し、(C)受け付けた実行ログデータが、取得した検出条件を満たすか否かについて判定処理を行い、(D)判定処理の結果を出力する処理を含む。
複数のユーザがソフトウエアを利用するシステムにおいて、スケーリング可能な形態でソフトウエアの実行ログの監視を実現することができるようになる。
また、本ログ監視方法は、(E)判定処理についてのプロセスの状態が異常状態である場合、受け付けた実行ログデータを、判定処理を実行する前に、受け付けた識別情報と実行ログデータの送信元であるロードバランサに返送する処理をさらに含んでもよい。
ロードバランサから別のプロセスに対して割り振りが行われるようになるので、正常状態のプロセスに判定処理を実行させることができるようになる。
また、本ログ監視方法は、(F)記憶部に記憶された検出条件の更新要求を受け付けた場合、該検出条件の更新が完了するまで、判定処理の実行を停止する処理をさらに含んでもよい。
更新前の検出条件を用いて判定処理が行われることを防げるようになる。
また、本ログ監視方法は、(G)ユーザの識別情報と該ユーザに対応付けられたソフトウエアの実行ログデータとの受け付けを停止した後、記憶部に記憶された検出条件の更新要求を受け付けた場合、該検出条件を更新し、(H)受け付けを停止する前に受け付けた実行ログデータであって且つ判定処理が実行されていない実行ログデータに対して、更新後の検出条件に基づき判定処理を実行する処理をさらに含んでもよい。
更新前の検出条件を用いて判定処理が行われることを防げるようになる。
また、本ログ監視方法は、(I)判定処理についてのプロセスの状態が異常状態である場合、直近の所定量の実行ログデータ及びユーザの識別情報と、直近の所定量の実行ログデータ及びユーザの識別情報を判定処理についてのプロセスに出力済みであることを示す情報とを、ロードバランサに返送する処理をさらに含んでもよい。
判定処理が実行されていない可能性がある実行ログに対して、別のプロセスによる判定処理を実行できるようになる。
また、ユーザの識別情報と該ユーザに対応付けられたソフトウエアの実行ログデータとを受け付ける処理において、(a1)直近の所定量の実行ログデータ及びユーザの識別情報を判定処理についてのプロセスに出力済みであることを示す情報をさらに受け付け、判定処理の結果を出力する処理において、(d1)判定処理の結果を既に出力したことを示唆する情報をさらに出力してもよい。
判定処理の結果が重複して出力されたことを認識できるようになる。
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
コンピュータに、
複数のユーザのうちいずれかのユーザの識別情報と、該ユーザに対応付けられたソフトウエアの実行ログデータとを受け付け、
実行ログデータの検出条件をユーザの識別情報に対応付けて記憶する記憶部から、受け付けた前記識別情報に対応付けられた検出条件を取得し、
受け付けた前記実行ログデータが、取得した前記検出条件を満たすか否かについて判定処理を行い、
前記判定処理の結果を出力する、
処理を実行させるログ監視プログラム。
(付記2)
前記コンピュータに、
前記判定処理についてのプロセスの状態が異常状態である場合、受け付けた前記実行ログデータを、前記判定処理を実行する前に、受け付けた前記識別情報と前記実行ログデータの送信元であるロードバランサに返送する、
処理をさらに実行させる付記1記載のログ監視プログラム。
(付記3)
前記コンピュータに、
前記記憶部に記憶された検出条件の更新要求を受け付けた場合、該検出条件の更新が完了するまで、前記判定処理の実行を停止する、
処理をさらに実行させる付記1記載のログ監視プログラム。
(付記4)
前記コンピュータに、
ユーザの識別情報と該ユーザに対応付けられたソフトウエアの実行ログデータとの受け付けを停止した後、前記記憶部に記憶された検出条件の更新要求を受け付けた場合、該検出条件を更新し、
受け付けを停止する前に受け付けた前記実行ログデータであって且つ前記判定処理が実行されていない実行ログデータに対して、更新後の前記検出条件に基づき前記判定処理を実行する、
処理をさらに実行させる付記1記載のログ監視プログラム。
(付記5)
前記コンピュータに、
前記判定処理についてのプロセスの状態が前記異常状態である場合、直近の所定量の実行ログデータ及びユーザの識別情報と、前記直近の所定量の実行ログデータ及びユーザの識別情報を前記判定処理についてのプロセスに出力済みであることを示す情報とを、前記ロードバランサに返送する、
処理をさらに実行させる付記2記載のログ監視プログラム。
(付記6)
ユーザの識別情報と該ユーザに対応付けられたソフトウエアの実行ログデータとを受け付ける処理において、
直近の所定量の実行ログデータ及びユーザの識別情報を前記判定処理についてのプロセスに出力済みであることを示す情報をさらに受け付け、
前記判定処理の結果を出力する処理において、
前記判定処理の結果を既に出力したことを示唆する情報をさらに出力する、
付記1記載のログ監視プログラム。
(付記7)
コンピュータが、
複数のユーザのうちいずれかのユーザの識別情報と、該ユーザに対応付けられたソフトウエアの実行ログデータとを受け付け、
実行ログデータの検出条件をユーザの識別情報に対応付けて記憶する記憶部から、受け付けた前記識別情報に対応付けられた検出条件を取得し、
受け付けた前記実行ログデータが、取得した前記検出条件を満たすか否かについて判定処理を行い、
前記判定処理の結果を出力する、
処理を実行するログ監視方法。
(付記8)
複数のユーザのうちいずれかのユーザの識別情報と、該ユーザに対応付けられたソフトウエアの実行ログデータとを受け付ける受付部と、
実行ログデータの検出条件をユーザの識別情報に対応付けて記憶する記憶部から、受け付けた前記識別情報に対応付けられた検出条件を取得し、受け付けた前記実行ログデータが、取得した前記検出条件を満たすか否かについて判定処理を行い、前記判定処理の結果を出力する出力部と、
を有するログ監視装置。
1 情報処理装置 3 監視装置
5 管理装置 7 ネットワーク
9a,9b,9c 利用者端末
11 CPU 12 メモリ
13 HDD 14 NIC
101 ロードバランサ 102 制御部
103 データ格納部 104 ログ処理部
105 アプリケーション実行基盤
105a,105b,105c,105d アプリケーション
30 VM 301 ログ転送部
302 監視部 303 ログ格納部
304 定義データ格納部
50 VM 501 定義管理部
502 定義データ格納部

Claims (8)

  1. コンピュータに、
    複数のユーザのうちいずれかのユーザの識別情報と、該ユーザに対応付けられたソフトウエアの実行ログデータとを受け付け、
    実行ログデータの検出条件をユーザの識別情報に対応付けて記憶する記憶部から、受け付けた前記識別情報に対応付けられた検出条件を取得し、
    受け付けた前記実行ログデータが、取得した前記検出条件を満たすか否かについて判定処理を行い、
    前記判定処理の結果を出力する、
    処理を実行させるログ監視プログラム。
  2. 前記コンピュータに、
    前記判定処理についてのプロセスの状態が異常状態である場合、受け付けた前記実行ログデータを、前記判定処理を実行する前に、受け付けた前記識別情報と前記実行ログデータの送信元であるロードバランサに返送する、
    処理をさらに実行させる請求項1記載のログ監視プログラム。
  3. 前記コンピュータに、
    前記記憶部に記憶された検出条件の更新要求を受け付けた場合、該検出条件の更新が完了するまで、前記判定処理の実行を停止する、
    処理をさらに実行させる請求項1記載のログ監視プログラム。
  4. 前記コンピュータに、
    ユーザの識別情報と該ユーザに対応付けられたソフトウエアの実行ログデータとの受け付けを停止した後、前記記憶部に記憶された検出条件の更新要求を受け付けた場合、該検出条件を更新し、
    受け付けを停止する前に受け付けた前記実行ログデータであって且つ前記判定処理が実行されていない実行ログデータに対して、更新後の前記検出条件に基づき前記判定処理を実行する、
    処理をさらに実行させる請求項1記載のログ監視プログラム。
  5. 前記コンピュータに、
    前記判定処理についてのプロセスの状態が前記異常状態である場合、直近の所定量の実行ログデータ及びユーザの識別情報と、前記直近の所定量の実行ログデータ及びユーザの識別情報を前記判定処理についてのプロセスに出力済みであることを示す情報とを、前記ロードバランサに返送する、
    処理をさらに実行させる請求項2記載のログ監視プログラム。
  6. ユーザの識別情報と該ユーザに対応付けられたソフトウエアの実行ログデータとを受け付ける処理において、
    直近の所定量の実行ログデータ及びユーザの識別情報を前記判定処理についてのプロセスに出力済みであることを示す情報をさらに受け付け、
    前記判定処理の結果を出力する処理において、
    前記判定処理の結果を既に出力したことを示唆する情報をさらに出力する、
    請求項1記載のログ監視プログラム。
  7. コンピュータが、
    複数のユーザのうちいずれかのユーザの識別情報と、該ユーザに対応付けられたソフトウエアの実行ログデータとを受け付け、
    実行ログデータの検出条件をユーザの識別情報に対応付けて記憶する記憶部から、受け付けた前記識別情報に対応付けられた検出条件を取得し、
    受け付けた前記実行ログデータが、取得した前記検出条件を満たすか否かについて判定処理を行い、
    前記判定処理の結果を出力する、
    処理を実行するログ監視方法。
  8. 複数のユーザのうちいずれかのユーザの識別情報と、該ユーザに対応付けられたソフトウエアの実行ログデータとを受け付ける受付部と、
    実行ログデータの検出条件をユーザの識別情報に対応付けて記憶する記憶部から、受け付けた前記識別情報に対応付けられた検出条件を取得し、受け付けた前記実行ログデータが、取得した前記検出条件を満たすか否かについて判定処理を行い、前記判定処理の結果を出力する出力部と、
    を有するログ監視装置。
JP2016191947A 2016-09-29 2016-09-29 ログ監視装置、ログ監視方法及びログ監視プログラム Pending JP2018055481A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016191947A JP2018055481A (ja) 2016-09-29 2016-09-29 ログ監視装置、ログ監視方法及びログ監視プログラム
US15/689,217 US20180089055A1 (en) 2016-09-29 2017-08-29 Method and apparatus for monitoring logs
EP17188305.1A EP3301576A1 (en) 2016-09-29 2017-08-29 Method and apparatus for monitoring logs of multi-tenant systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016191947A JP2018055481A (ja) 2016-09-29 2016-09-29 ログ監視装置、ログ監視方法及びログ監視プログラム

Publications (1)

Publication Number Publication Date
JP2018055481A true JP2018055481A (ja) 2018-04-05

Family

ID=59772417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016191947A Pending JP2018055481A (ja) 2016-09-29 2016-09-29 ログ監視装置、ログ監視方法及びログ監視プログラム

Country Status (3)

Country Link
US (1) US20180089055A1 (ja)
EP (1) EP3301576A1 (ja)
JP (1) JP2018055481A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3059796A1 (fr) * 2016-12-07 2018-06-08 Orange Procede et dispositif de gestion des fonctions logicielles virtualisees dans un reseau
US10810099B2 (en) * 2017-09-11 2020-10-20 Internatinal Business Machines Corporation Cognitive in-memory API logging
CN108804250A (zh) * 2018-05-30 2018-11-13 努比亚技术有限公司 基于输入输出模块的重启定位方法、移动终端及存储介质
CN111666222A (zh) * 2020-07-09 2020-09-15 腾讯科技(深圳)有限公司 一种测试方法和相关装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012113380A (ja) 2010-11-22 2012-06-14 Nec Corp サービス提供装置、サービス提供方法、及び、プログラム
US20130227352A1 (en) * 2012-02-24 2013-08-29 Commvault Systems, Inc. Log monitoring
US10339126B2 (en) * 2014-08-11 2019-07-02 Salesforce.Com, Inc. Processing log files using a database system
US10552293B2 (en) * 2015-02-25 2020-02-04 Sap Se Logging as a service

Also Published As

Publication number Publication date
US20180089055A1 (en) 2018-03-29
EP3301576A1 (en) 2018-04-04

Similar Documents

Publication Publication Date Title
US11182220B2 (en) Proactive high availability in a virtualized computer system
JP4240062B2 (ja) 計算機システムおよび性能計測方法ならびに管理サーバ装置
US8543871B2 (en) Correlating hardware devices between local operating system and global management entity
US11936731B2 (en) Traffic priority based creation of a storage volume within a cluster of storage nodes
WO2013140608A1 (ja) イベントの根本原因の解析を支援する方法及びシステム
JP2007226400A (ja) 計算機管理方法、計算機管理プログラム、実行サーバの構成を管理する待機サーバ及び計算機システム
JP2018055481A (ja) ログ監視装置、ログ監視方法及びログ監視プログラム
JP5652480B2 (ja) データベース更新通知方法
JP2014522052A (ja) ハードウェア故障の軽減
US9374417B1 (en) Dynamic specification auditing for a distributed system
WO2012050224A1 (ja) コンピュータリソース制御システム
WO2016013199A1 (ja) 仮想化基盤管理装置、仮想化基盤管理システム、仮想化基盤管理方法、及び、仮想化基盤管理プログラムが記録された記録媒体
US20190258547A1 (en) Event failure management
WO2013171865A1 (ja) 管理方法及び管理システム
JP5011927B2 (ja) アプリケーション実行システム、コンピュータ、アプリケーション実行システムのアプリケーション実行方法およびプログラム
JP2012208752A (ja) ライセンス管理装置、ライセンス管理方法、及びプログラム
JP5999254B2 (ja) 管理装置、方法及びプログラム
JP7071938B2 (ja) データベース管理サービス提供システム
JP2020038506A (ja) 情報処理システム、情報処理方法、及び、プログラム
JP2013186765A (ja) バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム
US11928044B1 (en) Batching event data in an event-driven architecture
WO2023275984A1 (ja) 仮想化システム復旧装置及び仮想化システム復旧方法
JP6380774B1 (ja) コンピュータシステム、サーバ装置、プログラム及び障害検出方法
JP6612995B2 (ja) データリバランスを制御するシステムおよび方法
JP6657703B2 (ja) 業務管理システム、管理装置、業務処理装置、業務管理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200512

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201124