JP5050357B2 - ロギング情報管理方法およびロギング情報管理システムおよびロギング情報管理手段 - Google Patents

ロギング情報管理方法およびロギング情報管理システムおよびロギング情報管理手段 Download PDF

Info

Publication number
JP5050357B2
JP5050357B2 JP2006016863A JP2006016863A JP5050357B2 JP 5050357 B2 JP5050357 B2 JP 5050357B2 JP 2006016863 A JP2006016863 A JP 2006016863A JP 2006016863 A JP2006016863 A JP 2006016863A JP 5050357 B2 JP5050357 B2 JP 5050357B2
Authority
JP
Japan
Prior art keywords
logging information
information
logging
level
memory means
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.)
Expired - Fee Related
Application number
JP2006016863A
Other languages
English (en)
Other versions
JP2007199956A (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 JP2006016863A priority Critical patent/JP5050357B2/ja
Publication of JP2007199956A publication Critical patent/JP2007199956A/ja
Application granted granted Critical
Publication of JP5050357B2 publication Critical patent/JP5050357B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、ロギング情報管理方法およびロギング情報管理システムおよびロギング情報管理手段に関し、システムやアプリケーションの運用情報や障害時の障害情報などのロギング情報を管理するロギング情報管理方法およびロギング情報管理システムおよびロギング情報管理手段に関する。
多くのアプリケーションやシステムは、稼働状況の確認や障害発生時の原因の切り分けを行うために、システムやアプリケーションの運用情報や障害時の障害情報などのロギング情報を記録する機能を実装している。
ロギング情報の管理の形式は様々であるが、基本的にはログファイルなどに長期にわたって蓄積を行う。ロギング情報は、基本的にはオフライン的(事後の調査等)に利用されることが多いが、アプリケーションやシステムの開発時においては、逆にリアルタイムで稼動状況を見る必要性が生じる。
多くのアプリケーションやシステムは、各種のアプリケーションがロギング情報を出力し、その情報を参照することで稼働状況のモニタリングを行うものが多く、リアルタイムでのモニタリングを行うものは、別途運用コンソールのようなものを用意し、ロギング情報の管理とは別にそういった機能を実装してきた。
通常のロギング情報は、基本的にはテキストまたはバイナリ形式のファイルとして常時蓄積される。基本的にロギング情報は、タイムスタンプとレベルや種別とログ情報(メッセージやダンプなど)および発信元情報で、ある程度決まった情報である。ロギング情報は、運用状態を履歴として表示したりすること以外は、基本的にはシステムのバックグランドで蓄積されている情報であり、システムのように複数のアプリケーションや装置によって構成される複雑な環境においては、アプリケーション間の処理の関連や動作状況を記録し、管理するためにそれらを統合することが望ましい。
しかし、ロギング情報の管理は、個々のアプリケーションが独自に管理したり、図1に示すように、ミドルウェアなどアプリケーションの基盤部分が提供するロギング機能をアプリケーションが利用する形態がほとんどである。
また、ロギング情報を一元管理する方法としては、図2に示すように、UNIX系OSに標準で実装されているSyslog(以下、「シスログ」という)を利用されている。シスログ自体は既存のOSのサービスやアプリケーションなどの互換性を考慮するためにほとんど機能拡張されていない状況である。
従って、自由度の高いロギング情報を効率的に管理するためには、OS種別の都合やアプリケーション側の実装の都合によりシスログが使用できない場面も多く、その結果、いくつかのシスログの代替となるログ管理ソフトが存在している。
なお、特許文献1には、処理開始通知データおよび処理終了通知データがTCPまたはUDPを適用して伝送されることが記載されている。
特開2002−55888号公報
以下に、従来のロギング情報管理における問題を説明する。
<第1の問題、ロギング情報の分散化>
ミドルウェアが複数存在したり、複数の装置に分散されたりすると、ロギング情報はそれぞれのミドルウェアまたは装置に分かれてしまう。また複数に分かれたロギング情報を集約しようとすると、ファイルの排他や同期等の問題が発生したり、ログ形式(出力フォーマット)がそれぞれのアプリケーションやミドルウェアで異なったりして、管理が困難である。
このような背景があって、現在の多くのアプリケーションやミドルウェアは、個々でロギング情報管理するものがほとんどであり、その結果、システムとしての稼動状況の分析や障害解析時に参照すべきログファイルがシステムのいたるところに散乱してしまう。シスログは、この問題を解決できる1つの手段ではあるが、環境に制限があるのと設定や実装側(アプリケーション側)の敷居が高い。また、ロギング情報のサイズの制限や、OS種別によりメッセージフォーマットが異なるため、OS単体やUNIX系のOSのみで構成されるシステムでは有効であるが、近年のようにWindows(登録商標)やUNIX(登録商標)などのOS複合環境においては、ロギング情報の分散化は避けられない問題である。
<第2の問題、リアルタイム性の欠如>
ロギング情報は、アプリケーションやシステムの稼働状況を利用者に提供すること以外では、基本的には単に蓄積しておいて、障害等が発生した場合に解析するための情報である。従って、利用者に提供する部分ではリアルタイム性と情報のわかりやすさを重視することが多いが、利用者に提供せず、障害や問題に備えて蓄積しているロギング情報は、基本的には情報量が多く、また保守・メンテナンス部門や開発部門向けの情報(エラーコードやデータのダンプ・スタックトレースなど)であることが一般的である。
そのため、複数のアプリケーションやプロセス内部のスレッド等の業務の各単位でロギング情報の出力(ファイリング)の排他を管理したり、ロギングによる負荷を軽減させるためにロギング情報をいったんバッファにプーリングしたりする。これらの処理は、基本的にはロギング情報を出力して、ファイル等に出力するまでに時間がかかったり、ファイリングによる負荷がかかったり、場合によっては、ロギング情報の出力が、実際に行うべき業務(処理)の遅延につながることもある。
単にファイリングするだけであれば、結果的にファイルに正しいタイムスタンプのロギング情報が記録されていれば良いが、リアルタイムでシステムの稼働状況を監視することはできない。即ち、ファイリング以外にリアルタイムでロギング情報を参照するための何らかの手段が必要となるという問題があった。
<第3の問題、複数のアプリケーション間での連携の解析が困難>
複数のアプリケーションや複数の装置が連携して動作している場合、各アプリケーションのシーケンシャルな動作を1つのロギング情報として時系列的に管理できることが望ましい。同一のミドルウェア上で動作する複数のアプリケーションが連携する場合は、ミドルウェアのログ管理機能により上記時系列的管理を実現することはできるが、異なるミドルウェア上で動作する複数のアプリケーションが連携する場合や、異なる装置上の複数のアプリケーションが連携する場合、共有のロギング情報としての管理は難しい。
また、装置が複数に分散化している環境では、個々の装置はある程度時刻は合わせることはできても、微妙な時刻差は必ず生じる。その結果、ロギング情報を解析する場合、連携に関係する各々のロギング情報をつき合わせ、比較するなどの多大な手間がかかる。また、真にシーケンシャルなロギング情報の時系列管理は困難であるという問題があった。
<第4の問題、障害解析の手間が大きい>
システムの運用中に稼働状況をファイル等に蓄積する場合は、通常は全てのアプリケーションのロギング情報を同一のレベル(どれだけ詳細かのレベル)で蓄積を行う。この方法はシスログにおいても同様である。しかし、特定アプリケーションに障害が発生した場合に障害解析を行うには、該当するアプリケーションの周辺のみの情報解析を行いたいところであるが、ロギングされたファイルを解析すると、障害とは全く関係のないアプリケーションの情報も含まれているために解析に手間がかかる。
また、同一のレベルでロギングしているため、障害の起こったアプリケーションの周辺に関しては、詳細なレベルのロギング情報が必要であるが、既にロギングされたものに関してはそれ以上に詳細な情報は記録されていない。逆に詳細なレベルで常時ロギング情報を蓄積していると、システムに必要以上の負荷をかけることになるという問題があった。
<第5の問題、データ長の大きなロギング情報の扱いが困難>
シスログを利用してロギング情報を一元管理した場合、シスログの仕様により、約1Kバイトのデータ長のロギング情報しか管理することができない。これは、シスログがUDP(User Datagram Protocol)によりロギング情報の送受信を行うために、最大パケットサイズ(MTU)による制約を受けるためである。
近年は、インフラ環境が充実してきており、以前に比べて飛躍的に大容量なデータを扱う機会が多くなった。それに伴い、各種のアプリケーションが扱うデータのサイズも必然的に大きくなっているにも拘わらず、シスログではデータ長による制限があるために、比較的大きなデータ長のロギングを扱う場合は、シスログを利用せずに個々のアプリケーションがロギング情報を出力・管理するのが現状である。
また、シスログの代替となるログ管理ソフトにおいては、シスログにおいてはUDPを利用しているところをTCP(Transmission Control Protocol)にすることによりロギング情報の抜けはなくすことができるが、その反面、ロギング情報が比較的大きなデータ長になると、それに比例してアプリケーション側の処理遅延を生じさせる可能性が高くなるという問題があった。
本発明は、上記の点に鑑みなされたものであり、複数のアプリケーションのロギング情報を一元管理することができるロギング情報管理方法およびロギング情報管理システムおよびロギング情報管理手段を提供することを目的とする。
本発明のロギング情報管理システムは、複数のアプリケーションのロギング情報を管理する情報管理システムであって、
前記複数のアプリケーションにそれぞれ設けられ、各アプリケーションの状況に応じたレベル情報を含むロギング情報を送信し、前記ロギング情報が所定のサイズを超えるときは、前記ロギング情報を分割した、それぞれが前記レベル情報を含む、分割ロギング情報を送信する、複数のロギング情報送信手段と、
前記ロギング情報および前記分割ロギング情報を受信しファイリングするロギング情報管理手段と、を備え、
前記ロギング情報管理手段は、
前記ロギング情報および前記分割ロギング情報を受信するロギング情報収集手段と、
前記ロギング情報収集手段で受信した前記ロギング情報および前記分割ロギング情報を、前記レベル情報ごとに記憶する一次メモリ手段と、
前記一次メモリ手段に記憶されている前記分割ロギング情報を結合し、前記ロギング情報とともに前記レベル情報ごとに記憶する整形済みメモリ手段と、
前記整形済みメモリ手段の全情報を退避可能な非常用メモリ手段と、
前記整形済みメモリ手段に記憶されている前記ロギング情報を、ファイリングするファイル管理手段を有し、
前記ロギング情報管理手段は、通常運用モードおよび非常運用モードを有し、
前記ロギング情報収集手段が、前記レベル情報が例外レベルである前記ロギング情報または前記分割ロギング情報を受信したときは、非常運用モードに移行し、所定の時間後に通常運用モードに移行し、
前記ロギング情報管理手段が前記通常運用モードにあるときは、前記ファイル管理手段は、前記整形済みメモリ手段に記憶された前記ロギング情報のうち、所定のレベル以上の前記ロギング情報を前記レベル情報ごとにファイリングし、
前記ロギング情報管理手段が、前記非常運用モードに移行したとき、前記整形済みメモリ手段の情報をすべて前記非常用メモリ手段に退避し、前記非常用メモリ手段より前記レベル情報ごとにファイリングするとともに、その後、前記整形済みメモリ手段に記憶される前記ロギング情報をすべて前記レベル情報ごとにファイリングすることにより、複数のアプリケーションのロギング情報を一元管理することが可能となる。
前記ロギング情報管理システムは、前記ロギング情報管理手段は、受信した前記ロギング情報または前記分割ロギング情報をマルチキャスト配信する配信手段を有する
前記ロギング情報管理システムは、前記マルチキャスト配信された前記ロギング情報または前記分割ロギング情報を受信する複数の表示手段を有し、
前記複数の表示手段は、所定のレベル以上の前記ロギング情報または前記分割ロギング情報のみを抽出し、前記抽出された前記分割ロギング情報を結合し、時系列に並び替えて表示する
また、本発明の前記ロギング情報管理手段は、複数のアプリケーションにそれぞれ設けられ、各アプリケーションの状況に応じたレベル情報を含むロギング情報を送信し、前記ロギング情報が所定のサイズを超えるときは、前記ロギング情報を分割した、それぞれが前記レベル情報を含む、分割ロギング情報を送信する、複数のロギング情報送信手段からの前記ロギング情報および前記分割ロギング情報を受信しファイリングするロギング情報管理手段であって、
前記ロギング情報および前記分割ロギング情報を受信するロギング情報収集手段と、
前記ロギング情報収集手段で受信した前記ロギング情報および前記分割ロギング情報を、前記レベル情報ごとに記憶する一次メモリ手段と、
前記一次メモリ手段に記憶されている前記分割ロギング情報を結合し、前記ロギング情報とともに前記レベル情報ごとに記憶する整形済みメモリ手段と、
前記整形済みメモリ手段の全情報を退避可能な非常用メモリ手段と、
前記整形済みメモリ手段に記憶されている前記ロギング情報を、前記レベル情報ごとにファイリングするファイル管理手段を有し、
前記ロギング情報管理手段は、通常運用モードおよび非常運用モードを有し、
前記ロギング情報収集手段が、前記レベル情報が例外レベルである前記ロギング情報または前記分割ロギング情報を受信したときは、前記非常運用モードに移行し、所定の時間後に前記通常運用モードに移行し、
前記ロギング情報管理手段が、前記非常運用モードに移行したとき、前記整形済みメモリ手段の情報をすべて前記非常用メモリ手段に退避し、前記非常用メモリ手段より前記レベル情報ごとにファイリングするとともに、その後、前記整形済みメモリ手段に記憶される前記ロギング情報をすべて前記レベル情報ごとにファイリングする。
また、本発明の前記ロギング情報管理方法は、複数のアプリケーションより送信された、各アプリケーションの状況に応じたレベル情報を含むロギング情報、または、前記ロギング情報が所定のサイズを超えるときは、前記ロギング情報を分割したそれぞれが前記レベル情報を含む分割ロギング情報を、受信しファイリングする、ロギング情報管理方法であって、
前記ロギング情報および前記分割ロギング情報を受信する収集ステップと、
前記受信した前記ロギング情報および前記分割ロギング情報を、前記レベル情報ごとに記憶するステップと、
前記レベル情報ごとに記憶された前記分割ロギング情報を結合し、前記ロギング情報とともに前記レベル情報ごとに整形済みメモリ手段に記憶するステップと、
前記レベル情報ごとに記憶された、前記結合された前記分割ロギング情報および前記ロギング情報を、前記レベル情報ごとにファイリングするステップと、を備え、
前記収集ステップで、前記レベル情報が例外レベルである前記ロギング情報または前記分割ロギング情報を受信したときは、非常運用モードに移行し、所定の時間後に通常運用モードに移行し、
前記非常運用モードに移行したとき、前記整形済みメモリ手段の情報をすべて非常用メモリ手段に退避し、前記非常用メモリ手段より前記レベル情報ごとにファイリングするとともに、その後、前記整形済みメモリ手段に記憶される前記ロギング情報をすべて前記レベル情報ごとにファイリングする。
本発明によれば、複数のアプリケーションのロギング情報を一元管理することが可能となる。
以下、図面に基づいて本発明の実施形態について説明する。
<運用情報蓄積コンポーネントの構成>
図3は、本発明の運用情報蓄積コンポーネントの概要イメージ図を示す。同図中、運用情報蓄積コンポーネント10は、コンポーネント本体11および各種保守コマンド12と、アプリケーション側に提供する提供クラス13およびリアルタイム表示機能14で構成される。
運用情報蓄積コンポーネント10の適用範囲に関しては、OSおよびOSに依存するミドルウェアは、従来どおりUNIX系のOSであればシスログを利用し、Windows系のOSであればイベントログなどが利用されるものとし、その他のアプリケーション側の実装およびそれに伴うシステム的なロギング情報の管理を運用情報蓄積コンポーネントの適用範囲としている。
図4は、運用情報蓄積コンポーネントの内部構成図を示す。同図中、運用情報蓄積コンポーネントは、コンポーネント本体21(図3の11に対応)に含まれるロギング情報収集機構22、ロギング情報管理機構23、通知機構および保守機能24(図3の12に対応)、配信表示機構25(図3の14に対応)と、ロギング情報送信機構26より構成されている。
ロギング情報管理機構23は、メモリ管理部41,メモリ42,非常用メモリ43,ファイル管理部44を有し、ファイル管理部44はログファイルFL1〜FL5を管理している。通知機構および保守機能24は、アプリケーション通知部45,運用制御コマンド46,モード切り替えコマンド47を有している。配信表示機構25は、マルチキャスト配信部48と表示装置49を有している。
運用情報蓄積コンポーネントは、ロギング情報送信機構26(クライアント機能)として一または複数のアプリケーション30にロギング処理を簡易化するクラス(提供クラス)31を提供する。このクラス31は、ホスト名とポート番号を設定ファイル(プロパティファイル)に指定して実装することで、コンポーネント本体21(サーバ機能)のロギング情報収集機構22がロギング情報を待ち受けている特定のポートに対してUDPによるロギング情報の送信を行う。
上記ロギング情報送信機構26から送信されるロギング情報は、コンポーネント本体21のロギング情報収集機構22で収集され、ロギング情報管理機構23はロギング情報をクラス31の種別により複数のファイルに種別分けしてファイリングする。
ところで、シスログはアプリケーション実装部がロギング情報の出力関数を呼ぶと、ロギング情報はメッセージとして/dev/log配下に出力される。シスログのデーモンは、このメッセージを受信して、ファイリングすると同時にネットワーク上の他装置に対してロギング情報をUDP送信する。つまり、シスログ自体はアプリケーション実装部とその装置および一元管理する装置の3箇所に存在する。
これに対して、本発明の運用情報蓄積コンポーネントでは、アプリケーション30の実装部でロギング情報送信機構26が全てのロギング情報をUDPで送信を行い、ロギング情報収集機構22によりネットワーク33に接続された複数のアプリケーション30の実装部からのロギング情報を収集する。このため、ロギング情報を管理する機構としては、アプリケーション30の実装部とコンポーネント本体21の実装部の2箇所だけで済む。
コンポーネント本体21では、次の種別単位でログファイルを生成・管理する。
メッセージログは、アプリケーションの稼動状況を人が容易に理解できる文章で記録するロギング情報であり、メッセージログファイルFL1にファイリングする。ロギング情報には指定されたレベルの範疇でアプリケーションが任意にロギング情報を分類することができる。なお、運用情報蓄積コンポーネントで利用できるレベルの種別は、図5に示すように、高いほうから、致命的エラーレベル、エラーレベル、警告レベル、情報レベル、デバッグレベルである。各レベルはさらに細分化することができる。基本的には、シスログで管理しているロギング情報のレベルに準拠する。運用中は、これらのレベルの中で指定されたレベル以上のものをロギングする。
通信ログは、ネットワークを経由したデータの疎通に特化したロギング情報であり、通信ログログファイルFL2にファイリングする。特にレベルという概念はないが、確実にデータをロギングするようにロギング処理の優先度がメッセージログよりも高い。このログには、生のデータ(データフォーマットは問わないが、基本的にはスニファーなどのLANアナライザー上で見えるようなバイナリ形式)を管理する。
例外ログは、アプリケーションの異常や例外に特化したロギング情報であり、例外ログファイルFL3にファイリングする。自動的なモード切り替えやレベル切り替えなどのきっかけとなるのは、このロギング情報である。なお、ロギング処理のレベルは、例外ログが最も高い。例外にもレベルの指定があり、高いほうから致命的、エラー、警告のレベルを持つ。警告レベルに関しては、通常運用でも起こりうるものと想定される例外である。この例外ログには、例外が発生した際のスタックトレースやメモリダンプなど障害の詳細調査に必要な情報を管理する。
アプリケーションログは、利用するアプリケーションが任意の形式で出力することを許すロギング情報であり、アプリケーションログファイルFL4にファイリングする。レベルは致命的レベル〜情報レベルに加え、デバックレベルの出力を許す。
デバックログは、利用するアプリケーションが任意の形式で出力することを許すロギング情報で最も処理レベルの低いロギング情報であり、デバックログファイルFL5にファイリングする。主に、試験やデバック時に利用することを目的としているため、運用情報蓄積コンポーネントをデバックモードで動作させることにより、デバックレベルのロギング情報もロギングされる。通常運用時では、このログは出力しないように運用するが、例外が発生した場合などに運用情報蓄積コンポーネントが行うモードの切り替えにより、一時的にデバックログを出力する状態になることもある。
<ロギング情報の受信処理>
ロギング情報収集機構22は、ロギング情報をロギング情報送信機構26から受信してロギング情報管理機構23に渡し、ロギング情報管理機構23はメモリ42にプールすると共に後述するロギング情報の配信を行う。メモリ42にプールする理由は、データ受信の遅延を起こさないためと、あらゆるレベルのロギング情報を特定の運用レベルにフィルタリングしてファイリングするためである。さらに、クライアントからロギングデータの分割送信が行われた場合、ロギング情報を受信したデータ内のシーケンス番号に従って結合するためにも利用する。
また、特定のアプリケーションが例外を送信した場合、メモリ42上にプールしている全情報をいったん非常用メモリ43に退避し、ロギング情報の収集を継続しつつ、受信済みの全情報のファイリングを行うことで、例外発生時に限りデバックレベルのログまでファイルに出力することができる。なお、ロギングされたファイルは、一般的なロギング情報の管理機能と同様に、所定のサイズ・所定の期間で蓄積し、古いものから削除することでログファイルが肥大化することはない。
このクラス31およびロギング情報収集機構22により、アプリケーション30が容易にロギング情報を出力することを実現するだけでなく、以下の効果を得ることができる。シスログ関数、シスログデーモンと同等にロギング情報を出力する側(アプリケーション側)とファイリングする側(サーバ機能側)が非同期で動作するために、ロギング情報の出力側がファイリングにかかる負荷や待ちあるいは他のアプリケーションの動作による影響が少ない。
また、UDPによるロギング情報の送受信を行うため、図6に示すように、従来は各ミドルウェア単位やアプリケーション単位で持っていたログファイルが不要になり、複数のミドルウェアや複数の装置からのロギング情報の出力を運用情報蓄積コンポーネントのコンポーネント本体21で受信して集約することができる。図6では、アプリケーションサーバBにコンポーネント本体21が配置され、アプリケーションサーバAのアプリケーションA,BおよびアプリケーションサーバBのアプリケーションC,Dそれぞれのロギング情報がコンポーネント本体21で管理される。
この集約により、図7に示すように、複数のアプリケーションや装置間での複雑な連携も一箇所のログファイルで時系列に記録することができる。図7では、アプリケーションサーバAのアプリケーションA1,A2と、アプリケーションサーバBのアプリケーションB1,B2は連帯して動作しており、ロギングサーバGにコンポーネント本体21が配置されており、コンポーネント本体21では各アプリケーションのロギング情報を時系列に記録している。
また、システム規模が大きく、アプリケーションの数や記録すべきロギング情報が多い場合などは、ロギング情報の管理を専用とする装置を別に用意し、その装置でロギング情報を集約することにより、システム全体のロギング処理をシステムに負荷をかけることなく行うことができ、また、情報をシスログのように中継することなく一箇所に集約することができる。
運用情報蓄積コンポーネントでロギング情報を蓄積するための構成としては、図8(A)に示すスタンドアロンでロギングする方式、図8(B)に示すシステム(サーバA,B)中で負荷の低いサーバBでロギングする方式、図8(C)に示すロギング専用のサーバDで複数のサーバA,B,Cのロギングを行う方式等の構成を実現することができる。いずれもシスログおよびシスログを拡張したログ管理ソフトにはない単純さを持つ。
なお、シスログおよびシスログを拡張したログ管理ソフトは、アプリケーション側の実装部をのぞき、必ず1装置内に1つのログ管理機構を持つが、運用情報蓄積コンポーネントでは、管理機構がシステムにつき1つで済む。
上記のような効果により、従来のロギング情報の分散化、複数のアプリケーション間での連携の解析が困難という問題を解決することができる。また、UDPを直接利用することにより即時性と低負荷を実現できるため、従来のリアルタイム性の欠如という問題を解決するために必要な環境が整えられる。さらに、サイズの大きいロギング情報も扱えることから、従来のデータ長の大きなロギング情報の扱いが困難という問題を解決することができる。
なお、UDPを利用することによるリスクとしては、ネットワーク品質の悪いネットワーク上においては、パケット抜けによるロギング情報の損失が挙げられるが、通常の品質のネットワークであれば、アプリケーション側が高負荷でない限りはロギング情報の損失はほとんどない。また、運用情報蓄積コンポーネントが動作している自装置内におけるアプリケーションからのロギング情報についてもほとんど損失はない。ネットワーク品質が確保されていない環境においては、運用情報蓄積コンポーネントは有効ではないが、通常のネットワーク品質であれば、運用情報蓄積コンポーネントは存分に効力を発揮する。
ロギング情報送信機構(クライアント機能)26は、クライアントとなるアプリケーション30側でクラス31を実装することにより、運用情報蓄積コンポーネントのクライアントになることができ、面倒なロギング情報の管理やロギング処置による負荷から解放される。クラス31では、運用情報蓄積コンポーネントが用意しているロギング種別の選択を行うだけでよい。クラス31で選択できる送信種別は以下の通りである。
メッセージログ(デバックログ含む)は、通常運用メッセージおよびデバック用のロギングを行う送信種別である。メッセージのロギングにおいては、必ずレベルの指定を行う。アプリケーションログへのロギングの指定は、本クライアント機能の実装時のパラメータに従う。
通信ログは、ネットワークや特定デバイスとのデータ疎通を行う場合の送受信データのロギングを行う送信種別である。データのロギングにおいては、送信/受信のいずれかの方向を指定する。
例外ログは、アプリケーション内で発生した異常な状態や例外情報のロギングを行う送信種別である。
図9にクラス31の構成を示す。クラス31にはメッセージログ送信メソッド51、通信ログ送信メソッド52、例外ログ送信メソッド53が設けられており、アプリケーション30はメッセージログ送信メソッド51、通信ログ送信メソッド52、例外ログ送信メソッド53のいずれかを起動するだけで各ロギング情報の送信が行われる。
情報付加部54はタイムスタンプ、業務名、発信元情報(クラス名・メソッド名・メッセージID)、ロギング種別(メッセージ・通信・例外)、レベルをログに付加する。UDPのデータ送信におけるデータサイズの上限は、基本的にはMTU(Maximum Transmission Unit:最大パケットサイズ)に従う。アプリケーションが、ロギングしたい情報のサイズを意識しない場合は、MTUのサイズによる上限が規定される。しかし、比較的大量なデータを扱う場合は分割送信指定をすることにより、送信ロギングデータ長制御部55は設定されたサイズでロギング情報を分割し、シーケンス番号を振ってデータ送信を行う。
送信ロギングデータ長制御部55の出力するロギング情報はロギングデータ送信部56を経てUDP送信オブジェクト58に供給され、UDP送信オブジェクト58はUDPにより各ロギングデータを情報蓄積コンポーネントのコンポーネント本体21に送信する。なお、UDP送信オブジェクト58は送信先情報取得部57で取得された送信先情報を供給される。
これにより、負荷も遅延もほとんど無く、きわめて実処理時間に近いタイムスタンプでもってロギング情報の出力を行うことができる。
図10にUDP転送データフォーマットを示す。UDP転送データは、アプリケーション実装部でつけたタイムスタンプであるログ時刻、サーバ機能でつけたタイムスタンプである受信時刻、分割指定がない場合0、ある場合1以上である分割数、分割したときの分割最大サイズである分割サイズ、分割送信した順番であるシーケンス番号、メッセージ・通信・例外のいずれかの識別文字(1文字)であるログ種別、ログレベルの識別文字(1文字)であるログレベル、送信ホスト名(終端にカンマを付加)、アプリケーション名や業務名などの識別(終端にカンマを付加)である送信元情報1、クラス名などモジュールやソースの識別(終端にカンマを付加)である送信元情報2、メソッド・関数など(終端にカンマを付加)である送信元情報3、メッセージID(終端にカンマを付加)である送信元情報4、メッセージやデータなどのログ情報からなる。
運用情報蓄積コンポーネントのロギング情報管理機構23は、データ内のシーケンス番号および分割サイズに従って受信したロギング情報を結合することで比較的大量データであっても扱うことができる。ただし、基本的には通信ログ以外は分割指定を行わないものとし、分割指定なしで運用することにより、たとえアプリケーションが予想しないデータサイズのロギング情報を送信したとしても、上限で頭打ちして運用情報蓄積コンポーネントに送信するものとする。
ロギング情報送信機構26は、運用情報蓄積コンポーネントのコンポーネント本体21とはネットワーク的な関係であるため、コンポーネント本体21とは異なるOSやプログラム言語であっても、その環境毎にロギング情報送信機構26を用意することで様々な環境に適用することが容易である。
ロギング情報送信機構26による効果としては以下があげられる。アプリケーション30で実装している部分は、単にUDPのデータ送信を行っているだけなので、処理が軽い。なお、ロギングのタイムスタンプは、このクラスにより行うが、UDPのデータ送信はほとんど負荷がないため、アプリケーションの実動作時刻にきわめて近いタイムスタンプを生成できる。
また、クライアント機能であるロギング情報送信機構26とサーバ機能であるコンポーネント本体21がネットワーク上でクライアント/サーバの関係であり、クライアント側の実装はサーバから独立していることから実装のバリエーション(対応できるOSや開発言語など)が豊富になりうる。
上記により、ロギング情報送信機構26は、利用するアプリケーションに負荷をかけることなくロギング情報をコンポーネント本体21に送信するため、リアルタイム性の欠如の問題を解決するために必要な環境が整えられる。
<ロギング情報管理機構>
ロギング情報管理機構23は、サーバ機能の一部で、処理遅延なく受信したロギング情報を格納することと、運用の制御コマンドによるモード切り替え、および例外ログの受信によりモード切り替えを行うものである。基本的にロギング情報管理機構23はメモリの管理を行うもので、収集したロギング情報をメモリプールに格納する機構と、モードの切り替えを行う機構に分かれる。
<メモリ管理機能>
図11にロギング情報管理機構23におけるロギング情報および制御の流れを示す。同図中、破線の矢印は通常時のロギング情報(制御)の流れを示し、実線の矢印は非常時のロギング情報(制御)の流れを示す。メモリ管理部41内の種別振り分け部41aは、ロギング情報収集機構22で受信したロギング情報をいったん複数の一次格納メモリプール42a,42b,42cに種別毎に振り分けて格納する。ロギング情報をメモリ42上にプールするのは、以下の理由による。
受信したロギング情報を遅延なく処理するために、全ロギング情報をほとんど無処理で一次格納メモリプール42a,42b,42cに格納し、その後にメモリ管理部41内の非同期制御部41bは種別振り分け部41aと非同期(例えば1秒周期)でプーリングされたロギング情報の編集を行う。編集とは分割されたロギング情報の結合やUDPによる取りこぼしが発生したと思われる箇所の特定などである。
また、ファイリング時に指定されたレベル以上のロギング情報を抽出するためのテーブルとして使用するためである。さらに、例外ログを検出した際のモード切り替え時に例外発生直前の全レベルのロギング情報をファイリングできるように保持しておくためである。
また、ロギング情報が一定量(設定により指定可能なメモリサイズ:レコードサイズとレコード長を指定する)に達した場合、メモリ内容をログファイルとして出力(フラッシュ)する。
メモリプールは3層に分けておりそれぞれ次のような役割を持つ。一次格納メモリプール42a,42b,42cは、受信したロギング情報の一次格納を行う。整形済みメモリプール42d,42e,42fは、一次格納されたロギング情報に対して分割されたものは結合して整形を行う。非常用メモリプール43a,43b,43cは、例外発生時に整形された全情報を即時にファイリングするためにいったん別領域に退避を行う。なお、メモリプール42a〜42fはメモリ42内に設定され、非常用メモリプール43a〜43cは非常用メモリ43内に設定される。
運用情報蓄積コンポーネントは、複数の装置・複数のアプリケーションからのロギング情報を一箇所で受信するために、各種のロギング情報の編集や制御を、メモリ42,非常用メモリ43を介して行うことで受信時の負荷を抑え、UDPによる取りこぼしを軽減させる。
受信時に行うことは、ロギング情報の種別振り分け(メッセージログ・通信ログ・例外ログの判定)だけである。ロギング情報管理機構23は、この受信処理とは非同期に例えば1秒周期で上記一次格納、整形、退避の編集処理を行う。通常時は一次格納と整形までであるが、ロギング情報の中の例外ログを検出し、後述するモード切り替えの判定がされると、退避を行う。この編集処理により、各種のロギング情報は、ロギング情報のサイズや受信頻度に関係なく整形されて、最終的には種別毎のログファイルに出力される。
上記の編集処理における分割されたロギング情報の結合の様子を図12に示す。同図中、一次格納メモリプール42a,42b,42cに格納されている1番目のロギング情報(図中、最上段)は発信元1で分割なしであり、2,3,5番目のロギング情報は発信元2で分割ありであり、4番目のロギング情報は発信元3で分割なしであり、6番目のロギング情報は発信元2で分割なしであり、7番目のロギング情報は発信元1で分割なしである。
この場合、整形済みメモリプール42d,42e,42fには1番目のロギング情報、結合された2,3,5番目のロギング情報、4番目のロギング情報、6番目のロギング情報の順に時系列に並び替えて格納される。
図13にメモリプール42a〜42f,非常用メモリプール43a〜43cにおけるロギング情報のフォーマットを示す。同図中、ロギング情報は、レコード管理の番号であるレコード番号、分割完了を0、未完了を0以外(残り分割数)で表わす分割完了フラグ、アプリケーション実装部でつけたタイムスタンプであるログ時刻、サーバ機能でつけたタイムスタンプであある受信時刻、分割指定がない場合0、ある場合1以上である分割数、分割したときの分割最大サイズである分割サイズ、分割送信した順番であるシーケンス番号、メッセージ・通信・例外のいずれかの識別文字(1文字)であるログ種別、ログレベルの識別文字(1文字)であるログレベル、送信ホスト名(終端にカンマを付加)、アプリケーション名や業務名などの識別(終端にカンマを付加)である送信元情報1、クラス名などモジュールやソースの識別(終端にカンマを付加)である送信元情報2、メソッド・関数など(終端にカンマを付加)である送信元情報3、メッセージID(終端にカンマを付加)である送信元情報4、メッセージやデータなどのログ情報からなる。
<レベル・モード管理機能>
運用情報蓄積コンポーネントは、通常運用モードとデバックモードとエマージェンシーモード(非常運用モード)の3つのモードがあり、これらのモードは、運用中に切り替えることができる。また、ロギング情報のレベルおよびロギング情報の種別(メッセージログや通信ログなど)により蓄積有無等のフィルタリング条件を変更制御することもできる。
これらのモードの切り替え制御は、通知機構および保守機能24のモード切り替えコマンド47によって行う。ただし、エマージェンシーモードに関しては、運用設定において、このモードの適用可否を設定することで、例外発生時の動作を指定することができる。以下に各モードを説明する。
通常運用モードは、通常運用時のモードであり、通知機構および保守機能24の設定ファイルで指定されたレベル以上のロギング情報を蓄積・配信するモードである。
デバックモードは、アプリケーションの開発時や試験時に利用するモードで、全レベルの情報を蓄積・配信するモードである。
エマージェンシーモード(非常運用モード)は、例外ログのエラーレベル以上のロギング情報をコンポーネント本体21が受信した場合に遷移するモードである。
エマージェンシーモードに移行すると、ロギング情報管理機構23のメモリ管理部41は、出力可能な全レベルの情報でメモリ42上にプールされているロギング情報の全てをいったんログファイルFL1〜FL5に書き落とすと共に、全情報の配信を行う。その後は、運用情報蓄積コンポーネントで指定されたシナリオに従って、一定時間このモードを継続させて運用モードに戻ったり、設定されたコマンドを起動してシステムを再起動させたりする。
エマージェンシーモードでは、次のような動作を通知機構および保守機能24の情報蓄積コンポーネントの設定ファイルにシナリオ設定することで実行することができる。
(1)モード切り替え制御
エマージェンシーモードの継続時間と次に遷移するモードを指定することでモード切り替えを行う。
(2)コマンド実行
任意のコマンドを実行する。本機能では、単にコマンドを実行するだけなので、複数の処理を連続で行う場合は、シェルやバッチにその処理を記述する。
(3)アプリケーション通知
JMS(Java Message Service)(Javaは登録商標)によるアプリケーション通知を行う。通知する内容は、設定ファイルに記述した固定情報および受信した情報である。
これにより、通常運用時と障害発生時の自動的なロギング情報の出力切り替えにより、通常運用時は必要最低限のロギングしか行わず、障害発生時には全情報を採取し、またシステムのリカバリ等の処理が可能となることである。よってこの機能により、障害解析の手間を省くことができる。
<リアルタイムなロギング情報の配信表示機構>
コンポーネント本体21は、ロギング情報送信機構26から送信されたロギング情報を受信すると、配信表示機構25のマルチキャスト配信部48が、そのロギング情報をそのまま指定されたマルチキャストアドレスに対して配信し、配信されたロギング情報を受信して表示する表示装置49を持つ。
図14に表示装置49の構成を示す。この表示装置49は、絞り込み判定部61にフィルタリング条件を指定することにより、リアルタイムで配信されているロギング情報から、必要なロギング情報のみを絞り込んで抽出し、受信バッファ62に格納する。抽出された特定業務のロギング情報は編集処理63によって分割配信されたロギング情報は結合され、時系列に並び替えられ、表示・出力部64により表示される。
図15に編集処理63による表示の更新例を示す。同図中、受信バッファ62に1番目のロギング情報(図中、最上段)が格納された時点で表示領域65aに示すように1番目のロギング情報が表示される。次に、受信バッファ62に3番目のロギング情報が格納された時点で表示領域65bに示すように2,3番目のロギング情報が結合され、1番目のロギング情報と共に表示される。
次に、受信バッファ62に4番目のロギング情報が格納された時点で表示領域65cに示すように1〜4番目のロギング情報が表示される。次に、受信バッファ62に5番目のロギング情報が格納されると、この5番目のロギング情報は2,3番目のロギング情報と同一のロギング情報が分割されたものであるため、2,3番目のロギング情報と結合され、表示領域65dに示すように表示される。さらに、受信バッファ62に6番目のロギング情報が格納された時点で表示領域65eに示すように1〜6番目のロギング情報が表示される。
ロギング情報の配信はマルチキャスト配信部48でマルチキャスト送信することにより、複数の表示装置49で同時にロギング情報を表示することができるだけでなく、同一のネットワーク上であれば、どの装置からでもロギング情報のリアルタイム表示を行うことができる。これにより、運用状態の監視や開発時のデバック、試験などあらゆる場面でロギング情報を有効に活用することができる。
このようにして、各種のログファイルを逐一見る必要が無くなり、必要な情報のみを表示することで、障害の解析やデバック・試験が効率的行える環境を提供できることができ、リアルタイム性の欠如という問題を解決することができる。
<通知機構および保守機能>
コンポーネント本体21の通知機構および保守機能24は、受信したロギング情報の中で指定されたレベルの情報をJMSによりアプリケーションに通知することができる。JMSはPublisher/Subscriber方式(1対多配信)によりアプリケーションに通知を行う。この通知の際には、発信元情報(クラス名・メソッド名など)をTopicとし、タイムスタンプ・種別・レベル・メッセージIDおよびメッセージをメッセージ通知する。
受信するアプリケーションは、メッセージセレクタにより、任意のTopicを指定して購読することにより、特定の運用情報を取得することができる。主な使い道としては、アプリケーションが出力する業務の開始や完了等をデータベースに登録することで、アプリケーションやシステムの利用者に対して運用情報の履歴を提供することなど、ロギング情報をシステムやアプリケーションが出力するイベントして扱うことができ、それによりメッセージを受信するアプリケーション側で様々な利用を行うことが可能となる。
また、通知機構および保守機能24の運用制御コマンドには、以下の保守コマンドがあり、それぞれ次のような制御を行う。
(1)運用制御コマンド
このコマンドは、ファイリングする種別の選択とレベルの切り替えを行う。ファイリング種別の選択は、各種別(メッセージ、通信、例外、デバック、アプリケーション)のロギング情報のファイリングする/しないを切り替える。レベル切り替えは、ファイリングする種別のログに対してファイリングを行う最低レベルに指定を行う。
(2)モード切替コマンド
このコマンドは、前述の3つのモードの切り替えを行う。
これらのコマンドは、運用情報蓄積コンポーネントが動作中に各種の切り替えを行うことができる。
<制御ロジック>
図16は、コンポーネント本体の制御ロジックのフローチャートを示す。同図中、ロギング情報収集機構22はステップS1でデータ受信待ちを行い、ステップS2でデータを受信すると、受信データをロギング情報管理機構23に渡す。
ロギング情報管理機構23内のメモリ管理部41の種別振り分け部41aは、ステップS3で受信データの振り分けを行い、これにより、例外ログはステップS4で一次格納メモリプール42cに格納され、メッセージログはステップS5で一次格納メモリプール42aに格納され、通信ログはステップS6で一次格納メモリプール42bに格納される。
メモリ管理部41の非同期制御部41bは、ステップS10で1秒周期のタイマを生成し 、ステップS11でモード判定処理を開始する。非同期制御部41bはステップS12で一次格納メモリプール42a〜42cの未処理データを取得し、分割データの場合はステップS13で結合して整形を行う。また、整形済みメモリプール42d,42e,42fのロギング情報が一定量を超え、ロギング情報のレベルが指定されたレベル以上のである場合には、ステップS14でロギング情報をファイルFL1〜FL5にファイリングし、ステップS15で整形済みメモリプール42d,42e,42fをクリアする。
さらに、一次格納メモリプール42a,42b,42cのロギング情報が一定量を超えると、ステップS16で一次格納メモリプール42a,42b,42cの処理済みデータをクリアする。
一方、ロギング情報が例外ログの場合、ステップS20で全レベルのロギング情報のファイリングを有効とするエマージェンシーモードにモード遷移し、ステップS21でエマージェンシーモードから元のモードに戻すタイマを生成する。次に、ステップS22で整形済みメモリプール42d,42e,42fのロギング情報を非常用メモリプール43a,43b,43cに一時退避し、ステップS23で非常用メモリプール43a,43b,43cのロギング情報をファイルFL1〜FL5にファイリングする。この後、ステップS24で非常用メモリプール43a,43b,43cをクリアする。
なお、ステップS21で生成されたモード戻しタイマはステップS30で計時を行い、タイムオーバーによりステップS31でエマージェンシーモードから元のモードに戻す。
上記の運用情報蓄積コンポーネントにより、次のような効果が得られる。
第1に、UDPによるロギング情報の送受信により、アプリケーション側に負荷をかけることなくロギング情報の送信ができる。
第2に、ロギング情報の送信側と受信側がネットワーク的な関係でしかないので、送信側(アプリケーション側)の実装(OSや開発言語など)のバリエーションを豊富にすることができる。
第3に、ロギング情報の管理をクライアントとサーバに分けることにより、実際のロギング情報のファイリングにかかる負荷を分離することで、本来重視すべきシステムやアプリケーションに負荷をかけないことができる。
第4に、サーバ機能により複数のミドルウェア上で動作するアプリケーションや複数装置上のアプリケーションのロギング情報を一元管理することができる。
第5に、例外ログの受信時にロギングモードを動的に変化させられることから、障害発生時に普段はファイリングしていないデバックレベルのログまでが、障害発生前後に限り自動で採取することができる。また、本機能により、自動的にアプリケーションやシステムのリカバリを行うことができる。
第6に、サーバ機能が受信したロギング情報をマルチキャストで配信することにより、複数の装置やターミナルにより同時にリアルタイムでロギング情報の表示を行うことができ、これにより、障害解析やデバック・試験などが効率的に実施できる。
第7に、リアルタイムなロギング情報を表示する機能が実装するフィルタリング機能により、表示すべきロギング情報を必要なレベルや表示条件によって絞り込むことで、障害解析やデバック・試験などが効率的に実施できる。
第8に、収集したロギング情報をアプリケーションに通知することにより、アプリケーション側で他のアプリケーションが出力した情報をイベントとして受信することができる。
なお、ロギング情報送信機構26が請求項記載のロギング情報送信手段に相当し、コンポーネント本体21がロギング情報管理手段に相当し、一次格納メモリプール42a,42b,42cが一次メモリ手段に相当し、整形済みメモリプール42d,42e,42fが整形済みメモリ手段に相当し、非常用メモリプール43a,43b,43cが非常用メモリ手段に相当し、配信表示機構25が配信表示手段に相当し、通知機構および保守機能24が通知手段に相当する。
(付記1)
複数のアプリケーションそれぞれに設けられたロギング情報送信機構から各アプリケーションのロギング情報を送信し、
コンポーネント本体で前記各アプリケーションのロギング情報を受信し、ロギング情報の種別毎にファイリングすることを特徴とするロギング情報管理方法。
(付記2)
複数のアプリケーションそれぞれに設けられ各アプリケーションのロギング情報を送信するロギング情報送信手段と、
前記各アプリケーションのロギング情報を受信し、ロギング情報の種別毎にファイリングするロギング情報管理手段を
有することを特徴とするロギング情報管理システム。
(付記3)
付記2記載のロギング情報管理システムにおいて、
前記ロギング情報送信手段は、ユーザ・データグラム・プロトコルによりレベルを指定した複数種別のロギング情報を送信し、前記ロギング情報のパケットサイズ長が最大パケットサイズを超えたとき前記ロギング情報を分割して送信することを特徴とするロギング情報管理システム。
(付記4)
付記3記載のロギング情報管理システムにおいて、
前記ロギング情報管理手段は、受信したロギング情報の種別毎に記憶する一次メモリ手段と、
前記一次メモリ手段に記憶されている分割されたロギング情報を結合して前記種別毎に記憶する整形済みメモリ手段と、
前記整形済みメモリ手段の情報を前記種別毎に退避する非常用メモリ手段を有し、
前記整形済みメモリ手段または前記非常用メモリ手段に記憶されたロギング情報を前記種別毎にファイリングすることを特徴とするロギング情報管理システム。
(付記5)
付記4記載のロギング情報管理システムにおいて、
前記ロギング情報管理手段は、特定のロギング情報を受信したとき非常運用モードに切り替えて、前記整形済みメモリ手段の情報を前記種別毎に退避することを特徴とするロギング情報管理システム。
(付記6)
付記5記載のロギング情報管理システムにおいて、
前記ロギング情報管理手段は、受信したロギング情報をマルチキャスト配信して複数の表示装置に表示する配信表示手段を
有することを特徴とするロギング情報管理システム。
(付記7)
付記6記載のロギング情報管理システムにおいて、
前記配信表示手段は、分割されたロギング情報を結合し、時系列に並び替えて表示することを特徴とするロギング情報管理システム。
(付記8)
付記6記載のロギング情報管理システムにおいて、
前記ロギング情報管理手段は、受信したロギング情報を前記複数のアプリケーションに通知する通知手段を
有することを特徴とするロギング情報管理システム。
従来のロギング情報の管理方法を説明するための図である。 従来のロギング情報の一元管理方法を説明するための図である。 本発明の運用情報蓄積コンポーネントの概要イメージ図である。 運用情報蓄積コンポーネントの内部構成図である。 ロギング情報のレベルを示す図である。 本発明のロギング情報の一元管理方法を説明するための図である。 複数装置のロギング情報の一元管理を説明するための図である。 本発明のロギング情報の管理構成例を示す図である。 クラスの構成を示す図である。 UDP転送データのフォーマットを示す図である。 ロギング情報管理機構におけるロギング情報および制御の流れを示す図である。 編集処理における分割されたロギング情報の結合の様子を示す図である。 メモリプールにおけるロギング情報のフォーマットを示す図である。 表示装置の構成を示す図である。 表示の更新例を示す図である。 コンポーネント本体の制御ロジックのフローチャートである。
符号の説明
21 コンポーネント本体
22 ロギング情報収集機構
23 ロギング情報管理機構
24 通知機構および保守機能
25 配信表示機構
26 ロギング情報送信機構
41 メモリ管理部
42 メモリ
43 非常用メモリ
44 ファイル管理部
45 アプリケーション通知部
46 運用制御コマンド
47 モード切り替えコマンド
48 マルチキャスト配信部
49 表示装置
FL1〜FL5 ログファイル
42a,42b,42c 一次格納メモリプール
42d,42e,42f 整形済みメモリプール
43a,43b,43c 非常用メモリプール

Claims (5)

  1. 複数のアプリケーションのロギング情報を管理する情報管理システムであって、
    前記複数のアプリケーションにそれぞれ設けられ、各アプリケーションの状況に応じたレベル情報を含むロギング情報を送信し、前記ロギング情報が所定のサイズを超えるときは、前記ロギング情報を分割した、それぞれが前記レベル情報を含む、分割ロギング情報を送信する、複数のロギング情報送信手段と、
    前記ロギング情報および前記分割ロギング情報を受信しファイリングするロギング情報管理手段と、を備え、
    前記ロギング情報管理手段は、
    前記ロギング情報および前記分割ロギング情報を受信するロギング情報収集手段と、
    前記ロギング情報収集手段で受信した前記ロギング情報および前記分割ロギング情報を、前記レベル情報ごとに記憶する一次メモリ手段と、
    前記一次メモリ手段に記憶されている前記分割ロギング情報を結合し、前記ロギング情報とともに前記レベル情報ごとに記憶する整形済みメモリ手段と、
    前記整形済みメモリ手段の全情報を退避可能な非常用メモリ手段と、
    前記整形済みメモリ手段に記憶されている前記ロギング情報を、ファイリングするファイル管理手段を有し、
    前記ロギング情報管理手段は、通常運用モードおよび非常運用モードを有し、
    前記ロギング情報収集手段が、前記レベル情報が例外レベルである前記ロギング情報または前記分割ロギング情報を受信したときは、非常運用モードに移行し、所定の時間後に通常運用モードに移行し、
    前記ロギング情報管理手段が前記通常運用モードにあるときは、前記ファイル管理手段は、前記整形済みメモリ手段に記憶された前記ロギング情報のうち、所定のレベル以上の前記ロギング情報を前記レベル情報ごとにファイリングし、
    前記ロギング情報管理手段が、前記非常運用モードに移行したとき、前記整形済みメモリ手段の情報をすべて前記非常用メモリ手段に退避し、前記非常用メモリ手段より前記レベル情報ごとにファイリングするとともに、その後、前記整形済みメモリ手段に記憶される前記ロギング情報をすべて前記レベル情報ごとにファイリングする、ことを特徴とするロギング情報管理システム。
  2. 請求項1記載のロギング情報管理システムであって、
    前記ロギング情報管理手段は、受信した前記ロギング情報または前記分割ロギング情報をマルチキャスト配信する配信手段を有することを特徴とするロギング情報管理システム。
  3. 請求項1記載のロギング情報管理システムであって、
    前記マルチキャスト配信された前記ロギング情報または前記分割ロギング情報を受信する複数の表示手段を有し、
    前記複数の表示手段は、所定のレベル以上の前記ロギング情報または前記分割ロギング情報のみを抽出し、前記抽出された前記分割ロギング情報を結合し、時系列に並び替えて表示することを特徴とするロギング情報管理システム。
  4. 複数のアプリケーションにそれぞれ設けられ、各アプリケーションの状況に応じたレベル情報を含むロギング情報を送信し、前記ロギング情報が所定のサイズを超えるときは、前記ロギング情報を分割した、それぞれが前記レベル情報を含む、分割ロギング情報を送信する、複数のロギング情報送信手段からの前記ロギング情報および前記分割ロギング情報を受信しファイリングするロギング情報管理手段であって、
    前記ロギング情報および前記分割ロギング情報を受信するロギング情報収集手段と、
    前記ロギング情報収集手段で受信した前記ロギング情報および前記分割ロギング情報を、前記レベル情報ごとに記憶する一次メモリ手段と、
    前記一次メモリ手段に記憶されている前記分割ロギング情報を結合し、前記ロギング情報とともに前記レベル情報ごとに記憶する整形済みメモリ手段と、
    前記整形済みメモリ手段の全情報を退避可能な非常用メモリ手段と、
    前記整形済みメモリ手段に記憶されている前記ロギング情報を、前記レベル情報ごとにファイリングするファイル管理手段を有し、
    前記ロギング情報管理手段は、通常運用モードおよび非常運用モードを有し、
    前記ロギング情報収集手段が、前記レベル情報が例外レベルである前記ロギング情報または前記分割ロギング情報を受信したときは、前記非常運用モードに移行し、所定の時間後に前記通常運用モードに移行し、
    前記ロギング情報管理手段が、前記非常運用モードに移行したとき、前記整形済みメモリ手段の情報をすべて前記非常用メモリ手段に退避し、前記非常用メモリ手段より前記レベル情報ごとにファイリングするとともに、その後、前記整形済みメモリ手段に記憶される前記ロギング情報をすべて前記レベル情報ごとにファイリングする、ことを特徴とするロギング情報管理手段。
  5. 複数のアプリケーションより送信された、各アプリケーションの状況に応じたレベル情報を含むロギング情報、または、前記ロギング情報が所定のサイズを超えるときは、前記ロギング情報を分割したそれぞれが前記レベル情報を含む分割ロギング情報を、受信しファイリングする、ロギング情報管理方法であって、
    前記ロギング情報および前記分割ロギング情報を受信する収集ステップと、
    前記受信した前記ロギング情報および前記分割ロギング情報を、前記レベル情報ごとに記憶するステップと、
    前記レベル情報ごとに記憶された前記分割ロギング情報を結合し、前記ロギング情報とともに前記レベル情報ごとに整形済みメモリ手段に記憶するステップと、
    前記レベル情報ごとに記憶された、前記結合された前記分割ロギング情報および前記ロギング情報を、前記レベル情報ごとにファイリングするステップと、を備え、
    前記収集ステップで、前記レベル情報が例外レベルである前記ロギング情報または前記分割ロギング情報を受信したときは、非常運用モードに移行し、所定の時間後に通常運用モードに移行し、
    前記非常運用モードに移行したとき、前記整形済みメモリ手段の情報をすべて非常用メモリ手段に退避し、前記非常用メモリ手段より前記レベル情報ごとにファイリングするとともに、その後、前記整形済みメモリ手段に記憶される前記ロギング情報をすべて前記レベル情報ごとにファイリングする、ことを特徴とするロギング情報管理方法。
JP2006016863A 2006-01-25 2006-01-25 ロギング情報管理方法およびロギング情報管理システムおよびロギング情報管理手段 Expired - Fee Related JP5050357B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006016863A JP5050357B2 (ja) 2006-01-25 2006-01-25 ロギング情報管理方法およびロギング情報管理システムおよびロギング情報管理手段

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006016863A JP5050357B2 (ja) 2006-01-25 2006-01-25 ロギング情報管理方法およびロギング情報管理システムおよびロギング情報管理手段

Publications (2)

Publication Number Publication Date
JP2007199956A JP2007199956A (ja) 2007-08-09
JP5050357B2 true JP5050357B2 (ja) 2012-10-17

Family

ID=38454524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006016863A Expired - Fee Related JP5050357B2 (ja) 2006-01-25 2006-01-25 ロギング情報管理方法およびロギング情報管理システムおよびロギング情報管理手段

Country Status (1)

Country Link
JP (1) JP5050357B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4818235B2 (ja) * 2007-09-12 2011-11-16 株式会社リコー ログ収集機構を有した画像形成装置
JP2009134395A (ja) * 2007-11-29 2009-06-18 Hitachi Ltd 情報処理端末装置、及び情報処理端末装置における情報送信方法
JP2012032986A (ja) * 2010-07-30 2012-02-16 Fujitsu Ltd コンパイル方法及びプログラム
JP5607510B2 (ja) * 2010-11-18 2014-10-15 Necソリューションイノベータ株式会社 障害記録中継装置、プログラム、及び方法
JP2013171431A (ja) * 2012-02-21 2013-09-02 Fujitsu Telecom Networks Ltd ログ記録装置、ログ記録方法及び記録媒体
KR101275661B1 (ko) 2012-08-10 2013-06-17 (주)네오위즈게임즈 온라인 게임의 로그 정보 관리 방법 및 서버
JP6441803B2 (ja) * 2012-10-04 2018-12-19 アルカテル−ルーセント マルチクライアント・アーキテクチャでのデータ・ログ管理
FR3025627B1 (fr) * 2014-09-10 2018-03-23 Bull Sas Mecanisme haute performance pour generation d'informations de journalisation d'un processus informatique

Also Published As

Publication number Publication date
JP2007199956A (ja) 2007-08-09

Similar Documents

Publication Publication Date Title
JP5050357B2 (ja) ロギング情報管理方法およびロギング情報管理システムおよびロギング情報管理手段
US5941996A (en) Distributed network agents
CN105159964B (zh) 一种日志监控方法及系统
CN112671560A (zh) 一种高可用的分布式实时告警处理方法及系统
US8549137B2 (en) Monitoring device, monitoring system, monitoring method, and program
CN109660380A (zh) 服务器运行状态的监控方法、平台、系统及可读存储介质
CN112118174B (zh) 软件定义数据网关
CN104536809A (zh) 一种基于客户端、服务器系统的分布式定时任务调度系统
CN103699063B (zh) 一种制造执行系统mes中离线数据的采集装置和方法
CN112350854B (zh) 一种流量故障定位方法、装置、设备及存储介质
CN110895488B (zh) 任务调度方法及装置
CN111400127B (zh) 业务日志的监控方法及装置、存储介质、计算机设备
CN104598300A (zh) 分布式业务流程定制方法及系统
US20130339801A1 (en) System and method for log and trace diagnostics and analytics
CN108234189B (zh) 一种告警数据处理方法和装置
US20120072589A1 (en) Information Processing Apparatus and Method of Operating the Same
KR20180015027A (ko) 데이터 분산 서비스 응용 시스템 오류 자동 알림 장치 및 방법
TWI448975B (zh) 應用於影像監控平台的分散式運算系統
CN113381907A (zh) 日志采集方法及装置、电子设备、存储介质
CN101677278A (zh) 网络信息系统可用性的监控方法及系统
CN117453412A (zh) 自动化任务数据归档方法、装置、设备及存储介质
CN113067722A (zh) 数据管理平台及其工作方法
CN102480369A (zh) 一种网络管理系统及性能采集的方法
CN115333967B (zh) 数据上报方法、系统、设备及存储介质
CN106230619B (zh) 数据发送、接收方法及装置、数据传输方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120402

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: 20120626

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: 20120709

R150 Certificate of patent or registration of utility model

Ref document number: 5050357

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees