[go: up one dir, main page]

JP4804408B2 - ログ解析方法及び装置 - Google Patents

ログ解析方法及び装置 Download PDF

Info

Publication number
JP4804408B2
JP4804408B2 JP2007108447A JP2007108447A JP4804408B2 JP 4804408 B2 JP4804408 B2 JP 4804408B2 JP 2007108447 A JP2007108447 A JP 2007108447A JP 2007108447 A JP2007108447 A JP 2007108447A JP 4804408 B2 JP4804408 B2 JP 4804408B2
Authority
JP
Japan
Prior art keywords
log
time
time stamp
correction amount
correction
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
JP2007108447A
Other languages
English (en)
Other versions
JP2008269084A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007108447A priority Critical patent/JP4804408B2/ja
Priority to US12/081,483 priority patent/US7809681B2/en
Publication of JP2008269084A publication Critical patent/JP2008269084A/ja
Application granted granted Critical
Publication of JP4804408B2 publication Critical patent/JP4804408B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、複数のログを利用してシステム状態の監視や、問題の究明を行うログ解析方法または装置に関して、ログに記録されたイベントやモニタ値などの順序関係や相関関係を正しく把握し、システム状態や問題の原因を正しく判定するために、ログを出力した装置の時刻補正ログと、ログのタイムスタンプに関わるルールを利用して、ログに記録されたタイムスタンプを補正する方法または装置に関する。
Web3層システム(業務システム)のような複数の計算機からなるクラスタシステムを利用してサービスの提供が広く行われるようになり、このようなクラスタシステム上で行われる処理の進捗状況やシステムの稼動状況を正しく把握して、サービスを安定して提供し続ける必要性が増大している。しかし、このような複数の計算機からなるクラスタシステム上で行われる処理の進捗状況やシステムの稼動状況を把握するには、個々の計算機から出力されるログを個別に監視するだけではサービス全体やシステム全体としての状況を正しく把握できないため、各計算機から出力される複数のログをまとめて解析をする必要がある。
しかし、各計算機の時刻にはズレがあり、また各ログに記録されるタイムスタンプの記録タイミングにもズレがあるため、各ログのタイムスタンプをそのまま利用して解析を行うと正しい解析ができないことがある。例えばログ間での不整合により処理の順序関係が入れ替わる等の間違えが生じたり、例えばログ間のタイムスタンプのズレの傾向によりシステムの稼動状況の統計的な解析結果に真の稼動状況とは異なる傾向が現れる等の間違えが生じたりする。
各計算機の時刻のズレをなくし、ログにタイムスタンプを記録するタイミングを統一することが真の解決策であるが、計算機間で時刻のズレを完全になくすことは困難で、仮に時刻のズレを完全になくせても、システムのすべてのハードウェア及びソフトウェアのログを記録するタイミングを統一することは現実的には実現困難で、ログに記録されているタイムスタンプをそのまま利用して解析を行うと正しい解析ができない可能性がある。
これに対して、各計算機の時刻のズレを補正するNTP(Network Time Protocol)が広く利用されている。環境にもよるがNTPを利用して各計算機の時刻のズレを数msec〜100msec程度に収めることができると言われている。しかし、例えば個々の処理の進捗状況を詳細に把握する必要がある場合などには、msec単位で正確に時刻の補正ができる方法が必要である。また、NTPによる時刻補正を大規模なシステムで頻度高く行うと、ネットワークに対する負荷が高くなる。環境によってはNTPによる時刻補正を頻度高く行っても数十msec単位でのズレがなくならず、かえって頻繁な時刻補正による時刻の不連続性が問題になることもある。
これに対していくつかの従来技術が部分的な解決策を与えている。
特許文献1の「イベントトレースデータの時刻補正装置、時刻補正方法及び時刻補正プログラム」では、複数の計算機間で生じるイベントトレースデータの相対的な時刻ズレを、イベントの送受信関係から補正する方法を開示している。この従来技術では、イベントの送受信関係から複数ログ間の時刻のズレを補正する方法を開示しているが、時刻ズレの補正量を測定する期間中にNTPのような時刻補正が行われ時刻ズレの量が不連続になった場合、正しく時刻ズレを補正することができなくなる。また、時刻ズレの補正量をすべての送受信イベントに対して測定するために、時刻補正を行うコストが高い。
特許文献2の「計算機システム、ログ収集方法、及びコンピュータプログラム」では、仮想計算機とホスト計算機の時刻差分を格納する時刻差分テーブルを用意し、各仮想計算機から取得したログのタイムスタンプを修正して取り出せる計算機システムを開示している。この従来技術では、各計算機の時刻変更時に計算機間の時刻差分を更新してタイムスタンプを修正する方法を開示しているが、タイムスタンプの補正量は、計算機間の時刻差分であり、ログの出力タイミングなどに起因するログのタイムスタンプの補正量を考慮していないので、ログ間の整合性が取れない可能性がある。また、時刻変更時以外のズレの補正は行われず、ズレが徐々に拡大するような場合には、タイムスタンプの補正量の誤差が徐々に拡大する。
特許文献3の「タイムスタンプ装置、時刻校正方法および時刻校正プログラム」では、電波時計とNTPのような時刻発行サーバを併用してタイムスタンプ装置の時刻信頼度を向上させる方法を開示している。この従来技術の目的は悪意のある者による時刻改竄を防ぐことにある。この従来技術では、タイムスタンプの時刻そのものの信頼性を上げる方法を開示しているが、完全にタイムスタンプの時刻を統一できる方法ではなく、さらに特許文献2と同様に、ログの出力タイミングなどに起因するタイムスタンプの補正量を別途考慮する必要がある。
特許文献4の「時計同期方法および装置および記録媒体」では、複数の装置の時計について、それぞれの時刻差の測定結果を、以前の時刻差の統計的分布と比較し一定以上の相違がある場合に時刻補正を行う方法を開示している。この従来技術では、各装置の時刻補正を行うタイミングを決定する方法を開示しているが、ログ間の整合性を考慮した時刻補正については開示されていない。
特開 2005−235054 公報 特開 2006−285875 公報 特開 2006−236251 公報 特開 平11−27269 公報
本発明が解決しようとする課題は、複数の装置から出力されるログのタイムスタンプにズレがあることを前提に、ログ解析時に整合性をもった解析を実現するために、ログのタイムスタンプを補正する方法若しくは装置を実現することである。
ログ解析時に整合性をもった解析を実現するには、ログのタイムスタンプそのものを正しく記録する方法も考えられる。つまり、各計算機の時刻のズレをなくし、ログにタイムスタンプを記録するタイミングを統一することができれば、タイムスタンプの補正を行う必要はない。
例えば、上述のNTP(Network Time Protocol)により各計算機の時刻のズレを縮小する方法が知られている。この方法によって各計算機の時刻のズレを数msec〜100msec程度に収めることができると言われている。しかしながら、例えば個々の処理の進捗状況を詳細に把握する必要がある場合などには、msec単位で時刻の補正ができる方法が必要である。また、NTPによる時刻補正を大規模なシステムで頻度高く行うとネットワークに対する負荷が高くなる。環境によってはNTPによる時刻補正を頻度高く行っても数十msec単位でのズレがなくならず、かえって頻繁な時刻補正による時刻の不連続性が問題になることもある。さらに、複数の計算機の時刻のズレは、一般的に漸増もしくは漸減する傾向があり、複数ログのタイムスタンプ間でのズレも漸増もしくは漸減するため、ログ解析の結果、このズレの漸増もしくは漸減傾向によって、本質的には存在しない問題である幻像が現れてしまう可能性がある。
また、タイムスタンプを記録するタイミングを統一することは、ログを出力するハードウェアやソフトウェアにおいて、ログに記録するイベントやモニタ値の検出タイミングの調整や、タイムスタンプとする時刻の取得に要する時間の考慮が必要となるなど、現実的には実現困難である。
このように、ログのタイムスタンプそのものを正しく記録することは難しく、複数のログのタイムスタンプ間にはズレがあることを前提として、ログ解析時に整合性をもった解析を実現する必要がある。
タイムスタンプを利用せずに、整合性をもったログ解析を実現する方法も考えられる。例えば、イベントのログについて、ある処理を行う際に、複数のイベントが順番に発生した記録では、あるイベントの直前に記録したイベントの情報も一緒に記録することによって、複数のイベントの順序関係は正しく記録されるはずである。さらに、イベント間での時間間隔も正しく記録できれば、整合性をもったログ解析が実現できるが、そのためには先に述べた各計算機間の時刻のズレをなくす必要が生じるため、現実的には実現困難である。さらに、複数の処理で記録されたイベント相互間の関係については、この方法では記録できない。別の見方をすれば、処理に本質的な順序関係があり、さらにその順序関係を記録することができる範囲においては有効であるが、処理の間に本質的な順序関係がなく、その時々のタイミングによって順序関係が変わるようなイベントなどでは、この方法は利用できない。しかし実際には、本質的には順序関係がないイベント間の順序関係が特定のパターンになった場合に発生する問題などを検出することがログ解析に求められることがあり、ログ解析を行う複数ログ間でのタイムスタンプのズレを極力なくすタイムスタンプの補正を実現することが課題となる。
一方、例えばWeb3層システムでの処理の進捗状況を把握する場合を考えると、Webサーバのアクセスログと、DBサーバのクエリログには、この順序で処理が記録されるはずであるというように、整合性に関するルールがログ間にあることが多い。
そこで、NTP等による時刻補正を行っている複数の装置から出力されるログのタイムスタンプにズレがあることを前提に、ログ解析時に整合性をもった解析を実現することを本発明の目的とする。
本発明は、複数の計算機からタイムスタンプを含むログをプロセッサによって実行されるログ解析部が受信し、前記ログ解析部を実行するプロセッサが前記タイムスタンプを補正して前記ログの解析を行うログ解析方法において、前記計算機が、時刻を補正したときに時刻の補正量とタイムスタンプを含む第1のログを生成する手順と、前記計算機が、処理または操作に関連するログにタイムスタンプを含めて第2のログとして生成する手順と、前記計算機が、前記第1のログと第2のログを送信する手順と、前記ログ解析部が、前記第1のログと第2のログを受信する手順と、前記ログ解析部が、前記第1のログを時刻補正履歴格納部へ格納する手順と、前記ログ解析部が、前記第1のログに基づいて第1の時刻補正量を演算する手順と、前記ログ解析部が、前記第1の時刻補正量と第2の時刻補正量に基づいて、前記第2のログのタイムスタンプを補正する手順と、前記ログ解析部が、前記タイムスタンプを補正した複数の第2のログについて、第2のログ間の時系列的な順序関係が予め設定した整合性ルールを満たすか否かを判定する手順と、前記第2のログ間の時系列的な順序関係が前記整合性ルールを満たさない場合には、前記ログ解析部が、これら第2のログのタイムスタンプの差分から第2の時刻補正量を求める手順と、前記整合性ルールを満たさない前記第2のログのタイムスタンプを、前記第1の時刻補正量と第2の時刻補正量に基づいて再度補正する手順と、前記タイムスタンプを再度補正した第2のログについて再度前記整合性ルールを満たすか否かを判定する手順と、前記整合性ルールを満たした第2のログを保存する手順と、前記保存した第2のログを解析する手順と、を含む。
また、本発明では、複数のログを生成する複数の計算機からログを受信して解析を行うログ解析装置において、ログの整合性チェック結果と時刻補正ログを利用して、タイムスタンプを補正する。
各計算機は、複数のログ生成部と、NTPなどの方法で時刻を補正する時刻補正部を持ち、時刻補正ログを含むログはログ送信部からログ解析装置に送られる。ログ生成部が生成するログとしては、操作ログやアプリログ、システムログなどが挙げられる。これらのログにはタイムスタンプが付加されている。
ログ解析装置は、複数の計算機からのログをログ受信部で受信し、時刻補正ログは時刻補正履歴格納部に記録する。その他のログはタイムスタンプ補正部でタイムスタンプ補正履歴表を使ってタイムスタンプが補正される。その後、整合性ルールに基づいて、ログのタイムスタンプに対して整合性チェックが行われ、不整合の場合にはタイムスタンプ補正表更新部を通してタイムスタンプ補正履歴格納部を更新してタイムスタンプの補正をやり直す。整合性がとれている場合には、ログの保存、解析、結果の出力を行う。
時刻補正履歴格納部は、各計算機で行われたNTPなどの方法による時刻補正ログの履歴を保持し、その計算機の時刻のズレの傾向を算出するのに利用される。例えば、1時間毎に時刻補正を行う計算機で、毎回1秒程度時刻を進める補正をしている場合、毎秒0.28msec程度標準時刻から遅れていることになる。時刻補正時には、タイムスタンプ補正履歴格納部の更新を行う。
整合性ルールは、第2のログの間の整合性に関するルールである。例えば、ある処理が計算機1→2→3の順に処理されていく場合、各計算機から出力される第2のログは1→2→3の順にタイムスタンプが並ぶはずである。さらに、計算機間のネットワークの遅延や各計算機での処理時間から、計算機1と計算機2から出力されるログには1秒以上の時間差があるはずであるというルールなども含む。
不整合履歴格納部は、整合性チェックの結果をログ毎に保持し、不整合時には不整合履歴表を利用してタイムスタンプ補正表更新部でタイムスタンプ補正履歴格納部の更新を行う。その後タイムスタンプの補正をやり直す。
タイムスタンプ補正履歴格納部は、ログ毎に、タイムスタンプの補正量と単位時間当たりの補正量の変化分に関する履歴を保持し、タイムスタンプ補正部でログのタイムスタンプを補正する。
したがって、本発明によれば、複数の計算機から出力される複数のログに対して、時刻補正ログと、ログ間の整合性ルールによって、各ログに記録されているタイムスタンプを補正することで、複数のログ間の順序関係の精度を向上させ、計算機で行われる処理の進捗状況やシステムの稼動状況を正しく把握することが可能となる。特に、計算機で時刻補正を行った際のタイムスタンプに生じる不連続性や、複数ログ間で漸増・漸減するタイムスタンプのズレによる統計指標に現れる幻像を予防する効果などもある。
以下、本発明の一実施形態を添付図面に基づいて説明する。
<第1実施形態>
図1〜図16は、第1の実施形態を示す。図1は本発明を適用する計算機システムの構成を示すブロック図である。
図1において、本発明を適用する計算機システムは、クラスタ構成の複数の計算機101がネットワーク1100に接続され、各計算機101から出力されたログを収集して解析を行うログ解析装置201がネットワーク1100に接続される。各計算機101は、データや命令を記憶するメモリ11と、演算処理を実行するCPU(プロセッサ)12と、ネットワーク1100に接続されるインタフェース14と、CPU12とインタフェース14の間でデータの制御を行う制御部13を含んで構成される。なお、制御部13にはストレージ装置などを接続することができる。複数の計算機101(計算機1〜N)はそれぞれ所定の処理を実行しており、例えば、WEB3層システムを構成する場合は、計算機1でWEBサーバを実行し、計算機2でアプリケーションサーバを実行し、計算機Nでデータベースサーバを実行する。
各計算機101は、実行するアプリケーションやOSからのログを出力し、信号線(ログ通信路)110及びネットワークスイッチ111から構成されたネットワーク1100を介してログ解析装置201へ送られる。
ログ解析装置201は、データや命令を記憶するメモリ21と、演算処理を実行するCPU22と、ネットワーク1100に接続されるインタフェース24と、CPU22とインタフェース24の間でデータの制御を行う制御部23と、演算結果や受信したデータを格納するストレージ装置25とを含んで構成された計算機である。
また、ネットワーク1100には、各計算機101が出力するログやログ解析装置201の動作設定を行う管理コンソール301が接続される。管理コンソール301は、データや命令を記憶するメモリ31と、演算処理を実行するCPU32と、ネットワーク1100に接続されるインタフェース34と、CPU312とインタフェース34の間でデータの制御を行う制御部33を含んで構成される。また、管理コンソール301には入力装置35と管理コンソール画面401が接続される。
図2は、図1に示した計算機システムの機能要素を示すブロック図である。
複数の計算機101それぞれには、計算機101内部の時刻を基準時刻に合わせる時刻補正部102と、アプリケーションやOSなどの処理や操作に基づくログをそれぞれ生成する1つ以上のログ生成部103と、ログ生成部103が生成したログをログ解析装置201へ送信するログ送信部105が含まれる。時刻補正部102が時刻補正に利用する基準時刻は、図2に記載されていない装置(例えば、タイムサーバ等)が提供する基準時刻でもよいし、図2に記載の計算機101のいずれかが基準時刻を提供しても良いし、もしくはログ解析装置201が提供する基準時刻でもよい。時刻補正部102による時刻補正の方法は、NTP(Network Time Protocol)による方法などを利用して、計算機101およびログ解析装置201の全部もしくは一部の間で時刻のズレがなくなるように補正を行う。時刻補正部102には、時刻補正を行った際にその履歴をログ出力する時刻補正ログ生成部104が含まれる。
ログ生成部103は、計算機101で起こった各種のイベントや、動作状況に応じて変動するモニタ値、操作変更の履歴などをログとして生成する部分である。ログ生成部103が生成するログの例としては、アプリケーションログやシステムログ、操作ログなどが挙げられる。ログ生成部103および時刻補正ログ生成部104で生成されたログは、ログ送信部105から、ログ通信路110およびネットワークスイッチ111を経由してログ解析装置201へ送信される。図2では、ログ送信部105が各計算機101に1つだけ記載してあるが、複数のログ送信部105があってもよい。また同様に、ログ通信路110やネットワークスイッチ111も複数で構成されていてもよい。なお、図2において、計算機1のログ生成部103では、例えば、ログ生成部1−1がOSのログを生成し、ログ生成部1−2がアプリケーションのログを生成する。
ログ解析装置201は、複数の計算機101が出力したログを受信し、受信したログの時刻情報を補正してから解析を行うログ解析部120を備える。このログ解析部120は、プログラムとしてログ解析装置201のメモリ21にロードされ、プロセッサ22のキャッシュメモリに読み込まれてから実行される。
ログ解析部120は、ログ通信路110を経由して送信されてきたログをログ受信部121で受信する。ログ受信部121は、各計算機101の時刻補正ログ生成部104生成した時刻補正ログと、ログ生成部103が生成したアプリケーションやOSなどに関連するログを受信する。
時刻補正履歴表128は、ログ受信部121で受信した時刻補正ログ生成部104で生成された時刻補正ログを各計算機101毎に登録する表である。タイムスタンプ補正部122は、ログ受信部121で受信したログに記録されているタイムスタンプを補正する機能をもつ。タイムスタンプ補正部122には、タイムスタンプ補正履歴表129が接続されており、タイムスタンプ補正履歴表129は、タイムスタンプの補正に利用する。整合性チェック部123は、タイムスタンプ補正部122で補正されたログのタイムスタンプが、ログ間の時系列的な順序を予め設定した整合性ルール124を満たしているかをチェックする機能をもつ。整合性チェック部123とタイムスタンプ補正部122の間には、ログの不整合が発見された場合にタイムスタンプの補正をやり直すためのタイムスタンプ再補正パス132を備える。不整合履歴表130は、整合性チェック部123で行ったログ間の整合性チェックの結果を登録する表である。整合性チェック部123にて整合性チェックを通ったログは、ログ保存部125やログ解析部126、解析結果出力部127に送られる。図2はこれら処理順序の一例を示しているに過ぎず、同時に処理を行ったり、一部を省略したりする場合も含まれる。
タイムスタンプ補正表更新部131は、時刻補正履歴表128と不整合履歴表130に登録されている情報を利用してタイムスタンプ補正履歴表129に、ログのタイムスタンプ更新に関する情報を登録する機能をもつ。なお、図2では、ログ解析装置201は1つだけであるが、複数のログ解析装置201を利用しても良く、さらに複数のログ解析装置201で、ログ解析部120の一部の機能を共有しても良い。例えば、時刻補正履歴表128を複数のログ解析装置201で共用して同じ情報を利用することなどが含まれる。
次に、上記図2に示した本発明の計算機システムにおけるログの処理について図3のフローチャートを使って説明する。
まず、各計算機101のログ生成部103で動作ログや操作ログを生成する(ステップ202)。並行して計算機101の時刻補正部102にある時刻補正ログ生成部104では時刻補正ログを生成する(ステップ203)。これらのログ及び時刻補正ログを、各計算機101のログ送信部105からログ解析装置201に対して、ログ通信路110とネットワークスイッチ111を経由して送信する(ステップ204)。ログ解析装置201のログ解析部120は、ログ受信部121で送信されてきたログ及び時刻補正ログを受信する(ステップ205)。次に、ログ受信部121は受信したログの種類を判定し、アプリケーションやOSのログであればステップ206ヘ進み、時刻補正ログであればステップ207へ進む(ステップ2050)。以下ではログの種類によって2通りの動作が行われる。
まず、時刻補正ログ生成部104で生成された時刻補正ログは、後述する図6(A)のように時刻補正履歴表128に登録する(ステップ207)。次に、タイムスタンプ補正表更新部131が時刻補正履歴表128を使って、タイムスタンプ補正履歴表129を更新する(ステップ211)。時刻補正ログについては、これで終了である(ステップ215)。
時刻補正ログ以外のアプリケーションやOSに関連するログの場合、まずタイムスタンプ補正部122において、タイムスタンプ補正履歴表129を使ってログのタイムスタンプの補正を行う(ステップ206)。次に整合性チェック部123において、整合性ルール124に従ってログのタイムスタンプの整合性をチェックする(ステップ208)。そして整合性チェック結果を不整合履歴表130に登録する(ステップ209)。次にタイムスタンプ補正表更新部131が不整合履歴表130を使って、タイムスタンプ補正履歴表129を更新する(ステップ210)。整合性チェックの結果、ログの整合性が保証されたか否かを判定し、整合性が保証された場合にはステップ214へ進み、整合性が保証されない場合にはステップ206へ戻ってタイムスタンプの補正を再度実行する(ステップ212)。整合性が保証された場合には、ログ保存部125、ログ解析部126、解析結果出力部127などで後述するようにログの保存・解析・結果出力を行い(ステップ214)、その後処理を終了する(ステップ215)。ログの保存・解析・結果出力(ステップ214)については、一部を省略したり、処理の順序を変更したりしてよい。なお、ログ解析部126は、タイムスタンプを補正したログを公知の統計的手法により解析するもので、例えば、各計算機101のレスポンスタイムなどを解析する。
上記整合性チェックの結果による制御の分岐(ステップ212)において、整合性がない場合には、タイムスタンプ再補正パス132により、タイムスタンプの補正(ステップ206)に戻る(ステップ213)。
図4は図2に示した本発明の基本的な構成に対して、ログ送信部105やログ解析部120の動作設定を行うインタフェース部分を抜き出したブロック図である。管理コンソール301は、計算機101のログ送信部105や、ログ解析部の整合性ルール124、タイムスタンプ補正表更新部131、時刻補正命令発行部1301などの動作設定を行う機能をもち、設定入力インタフェース302を含む。管理コンソール301は、設定通信路303およびネットワークスイッチ111を経由して計算機101やログ解析部120に動作設定を通知する。図4では、管理コンソール301は計算機101やログ解析装置201とネットワークスイッチ111経由で接続しているが、一部の計算機101やログ解析装置201に管理コンソール301を包含したり、各計算機101とログ解析装置201毎に個別に設けたりする方法も含まれる。
図5は上記図4に示した管理コンソール301に含まれる設定入力インタフェース302の例である。管理コンソール301は、動作設定を行うために管理コンソール画面401に設定ウィンドウ402を表示する。設定ウィンドウ(ユーザインターフェース)402には、計算機101やログ解析部126毎に設定すべき項目がまとめられており、例えば、計算機1の設定項目として、ログ生成部103で生成したログファイルを指定するインタフェース404と、時刻補正ログ生成部104で生成した時刻補正ログファイルを指定するインタフェース405が含まれる。
また、ログ解析部120の設定項目の例としては、整合性ルール124を設定する整合性ルールファイルを指定するインタフェース407と、タイムスタンプ補正表更新部131の動作を設定するタイムスタンプ補正設定ファイルを指定するインタフェース408と、時刻補正方法に関する設定を行う時刻補正設定ファイルを指定するインタフェース409などが挙げられる。図5に記載した設定ファイルを指定するインタフェースの他に、数値を入力するインタフェースや、処理のオン・オフ(有効または無効)を設定するボタンなども設定入力インタフェース302に含まれる。
図6は、ログ解析部120の時刻補正履歴表128と計算機101の時刻の補正の様子を示す。図6を使って時刻補正履歴表128の構成例と記録データについて説明する。
図6(A)において、時刻補正履歴表128は、各計算機101毎に時刻511と時刻補正履歴を記録する表である。時刻補正履歴には、時刻補正ログを出力した補正場所512と時刻511における補正量513を記録する。時刻補正履歴表128への記録は、以下のように行う。
計算機101の時刻補正部102で時刻補正を行った場合、時刻補正ログ生成部104が時刻補正ログを生成する。時刻補正ログには、時刻補正を行った時刻511と、時刻補正を行った補正場所512、時刻補正量513が記録されている。図2、図3に示したように、ログ送信部105、ログ通信路110、ネットワークスイッチ111、ログ受信部121を経由してそれぞれの情報が時刻補正履歴表128に記録される。
時刻511は時刻補正が行われる直前(時刻補正の開始時点)もしくは直後の時刻(時刻補正の完了時点)を用いることができ、補正量513は時刻補正により進めた、もしくは遅らせた時間である。時刻511については、時刻補正の直前・直後のいずれかに、補正量については、進めた場合を正の値にするか負の値にするかを予め定義して全ての時刻補正ログで統一しておく。統一ができない場合には、時刻補正履歴表128に、時刻511と補正量513の意味を示すフラグをつけておく必要がある。なお、本実施形態では、補正量513が負の値の場合は計算機101の時刻511を遅らせる補正を行った場合を示し、補正量513が正の場合は計算機101の時刻511を進める補正を行った場合を示す。
補正場所512は、例えばIPアドレスのような計算機101を特定できる値や識別子である。
次に、図6(B)で示すように、時刻と時刻補正量の関係を示したグラフ502の例を使って、時刻補正履歴表128の利用方法の例を説明する。
このグラフ502では、計算機1で行われた時刻補正履歴3回分をプロットしてある。図中、横軸は時刻で、縦軸は計算機1の時刻補正量である。この例のように時刻補正量は一定とは限らず、時刻補正時の誤差などにより値が揺れることがあるため、複数回の補正量の平均値503を計算機1の時刻のズレの傾向としてログ受信部121が演算しておき、他の処理で利用する。なお、この例の時刻511が時刻補正直前の時刻で、補正量513が時刻を進めた場合に正の値とすると、厳密には、時刻補正履歴表128に記録されている時刻10:00:00.000から時刻10:01:00.000の間の時間は、時刻10:00:00.000における補正量−50msecを考慮して、1:00.050となる。図6(B)では、時刻補正履歴3回分の平均値503を求めたが、より多くの履歴を利用したり、平均値ではなく最大値を利用したりする方法であってもよい。また、このような動作設定は、先に図4および図5において述べた動作設定を行うインタフェースにより設定可能にすることも含まれる。
次に、図7は整合性ルール124と不整合履歴表130を主体にした整合性の判定処理の一例を示す説明図である。以下、図7を使って不整合履歴表の構成例と記録データについて説明する。
図7の不整合履歴表130は、時刻611と不整合履歴を記録する表である。不整合履歴には、発生場所612と不整合量613を記録する。不整合履歴表130への記録は、以下のように行う。
計算機101のログ生成部103で生成されたログには、タイムスタンプとログを生成した場所、イベント内容などのデータが記録されている。図2、図3に示したように、ログ送信部105、ログ通信路110、ネットワークスイッチ111、ログ受信部121、タイムスタンプ補正部122を経由してそれぞれの情報が整合性チェック部123に到着する。
整合性チェック部123では、予め設定された整合性ルール124に従って予め設定したログ間の整合性のチェックが行われる。不整合履歴表130には、整合性チェック部123によって整合性のチェック結果が記録される。整合性ルール124の例としては、ログ1のタイムスタンプよりもログ2のタイムスタンプの方が後である、というログのタイムスタンプの順序関係に関するルールが挙げられる。つまり、ログ1がWEBサーバの受信ログ、ログ2がDBサーバのクエリログとした場合、クライアントからのデータ要求があった時点でログ1が生成され、その後、WEBサーバがDBサーバにデータを要求する。DBサーバは要求を処理してWEBサーバに返答した後にログ2を生成する。このように計算機間のログには、時系列的な順序が存在するため、これらの時系列的な順序関係に基づいて整合性ルール124を予め設定する。図示の例では、ログ2のタイムスタンプはログ1のタイムスタンプより大きい(タイムスタンプに記録された時刻が遅い)という整合性ルール124を定義した場合を示している。
時刻とログのタイムスタンプ差の関係を示したグラフ602の例を使って、不整合履歴表130の利用方法の例を説明する。このグラフ602では、整合性チェック部123が演算したログ1とログ2のタイムスタンプの差をプロットしてある。図中横軸は時刻で、縦軸はログ2のタイムスタンプからログ1のタイムスタンプを引いた時間差である。この例のようにタイムスタンプ差は一定とは限らず、計算機101の内部の時刻のズレや時刻補正の実施などにより変化することがある。
整合性ルール124の例から、このグラフ602では、横軸(差分=0)よりも下の領域(ログ2のタイムスタンプがログ1よりも早い領域)が整合性ルール124に合わない不整合領域603となる。不整合領域603にタイムスタンプ差が入った場合には、不整合が起こらないようにするのに必要なタイムスタンプの補正量の決定を行うために不整合履歴表130を利用する。
図7では、不整合履歴2回分の記録があるが、これを最大の不整合量613を基準にタイムスタンプの補正量を決定したり、最新の不整合量613を基準にタイムスタンプの補正量を決定したりする方法がある。この動作設定は、先に図4および図5において述べた動作設定を行うインタフェースにより設定可能にすることも含まれる。
不整合履歴表130に記録される時刻611は、ログ間の不整合が発生した際の時刻であるが、複数のログが不整合に関わっている場合には、いずれのログの時刻かを判定するのに必要な情報や、あるいは全てのログの時刻を記録する。不整合量613は、どのようなケースに正の値にするか負の値にするかを予め定義して統一しておく。統一ができない場合には、不整合履歴表130に、時刻611と不整合量613の意味を示すフラグをつけておく必要がある。また、不整合量613としは、例えば、不整合となったログ1とログ2のタイムスタンプの差分が設定される。すなわち、整合性ルール124からずれたタイムスタンプの量が不整合量613となる。発生場所612は、例えばIPアドレスとログの名称のようなログの特定ができる値または識別子である。
図8を使ってタイムスタンプ補正履歴表129の構成例と記録データについて説明する。
タイムスタンプ補正履歴表129は、インデックスとタイムスタンプ補正パラメータで構成されている。インデックスは、タイムスタンプ補正パラメータに記録されたデータの適用先ログ711と、そのデータが有効となる時刻712が含まれる。タイムスタンプ補正パラメータは、時刻補正履歴表128と不整合履歴表130を利用して作られたタイムスタンプの補正に必要なデータである。時刻補正履歴表128からは、図6で説明したように、時刻補正量513の履歴から計算機101における時刻のズレの傾向が分かるので、この傾向を傾き補正量714としてタイムスタンプ補正履歴表129に登録する。不整合履歴表130からは、図7で説明したように、不整合発生時の不整合量613から不整合の発生を防ぐのに必要なタイムスタンプ補正量が分かるので、これをオフセット値713としてタイムスタンプ補正履歴表129に登録する。
次に、時刻とログのタイムスタンプの関係を示したグラフ702の例を使って、タイムスタンプ補正履歴表129の利用方法の例を説明する。
このグラフ702では、ログ1のタイムスタンプをプロットしてある。図中横軸は時刻で、縦軸はログ1のタイムスタンプである。このグラフ702で、黒丸の点703はタイムスタンプ補正前のログ1のタイムスタンプで、白丸の点704はタイムスタンプ補正後のログ1のタイムスタンプである。一点鎖線705は、タイムスタンプ補正前のタイムスタンプ列をつないだ直線で、点線708はタイムスタンプ補正後のタイムスタンプ列をつないだ直線である。図8の例で、一点鎖線705が不連続となっているのは、計算機101で時刻補正が行われた結果、タイムスタンプが巻き戻されたことを示している。白抜き矢印706は、タイムスタンプ補正履歴表129に登録されているオフセット値713によってタイムスタンプをオフセット値713だけ進めたことを示している。
また、矢印707は、タイムスタンプ補正履歴表129に登録されている傾き補正量714によって、一点鎖線705の傾きを補正したことを示している。傾き補正によるタイムスタンプの補正量は、時刻補正が行われた際にリセットされる。つまり、時刻補正が行われた時刻の傾き補正によるタイムスタンプの補正量は0で、時刻補正から単位時間だけ進んだ時点のタイムスタンプ補正量は、傾き補正量714となる。図6で説明したように、傾き補正量714は、時刻補正履歴表128に記録された1つ以上の補正量から、設定によって平均値や最大値などを計算して求めた値を利用する。また、図7で説明したように、オフセット値713も不整合履歴表130に記録された1つ以上の不整合量から計算によって求めた値を利用する。
次に、図9を参照しながら、タイムスタンプ補正履歴表129を使ってログのタイムスタンプの補正を行うタイムスタンプ補正部122の動作を説明する。
タイムスタンプ補正部122は、ログ受信部121からログを読み出し、タイムスタンプ補正履歴表検索部801で、読み込んだログ名とタイムスタンプによってタイムスタンプ補正履歴表129のインデックスを検索する(802)。ログ名でインデックスのログ711と一致するものを検索し、タイムスタンプでインデックスの時刻712を検索する。
インデックスの時刻712の検索は、タイムスタンプに記録されている時刻に最も近い時刻で、タイムスタンプに記録されている時刻よりも前の時刻を検索する。該当するエントリがタイムスタンプ補正履歴表129に見つかった場合には、該当エントリのタイムスタンプ補正パラメータを読み出す。タイムスタンプ補正パラメータは、オフセット値713と、単位時間当たりの補正量である傾き補正量714で構成される。
オフセット値713は、タイムスタンプオフセット補正部803に送られ、インデックスの時刻712と傾き補正量714はタイムスタンプ傾き補正部805に送られる。タイムスタンプ補正部122では、ログ受信部121から読み込んだログに対して、タイムスタンプ補正履歴表検索部801に続いて、タイムスタンプオフセット補正部803、タイムスタンプ傾き補正部805でタイムスタンプの補正を行った後に、整合性チェック部123にログを送る。なお、タイムスタンプオフセット補正部803とタイムスタンプ傾き補正部805の処理の順序は図9に記載の順序に限らない。
次に、整合性チェック部123でログ間の時系列の不整合が発生した場合には、タイムスタンプ再補正パス132を経由してタイムスタンプ補正部122のタイムスタンプ補正履歴表検索部801にログが再送され、再度タイムスタンプの補正を行う。
図10は、図8、図9に記載の処理によってログのタイムスタンプの補正を行う方法のフローチャートを示した図である。このフローチャートでは、タイムスタンプ補正部122のみを抜粋して示してある。
タイムスタンプの補正を行うログに対して、まず、最初にタイムスタンプ補正履歴表129から同一のログ名でタイムスタンプに記録された時刻を越えない直近のインデックス時刻712のエントリを検索する(ステップ902)。次にタイムスタンプ補正履歴表129から取得したオフセット値713をタイムスタンプに加算する(ステップ903)。次にタイムスタンプ補正履歴表129から取得したインデックス時刻712とタイムスタンプに記録された時刻の差分に傾き補正量714を掛けた値をタイムスタンプに加算する(ステップ904)。
以上により図8のグラフ702に示したのと同様のタイムスタンプ補正が行える。具体的に図8の例でタイムスタンプの補正方法を説明する。図8において、ログ1の時刻10:01:00.000のログのタイムスタンプの補正方法を例に説明する。
まず、図10で説明したステップ902に従い、図8のタイムスタンプ補正履歴表129のインデックスを検索して、10:01:00.000のログ1のエントリのタイムスタンプ補正パラメータを読み出す。その結果、オフセット値713は−60msec、傾き補正量714は−45msec/minとなる。図8に示した例では、オフセット値713は、不整合履歴表130の10:01:00.000における不整合量120msecをログ1とログ2で折半した−60msecとなっている。
傾き補正量714は、時刻補正履歴表128に記録されている、10:00:00.000とその1分後の2回分の時刻補正量513の平均値である−45msecとなる。次にステップ903により、タイムスタンプにオフセット値713を加算してタイムスタンプは10:01:39.940となる。次にステップ904の処理を行う。
補正中のタイムスタンプは、タイムスタンプ補正履歴表129から読み込んだインデックス時刻712である10:01:00.000から40sec進んでいるので、傾き補正量714である−45msec/minに40secを掛けた−30msecをタイムスタンプに加算して、10:01:39.910が補正後のタイムスタンプとなる。
次に図11から図14を使ってタイムスタンプの巻き戻りを予防する方法について説明する。
図11は、時刻とタイムスタンプの関係を示したグラフ1001である。白丸の点1006はタイムスタンプ補正部122でタイムスタンプの補正をした後のタイムスタンプで、図11では、これをタイムスタンプ再補正前のタイムスタンプとする。
図中ボックス1003はタイムスタンプの巻き戻りを予防した後のタイムスタンプで、図11ではタイムスタンプ再補正後のタイムスタンプとする。グラフ1001の破線1007は、タイムスタンプ再補正前のタイムスタンプを結んだ直線で、一部分が不連続となっている。
図11の例では、タイムスタンプが以前の時刻に巻き戻ったために直線1007が不連続となっている。このような不連続性は、例えば計算機101で時刻補正が行われた前後で発生する可能性がある。白抜き矢印1005は、タイムスタンプの巻き戻りが起こったログ1002を、巻き戻りが起こらないようにタイムスタンプを再補正したことを示している。時刻の巻き戻りが起こらないようにするには、タイムスタンプ1002よりも前の時刻のタイムスタンプの最新値1004よりも後の時刻にタイムスタンプを再補正する必要がある。
図12はタイムスタンプ巻き戻りを予防する方法を示すブロック図である。図2に示したブロック図との違いは、タイムスタンプ補正部122と整合性チェック部123の間に巻き戻り予防部1101を加え、さらに巻き戻り予防部1101が利用するタイムスタンプ補正値履歴表1102が追加されている点である。その他は、図2と同様である。
タイムスタンプ補正値履歴表1102には、図13で示すように、ログ1111とタイムスタンプ補正値履歴が記録される。タイムスタンプ補正値履歴は、最終タイムスタンプ1112と最小更新単位1113が含まれる。最終タイムスタンプ1112は、各ログの最新のタイムスタンプであり、最小更新単位1113はタイムスタンプの巻き戻りを補正する際の最小の更新幅であり、巻き戻り検出時には、タイムスタンプを最終タイムスタンプ1112に最小更新単位を1113加えた時刻に補正することで、巻き戻りの回避を可能とする。つまり、補正対象のログのタイムスタンプが、直前のログのタイムスタンプよりも後の時刻となるように補正する。
なお、最小更新単位1113を0にすることで、最終タイムスタンプ1112と同時刻にすることができる。最終タイムスタンプ1112は、巻き戻り予防部1101でタイムスタンプの補正を行った後のログのタイムスタンプを記録する。最小更新単位は、図4および図5で説明した動作設定を行うインタフェースによっても設定可能である。
図14はタイムスタンプの巻き戻りを予防する方法を示すフローチャートである。図14では巻き戻り予防部1101のみ抜粋して示してある。
タイムスタンプの巻き戻りを予防するログに対して、まず、ログ名でタイムスタンプ補正値履歴表1102を検索し、最終タイムスタンプ1112と最小更新単位1113を取得する(ステップ1202)。次に、タイムスタンプ補正部122による補正後のタイムスタンプと、取得した最終タイムスタンプ1112の比較を行う(ステップ1203)。
補正後のタイムスタンプが最終タイムスタンプ1112よりも前の時刻の場合には、タイムスタンプを最終タイムスタンプ1112に最小更新単位1113を加えた時刻に更新する(ステップ1204)。補正後のタイムスタンプが最終タイムスタンプ1112以降の時刻の場合には、ステップ1205に進む。なお、ステップ1203でタイムスタンプの比較を行う際に、補正後のタイムスタンプと最終タイムスタンプ1112が同時刻の場合に、再補正を行うステップ1204を実行するかどうかについては設定に応じて判定する。例えば、最小更新単位が0の場合には同時刻の場合に再補正を行わず、それ以外では再補正を行う設定も含まれる。最後に、再補正後のタイムスタンプでタイムスタンプ補正値履歴表1102の最終タイムスタンプ1112を更新する(ステップ1205)。
以上の処理により、時刻補正などで計算機101の時刻を補正したときに、ログのタイムスタンプが巻き戻って、直前のログのタイムスタンプよりも時系列的に前となってしまうのを防止できる。
図15と図16を使って、不整合発生時に時刻補正を行う方法を説明する。
図15は、不整合発生時に時刻補正を行う方法を示すブロック図である。図2に示したブロック図との違いは、整合性チェック部123の後に時刻補正命令発行部1301を加え、計算機101の時刻補正部102に命令受信部1303を設け、時刻補正命令発行部1301と時刻補正命令通信路1302とネットワークスイッチ111を経由して時刻補正命令の通信が行われる点である。その他の構成は図2と同様である。
時刻補正命令発行部1301は、整合性チェック部123のチェック結果に応じて1つもしくは複数の計算機101に対して時刻補正を実行させる時刻補正命令を発行する機能をもつ。計算機101の時刻補正部102にある命令受信部1303は、時刻補正命令発行部1301が発行した時刻補正命令を受信して、時刻補正部102で時刻補正を実行する機能をもつ。時刻補正命令には、ログのタイムスタンプの不整合量に応じた時刻補正量のヒント情報を付加することも可能である。
図16は、不整合発生時に時刻補正を行う方法を示すフローチャートである。図16のフローチャートでは、時刻補正命令に関わる部分のみ抜粋して示してある。
図16でステップ206、208、209、210、212は図3で説明した処理を行う。図3で説明した方法では、ステップ212でログ間の整合性チェック結果が不整合となった場合にステップ206に戻ってタイムスタンプの補正をやり直していたが、図16に示す方法では、タイムスタンプの補正をやり直す前に時刻補正命令の発行を行う。
まず、時刻補正命令発行部1301で、ログの不整合が発見されたログを出力した計算機101に対して、時刻補正を実行させる命令を生成し、時刻補正命令通信路1302に送信する(ステップ1402)。時刻補正部102は、命令受信部1303で受信した時刻補正命令により、時刻補正を実行する(ステップ1403)。その後ステップ206に戻ってタイムスタンプの補正をやり直す。なお、ステップ1402、1403と並行してステップ206を実行することも可能である。
以上の説明において、計算機101やログ解析部120は別の機能ブロックとして記述、説明してきたが、全て、もしくは一部分が同一の物理計算機上で動作する仮想計算機で実行されている場合も本発明に含まれる。仮想計算機の実現例としては図19で示すように、物理計算機9100で稼動するホストOS9300上で複数のゲストOS9200が同時に動作し、個々のゲストOS9200が仮想計算機9101に相当する場合、ホストOS9300とゲストOS9200の時刻に関連性が存在する可能性がある。そのため、図2や図15に示したように時刻補正部102が、各計算機101毎に存在するだけでなく、複数の仮想計算機9101にまたがって影響を与える時刻補正部9400も含まれる。
また、上記実施形態では、ログ解析部120がログを生成する計算機101(計算機1〜N)と独立した構成を示したが、ログ解析部120を計算機101に含めても良い。
また、ログ解析部120には、ログ受信部121、タイムスタンプ補正部122、整合性チェック部123、整合性ルール124、ログ保存部125、ログ解析部126及び解析結果出力部127を含めたが、ログ保存部125、ログ解析部126及び解析結果出力部127を他の計算機で実行するようにしても良い。
以上のように、複数の計算機101からそれぞれ出力される複数のログに対して、時刻補正ログと、処理に関連するログとを収集し、予め設定したログ間の整合性ルールによって、各ログに記録されているタイムスタンプを補正することで、複数のログ間の順序関係の精度を向上させ、計算機101やクラスタシステムで行われる処理の進捗状況やシステムの稼動状況を正しく把握することが可能となる。特に、計算機101で時刻補正を行った際のタイムスタンプに生じる不連続性や、複数のログ間で漸増・漸減するタイムスタンプのズレによって、ログに基づく統計指標に現れる幻像を予防することが可能となる。
なお、上記では複数の計算機101をクラスタ構成とした例を示したが、上記に限定されるものではなく、計算機101で実行される処理や操作をログに基づいて解析する場合に適用することができる。特に、計算機101の時刻を基準時刻に合わせる習慣のないユーザについて、ログに基づく処理や操作の解析を行う場合には、本発明によりログ間の整合性を正確に解析することが可能となる。
<第2実施形態>
本発明の第2の実施形態によるログ解析装置を図17、図18を使って説明する。
図17は、第2実施形態を示す計算機システムのブロック図である。図17の計算機システムは、1つ以上の計算機1501と、ログ解析装置1502、管理コンソール1503、ネットワーク1504で構成される。
図17では、ログ解析装置1502と管理コンソール1503は計算機1501と別々の装置としてネットワーク1504に接続しているが、計算機1501上にこれらの装置が存在してもよく、ログ解析装置1502と管理コンソール1503を接続するネットワークが、計算機1501とログ解析装置1502を接続するネットワークと独立していてもよい。計算機1501では、ログが生成され、ログ解析装置1502は計算機1501が生成したログを収集して解析する。また、このシステムに含まれる装置の全てもしくは一部は、自らの時刻補正を行う機能をもち、時刻を基準時刻に合わせている。また時刻補正時に、時刻補正ログを出力する機能ももつ。基準時刻はシステムに含まれるいずれかの装置、もしくは外部の装置の時刻であり、ネットワーク1504を経由して時刻の補正を行う。
図17では、各装置は別々のハードウェアで構成されているが、これらの装置の全て、もしくは一部分が同一のハードウェア上で動作していてもよい。さらに、それぞれの装置が仮想計算機上で動作していてもよい。管理コンソール1503は、計算機1501やログ解析装置1502の動作設定を行う装置で、先に説明した時刻補正機能の動作時刻や、基準時刻の設定、ログ解析装置1502で解析するログのファイルや時刻補正ログのファイル、ログのタイムスタンプの補正方法の設定などを行う機能をもつ。
図18を使って、ログ解析装置とログ解析対象システムの動作を説明する。
このシステムは、ログ解析対象システム1601と、ログ解析装置1630、それらの間を接続するネットワーク1620で構成されている。ログ解析対象システム1601は、1つ以上の計算機1602が含まれ、各計算機1602は、ハードウェア(HW)1610と、ハードウェア上で動作するオペレーティングシステム(OS)1608、オペレーティングシステム上で動作するアプリケーション(AP)1603、時刻補正部1604、ログ送信部1605で構成される。図18では、アプリケーション1603は1つだけであるが、複数のアプリケーションが動作していてもよく、ログ送信部1605もアプリケーション毎に複数動作してもよい。また、計算機1602は仮想計算機でもよく、ホストOS上のゲストOSでアプリケーション1603や時刻補正部1604、ログ送信部1605が動作していてもよい。
図18に示すように、計算機1602内の各部はログの出力を行う。ハードウェア1610は、メモリの空き容量やCPUの使用率などのモニタ値や、ハードウェアエラーなどのイベント情報を記録したハードウェアログ1611を出力する。オペレーティングシステム1608は、プロセス数や割り込み回数などのモニタ値や、例外の発生やプロセスの異常終了などのイベント情報を記録したシステムログ1609を出力する。アプリケーション1603は、アプリケーションの実行状況などを記録したアプリケーションログ1606を出力する。時刻補正部1604は時刻補正を行った際に、時刻補正量を記録した時刻補正ログ1607を出力する。ログ送信部1605は、これらのログを収集し、ネットワーク1620を経由してログ解析装置1630にログを送信する機能をもつ。
ログ送信部1605から送信されるログには、ログに記録された情報の生成もしくは記録時刻を示すタイムスタンプが付けられており、さらにどの場所(計算機)で生成もしくは記録されたかを特定できる情報も付いている。場所の情報の記録方法としては、例えば、計算機1602のIPアドレスや、ログ毎に固有なログ名、計算機1602毎に固有なホスト名などがある。ログ送信部1605がログを収集するタイミングや収集対象とするログのファイル名などの収集方法に関する設定や、送信間隔などの送信方法関する設定については、管理コンソールから設定可能である。
ログ解析装置1630は、ハードウェア1654上で動作するオペレーティングシステム1653と、オペレーティングシステム1653上で動作する各種のプログラムで構成される。各種のプログラムとしては、図18に記載のタイムスタンプ補正プログラム1631、ログ保存プログラム1650、ログ解析プログラム1651、解析結果出力プログラム1652の他に、アプリケーションや時刻補正部などがあってもよい。また、ログ保存プログラム1650、ログ解析プログラム1651、解析結果出力プログラム1652は、一部が無い構成でもよく、またその中の複数がまとまって1つのプログラムになっていても、タイムスタンプ補正プログラム1631の一部として含まれていてもよい。
タイムスタンプ補正プログラムは、複数のプログラムモジュールで構成される。
まず、ログ送信部1605からネットワーク1620を経由してログ解析装置1630に送信された各種ログは、ログバッファ1632に格納される。図18では時刻補正ログについて、ネットワーク1620から直接時刻補正履歴表1636に送られることになっているが、いったんログバッファ1632に記録されてから、時刻補正履歴表1636に記録される方法でもよい。なお、時刻補正履歴表1636は、前記第1実施形態の時刻補正履歴表128と同様の構成である。
タイムスタンプ補正プログラムモジュール1633は、ログバッファ1632から各種ログ(ハードウェアログ、システムログ、アプリケーションログ)を読み込み、ログのタイムスタンプの補正を行う機能をもつプログラムモジュールである。ログのタイムスタンプの補正は、タイムスタンプ補正履歴表1637に記録されているタイムスタンプ補正量データ1643を利用して前記第1実施形態と同様に行う。このため、タイムスタンプ補正履歴表1637は、前記第1実施形態のタイムスタンプ補正履歴表129と同様に構成される。
タイムスタンプを補正したログは、整合性チェックプログラムモジュール1634に読み込まれ、整合性ルールデータベース1635に登録されているルールに従って整合性をチェックされる。整合性ルールデータベース1635は、前記第1実施形態の整合性ルール124と同様に、ログ間の時系列的な関係を含んで構成される。
整合性チェックプログラムモジュール1634は、ログ間の整合性チェック結果1641を不整合履歴表1639に登録する他に、ログ間の不整合時にはタイムスタンプ補正プログラムモジュール1633にログを返送してタイムスタンプの補正のやり直しを実行させたり、整合性に問題が無い場合には、ログをログ保存プログラム1650やログ解析プログラム1651、解析結果出力プログラム1652に送ったりする。なお、不整合履歴表1639は、前記第1実施形態の不整合履歴表130と同様に構成される。
時刻補正履歴表1636には、図6で説明した方法と同様の方法で時刻補正ログから時刻補正履歴が記録される。不整合履歴表1639は、図7で説明した方法と同様の方法で整合性チェック結果1641から不整合履歴が記録される。タイムスタンプ補正履歴表更新プログラムモジュール1638は、時刻補正履歴表1636から時刻補正履歴データ1640を読み出し、不整合履歴表1639から不整合履歴データ1642を読み出して、前記第1実施形態の図8から図10で説明した方法と同様の方法でタイムスタンプ補正履歴表1637の更新を行う。
タイムスタンプ補正履歴表1637を使ったタイムスタンプの補正の方法は、前記第1実施形態の図8から図10で説明した方法と同様の方法で行う。この際にタイムスタンプ補正履歴表1637からタイムスタンプ補正プログラムモジュールには、タイムスタンプ補正量データ1643が送られる。タイムスタンプ補正量データ1643は、図8、図9に示したインデックス時刻712、オフセット値713、傾き補正量714に相当するデータを含む。タイムスタンプ補正プログラムモジュール1633の動作は、図10に示したフローチャートと同様の動作である。
以上によりタイムスタンプ補正プログラム1631は、ログ解析対象システム1601で生成されて出力、送信されたログのタイムスタンプを整合性のあるタイムスタンプに補正することができる。ログ解析装置1630では、補正されたタイムスタンプが記録されたログを、ログ保存プログラム1650で保存し、ログ解析プログラム1651で所定の解析を行い、解析結果出力プログラム1652で解析結果の出力を行うことができる。
図18には示していないが、前記第1実施形態の図12、図13で説明した方法と同様の方法で、タイムスタンプの巻き戻りを予防することができる。具体的には、図18でタイムスタンプ補正プログラムモジュール1633と整合性チェックプログラムモジュール1634の間に、図12に示した巻き戻り予防部1101と同様の機能をもつ巻き戻り予防プログラムモジュールを挿入して、タイムスタンプ補正プログラムモジュール1633でタイムスタンプを補正されたログのタイムスタンプの巻き戻り予防を行う。
その際に、図12に示したタイムスタンプ補正値履歴表1102と同様の表を巻き戻り予防プログラムモジュールに接続して、補正後のタイムスタンプがそれ以前の最終タイムスタンプの時刻に比べて前の時刻になっていないかを確認し、図13に示したフローチャートと同様の動作でタイムスタンプの巻き戻りを予防する。
さらに、上記図15、図16で説明した方法と同様の方法で、不整合発生時に計算機1602の時刻補正を実行させることができる。具体的には、図18で整合性チェックプログラムモジュール1634の結果を受ける部分に、図15に示した時刻補正命令発行部1301と同様の機能をもつ時刻補正命令発行プログラムモジュールを挿入して、整合性チェックプログラムモジュール1634で不整合が発生した際に、時刻補正命令発行プログラムモジュールで計算機1602に対して時刻補正を実行させる時刻補正命令の生成を行う。
さらに図18には示していないが、時刻補正部1604に図15に示した命令受信部1303と同様の機能をもつ命令受信プログラムモジュールを挿入し、ネットワーク1620を経由して、時刻補正命令発行プログラムモジュールから時刻補正命令を受信できるようにすることで、ログの不整合発生時に計算機1602で時刻補正を行うことが可能となる。時刻補正命令の生成、発行、実行の動作については、図16に示したフローチャートと同様の動作を行えばよい。
以上のように、第2実施形態も前記第1実施形態と同様に、ログ解析対象システム1601で行われる処理の進捗状況やシステムの稼動状況を正しく把握することが可能となる。特に、計算機1602で時刻補正を行った際のタイムスタンプに生じる不連続性や、複数のログ間で漸増・漸減するタイムスタンプのズレによって、ログに基づく統計指標に現れる幻像を予防することが可能となる。
以上のように、複数の計算機から出力される複数のログを利用した、クラスタシステムなどで行われる処理の進捗状況把握や、システムの稼動状況把握の精度向上が図れるので、システム運用管理ツールなどの基盤技術として利用可能である。
第1の実施形態を示し、本発明を適用する計算機システムのブロック図。 同じく、第1の実施形態を示し、計算機システムの機能要素の構成を示すブロック図。 同じく、第1の実施形態を示し、計算機システムで実行される処理の流れを示すフローチャート。 同じく、第1の実施形態を示し、管理コンソールからの動作設定方法を示すブロック図である。 同じく、第1の実施形態を示し、動作設定を行うインタフェースの設定画面の説明図である。 同じく、第1の実施形態を示し、(A)は時刻補正履歴表の一例を示す説明図で、(B)は時刻の補正履歴に基づく計算機の時刻補正量の算出方法の一例を示すグラフである。 同じく、第1の実施形態を示し、不整合履歴表の構成例と整合性ルールの例および整合性チェックの例を示す説明図である。 同じく、第1の実施形態を示し、タイムスタンプ補正履歴表の構成例とタイムスタンプ補正方法を示すグラフである。 同じく、第1の実施形態を示し、タイムスタンプ補正方処理を示すブロック図である。 同じく、第1の実施形態を示し、タイムスタンプ補正処理を示すフローチャートである。 同じく、第1の実施形態を示し、タイムスタンプの巻き戻りを予防する方法を示すグラフである。 同じく、第1の実施形態を示し、タイムスタンプ巻き戻りを予防するための計算機システムの他の構成を示すブロック図である。 同じく、第1の実施形態を示し、タイムスタンプ補正値履歴表の一例を示す説明図である。 同じく、第1の実施形態を示し、タイムスタンプの巻き戻りを予防する処理の一例を示すフローチャートである。 同じく、第1の実施形態を示し、ログの不整合発生時に時刻補正を行うための計算機システムの他の構成を示すブロック図である。 同じく、第1の実施形態を示し、ログの不整合発生時に時刻補正を行う処理の一例を示すフローチャートである。 第2の実施形態を示し、ログ解析装置と管理コンソールと計算機の構成を示すブロック図。 同じく、第2の実施形態を示し、ログ解析装置の他の形態を示すブロック図。 第1の実施形態を示し、計算機システムの他の形態を示すブロック図で、仮想計算機を用いた例を示す。
符号の説明
101 計算機
102 時刻補正部
103 ログ生成部
104 時刻補正ログ生成部
105 ログ送信部
110 ログ通信路
111 ネットワークスイッチ
120 ログ解析部
121 ログ受信部
122 タイムスタンプ補正部
123 整合性チェック部
124 整合性ルール
125 ログ保存部
126 ログ解析部
127 解析結果出力部
128 時刻補正履歴表
129 タイムスタンプ補正履歴表
130 不整合履歴表
131 タイムスタンプ補正表更新部
132 タイムスタンプ再補正パス
301 管理コンソール

Claims (14)

  1. 複数の計算機からタイムスタンプを含むログをプロセッサによって実行されるログ解析部が受信し、前記ログ解析部を実行するプロセッサが前記タイムスタンプを補正して前記ログの解析を行うログ解析方法において、
    前記計算機が、時刻を補正したときに時刻の補正量とタイムスタンプを含む第1のログを生成する手順と、
    前記計算機が、処理または操作に関連するログにタイムスタンプを含めて第2のログとして生成する手順と、
    前記計算機が、前記第1のログと第2のログを送信する手順と、
    前記ログ解析部が、前記第1のログと第2のログを受信する手順と、
    前記ログ解析部が、前記第1のログを時刻補正履歴格納部へ格納する手順と、
    前記ログ解析部が、前記第1のログに基づいて第1の時刻補正量を演算する手順と、
    前記ログ解析部が、前記第1の時刻補正量と第2の時刻補正量に基づいて、前記第2のログのタイムスタンプを補正する手順と、
    前記ログ解析部が、前記タイムスタンプを補正した複数の第2のログについて、第2のログ間の時系列的な順序関係が予め設定した整合性ルールを満たすか否かを判定する手順と、
    前記第2のログ間の時系列的な順序関係が前記整合性ルールを満たさない場合には、前記ログ解析部が、これら第2のログのタイムスタンプの差分から第2の時刻補正量を求める手順と、
    前記整合性ルールを満たさない前記第2のログのタイムスタンプを、前記第1の時刻補正量と第2の時刻補正量に基づいて再度補正する手順と、
    前記タイムスタンプを再度補正した第2のログについて再度前記整合性ルールを満たすか否かを判定する手順と、
    前記整合性ルールを満たした第2のログを保存する手順と、
    前記保存した第2のログを解析する手順と、
    を含むことを特徴とするログ解析方法。
  2. 前記第1の時刻補正量を演算する手順は、
    前記受信した第1のログを生成した計算機の識別子ごとに前記時刻補正履歴格納部に格納した複数の第1のログに基づいて第1の時刻補正量を演算することを特徴とする請求項1に記載のログ解析方法。
  3. 前記第2の時刻補正量を求める手順は、
    前記整合性ルールを満たさない前記第2のログのタイムスタンプが前記整合性ルールからずれた量を不整合量として求める手順と、
    前記2のログが前記整合性ルールを満たさないと判定された時刻と、前記第2のログの名称と、前記不整合量とを不整合履歴格納部に格納する手順と、
    前記格納された少なくともひとつの不整合量から、前記整合性ルールを満たさないと判定された第2のログのタイムスタンプが不整合を解消する値を第2の時刻補正量として演算する手順と、
    を含むことを特徴とする請求項1に記載のログ解析方法。
  4. 前記第1の時刻補正量を演算する手順は、
    前記受信した第1のログを生成した計算機の識別子ごとに、前記蓄積した複数の第1のログに基づいて第1の時刻補正量を演算する手順と、
    前記第1のログのタイムスタンプが示す時刻と前記第1の時刻補正量を第1の補正量の履歴としてタイムスタンプ補正履歴に格納する手順と、を含み、
    前記第2の時刻補正量を求める手順は、
    前記整合性ルールを満たさない前記第2のログのタイムスタンプが前記整合性ルールからずれた量を不整合量として求める手順と、
    前記不整合量に基づいて、前記整合性ルールを満たさないと判定された第2のログのタイムスタンプが不整合を解消する値を第2の時刻補正量として演算する手順と、
    前記2のログが前記整合性ルールを満たさないと判定された時刻と、前記第2のログの名称と、前記第2の時刻補正量とを前記タイムスタンプ補正履歴に格納する手順と、を含み、
    前記第2のログのタイムスタンプを補正する手順は、
    前記第2のログのタイムスタンプが示す時刻を越えない範囲で前記タイムスタンプ補正履歴の時刻を検索し、前記第1の時刻補正量と第2の時刻補正量を取得する手順と、
    前記取得した第1の時刻補正量と第2の時刻補正量に基づいて当該第2のログのタイムスタンプを、直前の第2ログのタイムスタンプよりも後の時刻となるように補正する手順と、
    を含むことを特徴とする請求項1に記載のログ解析方法。
  5. 前記複数の計算機の第1のログのうち、第1の時刻補正量を演算するための第1のログを設定する手順と、
    前記複数の計算機の第2のログのうち、タイムスタンプの補正を行う第2のログを設定する手順と、
    前記整合性ルールを設定する手順と、
    をさらに含むことを特徴とする請求項1に記載のログ解析方法。
  6. 前記第2のログ間の時系列的な順序関係が予め設定した整合性ルールを満たさないときには、前記第2のログを生成した計算機に対して、時刻を基準時刻へ補正する指令を送信することを特徴とする請求項1に記載のログ解析方法。
  7. 前記複数の計算機は、それぞれ仮想計算機で構成されたことを特徴とする請求項1に記載のログ解析方法。
  8. タイムスタンプを含むログを生成し、送信する複数の計算機と、
    メモリ及びプロセッサを備えて前記複数の計算機からログを受信し、前記ログのタイムスタンプを補正して前記ログの解析を行うログ解析装置において、
    前記計算機から時刻を補正したときに時刻の補正量とタイムスタンプを含む第1のログと、処理または操作に関連するログにタイムスタンプを含む第2のログとを受信するログ受信部と、
    前記第1のログに基づいて第1の時刻補正量を演算し、前記第1のログのタイムスタンプの時刻と当該第1の時刻補正量とをタイムスタンプ補正履歴格納部へ格納する第1時刻補正量設定部と、
    前記複数の計算機からの複数の第2のログ間の時系列的な順序関係を予め設定した整合性ルールとして格納する整合性ルール格納部と、
    前記第2のログ間の時系列的な順序関係が前記整合性ルールを満たさない場合には、これら第2のログのタイムスタンプの差分から第2の時刻補正量を演算し、前記第2のログのタイムスタンプの時刻と当該第2の時刻補正量とをタイムスタンプ補正履歴格納部へ格納する第2時刻補正量設定部と、
    前記タイムスタンプ補正履歴格納部に格納された前記第1の時刻補正量と第2の時刻補正量に基づいて、前記第2のログのタイムスタンプを補正するタイムスタンプ補正部と、
    前記タイムスタンプを補正した複数の第2のログの時系列的な順序関係が前記整合性ルールを満たすか否かを判定する整合性チェック部と、
    前記整合性ルールを満たした第2のログを保存するログ保存部と、
    前記保存した第2のログを解析するログ解析部と、を備え、
    前記第2時刻補正量設定部は、
    前記整合性チェック部の判定結果に基づいて前記第2の時刻補正量を演算し、
    前記整合性チェック部は、
    前記整合性ルールを満たさない第2のログを再度タイムスタンプ補正部へ送信することを特徴とするログ解析装置。
  9. 第1時刻補正量設定部は、
    前記受信した第1のログを生成した計算機の識別子ごとに時刻補正履歴格納部へ格納し、当該時刻補正履歴格納部に格納された複数の第1のログに基づいて第1の時刻補正量を演算することを特徴とする請求項8に記載のログ解析装置。
  10. 前記第2時刻補正量設定部は、
    前記整合性ルールを満たさない前記第2のログのタイムスタンプが前記整合性ルールからずれた量を不整合量として求め、前記2のログが前記整合性ルールを満たさないと判定された時刻と、前記第2のログの名称と、前記不整合量とを不整合履歴格納部へ格納し、前記不整合履歴格納部に格納された少なくともひとつの不整合量から、前記整合性ルールを満たさないと判定された第2のログのタイムスタンプが不整合を解消する値を第2の時刻補正量として演算することを特徴とする請求項8に記載のログ解析装置。
  11. 第1時刻補正量設定部は、
    前記受信した第1のログを生成した計算機の識別子ごとに時刻補正履歴格納部へ格納し、前記格納した複数の第1のログに基づいて第1の時刻補正量を演算し、前記第1のログのタイムスタンプが示す時刻と前記第1の時刻補正量を第1の補正量の履歴としてタイムスタンプ補正履歴に格納し、
    前記第2時刻補正量設定部は、
    前記整合性ルールを満たさない前記第2のログのタイムスタンプが前記整合性ルールからずれた量を不整合量として求め、前記不整合量に基づいて、前記整合性ルールを満たさないと判定された第2のログのタイムスタンプが不整合を解消する値を第2の時刻補正量として演算し、前記2のログが前記整合性ルールを満たさないと判定された時刻と、前記第2のログの名称と、前記第2の時刻補正量とを前記タイムスタンプ補正履歴に格納し、
    前記タイムスタンプ補正部は、
    前記第2のログのタイムスタンプが示す時刻を越えない範囲で前記タイムスタンプ補正履歴の時刻を検索して、前記第1の時刻補正量と第2の時刻補正量を取得し、
    前記取得した第1の時刻補正量と第2の時刻補正量に基づいて当該第2のログのタイムスタンプを、直前の第2ログのタイムスタンプよりも後の時刻となるように補正する補正することを特徴とする請求項8に記載のログ解析装置。
  12. 前記複数の計算機の第1のログのうち、第1の時刻補正量を演算するための第1のログを設定する第1のインターフェースと、
    前記複数の計算機の第2のログのうち、タイムスタンプの補正を行う第2のログを設定する第2のインターフェースと、
    前記整合性ルールを設定する第3のインターフェースと、
    をさらに有することを特徴とする請求項8に記載のログ解析装置。
  13. 前記第2のログ間の時系列的な順序関係が予め設定した整合性ルールを満たさないときには、前記第2のログを生成した計算機に対して、時刻を基準時刻へ補正する指令を送信する時刻補正指令部をさらに備えたことを特徴とする請求項8に記載のログ解析装置。
  14. 前記複数の計算機は、それぞれ仮想計算機で構成されたことを特徴とする請求項8に記載のログ解析装置。
JP2007108447A 2007-04-17 2007-04-17 ログ解析方法及び装置 Expired - Fee Related JP4804408B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007108447A JP4804408B2 (ja) 2007-04-17 2007-04-17 ログ解析方法及び装置
US12/081,483 US7809681B2 (en) 2007-04-17 2008-04-16 Method for analyzing data and data analysis apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007108447A JP4804408B2 (ja) 2007-04-17 2007-04-17 ログ解析方法及び装置

Publications (2)

Publication Number Publication Date
JP2008269084A JP2008269084A (ja) 2008-11-06
JP4804408B2 true JP4804408B2 (ja) 2011-11-02

Family

ID=39873301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007108447A Expired - Fee Related JP4804408B2 (ja) 2007-04-17 2007-04-17 ログ解析方法及び装置

Country Status (2)

Country Link
US (1) US7809681B2 (ja)
JP (1) JP4804408B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9853986B2 (en) 2007-12-28 2017-12-26 Entit Software Llc Clustering event data by multiple time dimensions
US8311989B1 (en) * 2008-12-29 2012-11-13 Teradata Us, Inc. Query logging in a multi-database system
JP4807419B2 (ja) * 2009-02-19 2011-11-02 横河電機株式会社 無線通信ログ収集システム及び無線装置
US8112667B2 (en) * 2010-01-25 2012-02-07 International Business Machines Corporation Automated system problem diagnosing
US20120054675A1 (en) * 2010-08-26 2012-03-01 Unisys Corporation Graphical user interface system for a log analyzer
WO2013057790A1 (ja) * 2011-10-18 2013-04-25 富士通株式会社 情報処理装置、時刻補正値決定方法、およびプログラム
JP5842930B2 (ja) 2011-12-21 2016-01-13 富士通株式会社 情報処理装置、情報処理方法、およびプログラム
JP2014081811A (ja) * 2012-10-17 2014-05-08 Hitachi Solutions Ltd ログ管理システム、および、ログ管理方法
JP6495166B2 (ja) * 2013-05-31 2019-04-03 株式会社エムティーアイ 測位システム、測位方法、および測位プログラム
WO2014207612A1 (en) * 2013-06-28 2014-12-31 Koninklijke Philips N.V. Data logging device
JP6197443B2 (ja) * 2013-07-26 2017-09-20 日本電気株式会社 情報管理装置、情報管理方法及び情報管理プログラム
JP6252309B2 (ja) * 2014-03-31 2017-12-27 富士通株式会社 監視漏れ特定処理プログラム,監視漏れ特定処理方法及び監視漏れ特定処理装置
US9910883B2 (en) 2014-04-07 2018-03-06 International Business Machines Corporation Enhanced batch updates on records and related records system and method
US10204134B2 (en) 2014-08-14 2019-02-12 International Business Machines Corporation Automatic detection of problems in a large-scale multi-record update system and method
CN107431845B (zh) 2015-03-31 2021-03-26 松下电器(美国)知识产权公司 发送方法、接收方法、发送装置以及接收装置
CN113038188B (zh) 2015-03-31 2023-06-06 松下电器(美国)知识产权公司 发送方法、接收方法、发送装置以及接收装置
CN106157129B (zh) * 2015-04-17 2020-02-07 阿里巴巴集团控股有限公司 一种实现分布式系统跨时域一致性方法及装置
WO2017124024A1 (en) * 2016-01-14 2017-07-20 Sumo Logic Single click delta analysis
US10929375B2 (en) * 2016-02-22 2021-02-23 Hubbell Incorporated Auto-adjusting data log record timestamps
JP6487386B2 (ja) * 2016-07-22 2019-03-20 ファナック株式会社 時刻精度を維持するためのサーバ、方法、プログラム、記録媒体、及びシステム
DE102017120032A1 (de) 2017-08-31 2019-02-28 Vega Grieshaber Kg Verfahren zur zeitsynchronisierten Verarbeitung von Daten eines Feldgerätes der Prozessautomatisierung
JP6951172B2 (ja) * 2017-09-20 2021-10-20 株式会社東芝 無線通信システム、通信装置及びデータ統合方法
JP7070382B2 (ja) * 2018-12-06 2022-05-18 株式会社デンソー タイムスタンプ補正装置、データ再生装置、及びデータ記録装置
CN110916699B (zh) * 2019-11-18 2023-05-02 东软医疗系统股份有限公司 空气校正方法、装置及电子设备
US11061813B2 (en) * 2019-11-20 2021-07-13 Atlassian Pty Ltd. Systems and methods for checking consistency of refactored methods
KR102174079B1 (ko) * 2020-04-01 2020-11-05 큐비트시큐리티 주식회사 로그 매칭을 이용한 보안 시스템 및 방법
JP7617874B2 (ja) 2022-06-30 2025-01-20 三菱重工業株式会社 ハブシステム及び通信制御方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852095A (en) * 1988-01-27 1989-07-25 International Business Machines Corporation Error detection circuit
US5471631A (en) * 1992-10-19 1995-11-28 International Business Machines Corporation Using time stamps to correlate data processing event times in connected data processing units
US5729397A (en) * 1992-12-31 1998-03-17 International Business Machines Corporation System and method for recording direct access storage device operating statistics
US5682551A (en) * 1993-03-02 1997-10-28 Digital Equipment Corporation System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
US5729742A (en) * 1995-02-27 1998-03-17 International Business Machines Corporation System and method for enabling multiple computer systems to share a single sequential log
JPH0926922A (ja) * 1995-07-10 1997-01-28 Toshiba Corp ステーションシステム
DE19532617C2 (de) * 1995-09-04 1998-01-22 Nisl Klaus Dipl Ing Verfahren und Vorrichtung zur Versiegelung von Computerdaten
SE507227C2 (sv) * 1996-09-16 1998-04-27 Ericsson Telefon Ab L M Metod och anordning för synkronisering av tidsstämpling
US6042477A (en) * 1996-12-12 2000-03-28 Addink; Dale H. Method of and system for minimizing the effects of time latency in multiplayer electronic games played on interconnected computers
US5896524A (en) * 1997-02-06 1999-04-20 Digital Equipment Corporation Off-line clock synchronization for multiprocessor event traces
JP3778652B2 (ja) * 1997-04-18 2006-05-24 株式会社日立製作所 ログデータ収集管理方法及びその装置
JP3615357B2 (ja) 1997-07-01 2005-02-02 日本電信電話株式会社 時計同期方法および装置および記録媒体
US6728880B1 (en) * 1999-09-17 2004-04-27 Adobe Systems Incorporated Secure time on computers with insecure clocks
US6295023B1 (en) * 2000-01-21 2001-09-25 Ericsson Inc. Methods, mobile stations and systems for acquiring global positioning system timing information
US7970411B2 (en) * 2000-05-18 2011-06-28 Sirf Technology, Inc. Aided location communication system
US6718476B1 (en) * 2000-11-27 2004-04-06 Sony Corporation Method of synchronizing each local clock to a master clock in a data bus system
US20020069299A1 (en) * 2000-12-01 2002-06-06 Rosener Douglas K. Method for synchronizing clocks
JP2002258942A (ja) * 2001-03-01 2002-09-13 Mitsubishi Electric Corp 監視データ収集記録装置
GB0117883D0 (en) * 2001-07-21 2001-09-12 Koninkl Philips Electronics Nv Method and apparatus for estimating gps time
US6930620B2 (en) * 2002-01-15 2005-08-16 Microsoft Corporation Methods and systems for synchronizing data streams
US7072912B1 (en) * 2002-11-12 2006-07-04 Microsoft Corporation Identifying a common point in time across multiple logs
US6768452B2 (en) * 2002-12-19 2004-07-27 Texas Instrucments Incorporated System and method for providing time to a satellite positioning system (SPS) receiver from a networked time server
US6903683B1 (en) * 2003-11-19 2005-06-07 Nortel Networks Limited Method for delivering assistance data in an unsynchronized wireless network
JP4347082B2 (ja) * 2004-02-23 2009-10-21 日本電気株式会社 イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム
US7587398B1 (en) * 2004-06-30 2009-09-08 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
JP2006236251A (ja) 2005-02-28 2006-09-07 Fujitsu Ltd タイムスタンプ装置、時刻校正方法および時刻校正プログラム
JP4473766B2 (ja) * 2005-04-04 2010-06-02 株式会社日立製作所 計算機システム、ログ収集方法、及びコンピュータプログラム
US7328384B1 (en) * 2005-09-29 2008-02-05 Xilinx, Inc. Method and apparatus using device defects as an identifier
US7653633B2 (en) * 2005-11-12 2010-01-26 Logrhythm, Inc. Log collection, structuring and processing
US7644308B2 (en) * 2006-03-06 2010-01-05 Hewlett-Packard Development Company, L.P. Hierarchical timestamps

Also Published As

Publication number Publication date
US20080263105A1 (en) 2008-10-23
US7809681B2 (en) 2010-10-05
JP2008269084A (ja) 2008-11-06

Similar Documents

Publication Publication Date Title
JP4804408B2 (ja) ログ解析方法及び装置
US20190370147A1 (en) Monitoring mobile application performance
US11659056B2 (en) Method and system for tracing end-to-end transaction, including browser side processing and capturing of end user performance experience
US10911517B2 (en) Determining end times for single page applications
US9811362B2 (en) Method and system for transaction controlled sampling of distributed heterogeneous transactions without source code modifications
KR101547721B1 (ko) 검출 이벤트에 따른 액션 실행을 지원하는 시스템, 검출 이벤트에 다른 액션 실행을 지원하는 방법, 지원 장치 및 컴퓨터 프로그램
US7594146B2 (en) Apparatus, method, and program for correcting time of event trace data
US9170916B2 (en) Power profiling and auditing consumption systems and methods
CN107924360B (zh) 计算系统中的诊断框架
US20150067147A1 (en) Group server performance correction via actions to server subset
US20120143947A1 (en) Method, apparatus, and program for usability analysis of web applications
CN110990438A (zh) 数据处理方法、装置、电子设备和存储介质
US20160006640A1 (en) Management computer, allocation management method, and non-transitory computer readable storage medium
US20180095819A1 (en) Incident analysis program, incident analysis method, information processing device, service identification program, service identification method, and service identification device
US7430493B2 (en) Method, system and program for correcting time of event trace data
US11250100B2 (en) Cause-based event correlation to virtual page transitions in single page applications
US8667320B2 (en) Deriving accurate media position information
EP4211832B1 (en) Detecting a network-induced contribution to a quality of experience degradation
CN109286461B (zh) 用于匹配在检测传感器数据时的时间戳的方法
US20230259156A1 (en) Estimation of Event Generation Times to Synchronize Recordation Data
US20200379832A1 (en) Information processing apparatus and log control method
US20250045340A1 (en) Instrumentation of soft navigation elements of web page applications
WO2023154059A1 (en) Estimation of event generation times to synchronize recordation data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110623

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees