JP2021144431A - ログ分析装置、ログ分析方法、及びシステム - Google Patents

ログ分析装置、ログ分析方法、及びシステム Download PDF

Info

Publication number
JP2021144431A
JP2021144431A JP2020042210A JP2020042210A JP2021144431A JP 2021144431 A JP2021144431 A JP 2021144431A JP 2020042210 A JP2020042210 A JP 2020042210A JP 2020042210 A JP2020042210 A JP 2020042210A JP 2021144431 A JP2021144431 A JP 2021144431A
Authority
JP
Japan
Prior art keywords
log
agent
analysis
server
collection
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
JP2020042210A
Other languages
English (en)
Inventor
匠 齊藤
Takumi Saito
匠 齊藤
博之 山下
Hiroyuki Yamashita
博之 山下
五郎 山口
Goro Yamaguchi
五郎 山口
敏之 ▲高▼梨
敏之 ▲高▼梨
Toshiyuki Takanashi
克己 曽我部
Katsumi Sogabe
克己 曽我部
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 JP2020042210A priority Critical patent/JP2021144431A/ja
Publication of JP2021144431A publication Critical patent/JP2021144431A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】ログ分析までの一連の処理を効率化するログ分析装置を提供する。【解決手段】システム1000のログ分析装置100は、分析部143と可視化部144を備える。分析部は、収集ログDB153に蓄積されている複数の検証対象サーバ200のエージェントAGからのログ転送により収集したログファイル7fを用いて集計又は分析を行う。分析部は、ログファイルの内容の特徴点に適合する分析プログラム155を対応付けたログパターンDB154を用いて、収集したログファイル毎の特徴点から実行する分析プログラムを特定する。ログファイルの特徴点として、ログファイルから得られるOS名とログの項目名とで表されるログパターンを用いる。分析部は、特定した分析プログラムを用いて、ログファイルに含まれるログデータを分析し、分析結果156を出力する。可視化部は、分析部から出力される分析結果の夫々を、端末300又は表示装置に表示する。【選択図】図2

Description

本発明は、ログ分析装置、ログ分析方法、及びシステムに関する。
複数のサーバが連携して業務処理を実施するシステムに対して、定めた検証対象サーバから性能情報などのログを取得し分析するシステム検証が行われている。システム検証では、ログ分析装置が複数の検証対象サーバからログを収集し、収集したログに基づいて性能などを分析している。
各検証対象サーバへのログ採取の指示を蓄積するキューを設けることで、検証対象サーバにログ採取の指示を行うスレッドの数を検証対象サーバの台数以下で実現し、監視処理の負荷を低減する技術等が知られている。
特開2016−130892号公報 特開2016−149080号公報 特開2013−140488号公報 特開2008−176503号公報
しかしながら、検証対象サーバのOS(Operating System)及びMW(Middle Ware)が出力するログは、装置ごとの処理のタイプにより、型式、装置内に保持しておく期間の長さ(寿命)も異なっている。例えば、通信ログは他のログ種別に比べて寿命が短く、必要なタイミングで取得することが困難なログである。
ログ種別は様々存在することに加えて、近年の仮想化によるサーバ台数の増加により、複数の検証対象サーバからログを収集しログ分析装置で分析する検証方法が複雑化している。そのため、ログ分析装置に対して、検証者が特定の検証対象サーバからログを収集するための操作を行う場合もある。
また、ログ収集後の分析には、検証者によって個別に作成された様々なプログラム(スクリプトなど)が存在しているが、そのようなプログラムは個人的に利用するにとどまっている。そのため、検証者によって分析方法に個人差が生じ、あらゆる分析を十分に網羅することが困難である。
したがって、1つの側面では、ログ分析までの一連の処理を効率化することを目的とする。
一態様によれば、ログの特徴点ごとに、該特徴点に適合する分析プログラムを対応付けたデータベースと、サーバに配置したエージェントからログを収集する収集部と、前記データベースに保持した前記特徴点に基づいて、収集した前記ログの特徴点に適合する分析プログラムを特定する特定部と、特定した前記分析プログラムを実行する実行部と、前記分析プログラムにより得られた前記サーバから収集した前記ログに対する分析結果を表示装置に表示させる表示部と、を有するログ分析装置が提供される。
ログ分析までの一連の処理を効率化できる。
本実施例におけるエージェントの役割を説明するための図である。 本実施例におけるログ分析及び可視化の概要を説明するための図である。 システムにおけるハードウェア構成例を説明するための図である。 ログ分析装置の機能構成例を示す図である。 検証対象サーバの機能構成例を示す図である。 収集動作制御部によるエージェント配置の動作概要を説明するための図である。 配置データの生成例を示す図である。 エージェントの基本動作を説明するための図である。 エージェント動作定義の装置識別名を説明するための図である。 エージェント動作定義のログ収集条件に含まれる指定条件を説明するための図である。 第1のログ追加制御を説明するための図である。 第2のログ追加制御を説明するための図である。 エージェント終了制御を説明するための図である。 トレース出力制御を説明するための図である。 エージェント動作定義の記述例を示す図である。 分析装置動作定義の記述例を示す図である。 分析装置動作定義の記述例を示す図である。 実行トレース定義の記述例を示す図である。 収集動作制御部によるエージェント配置を説明するためのフローチャート図である。 図19のステップS303においけるエージェント選択処理を説明するための図である。 ログ収集処理を説明するための図である。 収集動作制御部による事象ベース制御処理を説明するためのフローチャート図である。 エージェントの動作の全体を説明するためのフローチャート図である。 図23のステップS405における対象ログ取得処理を説明するためのフローチャート図である。 実行結果と指定結果との合致に応じたログ取得処理を説明するフローチャート図である。 図23のステップS408におけるエージェントの終了処理を説明するためのフローチャート図である。 分析処理及び可視化処理を説明するためのフローチャート図である。 ログパターンを説明するための図である。 分析部による分析処理例を説明するための図である。
以下、本発明の実施の形態を図面に基づいて説明する。ログ分析までの一連の処理の効率化を実現する本実施例におけるシステムの概要について図1及び図2で説明する。図1及び図2では、本実施例の全体の流れの概要を説明し、ハードウェア構成例及び機能構成例は後述される。
図1は、本実施例におけるエージェントの役割を説明するための図である。図1において、システム1000は、ログ分析装置100と、複数の検証対象サーバ200と、端末300とを有する。
ログ分析装置100は、ネットワーク2を介して複数の検証対象サーバ200のそれぞれからログを収集し、収集したログを用いて検証対象サーバ200の性能分析を行う装置である。
複数の検証対象サーバ200は、連携により業務処理を行うサーバの全て又は一部に相当し、ログ収集及び性能分析の対象となるサーバ装置である。検証対象サーバ200それぞれの動作環境は一様ではない。本実施例では、一例として、Linux(登録商標)、Windows、Solarisなどの異なるOS(Operating System)の混在を許容する。また、各検証対象サーバ200は、物理的な一台のコンピュータ装置に限定されない。検証対象サーバ200は、仮想的なサーバであってもよい。
端末300は、ログ分析装置100と通信可能な端末装置である。本実施例では、主に、ログ分析装置100が得た分析結果、ログ収集の経過を示すトレース情報を表示する表示装置(以下の説明では、「コンソール」ともいう)として利用される。
図1及び以下に説明する図2において、端末300をシステム1000に含めているが、端末300は必須ではない。ログ分析装置100の表示装置115(図3)に、分析結果、トレース情報などが表示されてもよい。更には、端末300がシステム1000に含まれる場合であっても、端末300と表示装置115とがシステム検証に利用されてもよい。システム検証とは、業務処理を行うシステムに対する性能を検証することをいう。業務処理は、会計処理、勤怠管理、予約システム、様々なシミュレーションなどのいずれであってもよい。
本実施例におけるシステム1000では、検証対象サーバ200に配置したエージェントAGと、ログ分析装置100とは、正当な取り決めに従いセキュアな通信を行う。エージェントAGが指定したイベントでログ転送を行うように、ログ分析装置100によって、エージェントAGの動作は制御される。図1では、エージェントAGを用いたログ収集について説明する。
ログ分析装置100は、収集動作制御部141によって、指定したイベントでログ収集を行うエージェントAGを実現する配置データ80を検証対象サーバ200のそれぞれに送信する(エージェント配置)。配置データ80によりエージェントAGが検証対象サーバ200に送信される。
配置データ80を受信した検証対象サーバ200では、エージェントAGが起動してログ収集の動作を開始する。配置データ80は、エージェントAGとして動作するプログラムファイルと、エージェントAGにログを取得させるタイミングと、取得するログを指定した情報とを含んでいる。タイミングは、以下の説明において、条件として指定される。
起動したエージェントAGは、配置データ80で指定されるタイミングで、指定されたログのファイル(以下、「ログファイル7f」という)をログ分析装置100に送信する(ログ転送)。ログ分析装置100は、ログ転送により検証対象サーバ200から受信したログファイル7fを収集ログDB153に記憶する。
検証対象サーバ200では、一例として、個別の設定に従い、ログファイル7fを自装置の記憶領域に保持している。エージェントAGは、指定されたログファイル7fを取得してログ分析装置100に送信する。ログ分析装置100では、収集部142が受信したログファイル7fを収集ログDB153に記憶される。
エージェントAGは、配置データ80で指定された条件で自ら消滅可能なプログラムであると共に、配置データ80で指定された条件によらず、収集動作制御部141からの終了指示の受信に応じて消滅する(エージェント削除)。エージェントAGの消滅する際には、配置データ80も完全に削除される。
図2は、本実施例におけるログ分析及び可視化の概要を説明するための図である。図2では、ログ分析装置100において、分析部143が、収集ログDB153に蓄積されている、複数の検証対象サーバ200のエージェントAGからのログ転送により収集したログファイル7fを用いて集計又は分析を行う。
分析部143は、ログファイル7fの内容の特徴点に適合する分析プログラム156を対応付けたログパターンDB154を用いて、収集したログファイル7fごとの特徴点から実行する分析プログラム156を特定する。本実施例において、ログファイル7fの特徴点として、ログファイル7fから得られるOS名とログの項目名とで表されるログパターンを用いる。
分析部143は、特定した分析プログラム155を用いて、ログファイル7fに含まれるログデータを分析する。そして、分析部143は、分析結果156を出力する。分析部143は、ログファイル7fに対して対応する分析プログラム155を実行し、分析結果156を出力する処理を、収集ログDB153内の全てのログファイル7fに対して終了するまで連続して繰り返す。
可視化部144は、分析部143から次々に出力される分析結果156のそれぞれを、端末300又は表示装置115(以下、端末300で説明する)に表示する。
本実施例では、図1で説明したようなエージェントAGを用いたログ収集の仕組みにより、
(A)定義したタイミングでログ収集を可能とし、
(B)複数の検証対象サーバ200に対して効率的にログ収集を行える。
また、図2で説明したようなログ分析及び可視化の仕組みにより、
(C)様々な既存の分析プログラムの中から利用する分析プログラムを特定し、分析漏れなく活用できる。このような本実施例におけるハードウェア構成例と機能構成例について以下に説明する。
図3は、システムにおけるハードウェア構成例を説明するための図である。図3において、ログ分析装置100は、コンピュータ装置であり、バスB1に接続される、CPU(Central Processing Unit)111と、主記憶装置112と、補助記憶装置113と、入力装置114と、表示装置115と、通信I/F117と、ドライブ装置118とを有する。
主記憶装置112と、補助記憶装置113と、ログ分析装置100がアクセス可能な外部記憶装置とを含めて、これら装置は、後述する機能ブロック図(図4)における記憶部130に相当する。
CPU111は、ログ分析装置100を制御するプロセッサに相当し、記憶部130に格納されたプログラムを実行することで、以下に説明する本実施例に係る様々な処理を実現する。入力装置114は、検証対象サーバ200を検証する検証者によって操作され、操作に応じてデータを入力する。表示装置115は、ユーザインタフェースとして様々な画面を表示する。通信I/F117は、検証対象サーバ200及び端末300との通信を制御する。
記憶媒体119(例えば、CD−ROM(Compact Disc Read-Only Memory)等)に記憶された本実施例に係るログ分析プログラムは、ドライブ装置118を介して記憶部130にインストールされ、CPU111によって実行可能となる。
尚、本実施例に係るプログラムを格納する記憶媒体119はCD−ROMに限定されず、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVD(Digital Versatile Disk)ディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
検証対象サーバ200は、コンピュータ装置であり、バスB2に接続される、CPU211と、メモリ212と、補助記憶装置213と、入力装置214と、表示装置215と、通信I/F217と、ドライブ装置218とを有する。
メモリ212と、補助記憶装置213と、検証対象サーバ200がアクセス可能な外部記憶装置とを含めて、これら装置は、後述する機能ブロック図(図5)における記憶部230に相当する。
CPU211は、検証対象サーバ200を制御するプロセッサに相当し、記憶部230に格納されたプログラムを実行することで、以下に説明する本実施例に係る様々な処理を実現する。入力装置214は、検証対象サーバ200を管理する管理者によって操作され、操作に応じてデータを入力する。表示装置215は、ユーザインタフェースとして様々な画面を表示する。通信I/F217は、少なくとも検証対象サーバ200を含む業務処理を行うシステム内での通信、ログ分析装置100との通信などを制御する。
記憶媒体219(例えば、CD−ROM等)に記憶された本実施例に係るログ分析プログラムは、ドライブ装置218を介して記憶部230にインストールされ、CPU211によって実行可能となる。
尚、本実施例に係るプログラムを格納する記憶媒体219はCD−ROMに限定されず、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVD(Digital Versatile Disk)ディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
端末300は、バスB3に接続される、CPU311と、主記憶装置312と、補助記憶装置313と、入力装置314と、表示装置315と、通信I/F317と、ドライブ装置318とを有するコンピュータ装置である。
端末300は、ログ分析装置100との通信により、ログ分析装置100から提供される画面を表示装置315に表示する。また、端末300は、画面に対して入力装置314を用いて検証者により入力されたデータを通信I/F317によりログ分析装置100へと受信する。端末300は、単に、検証者が、ログ分析装置100の入力装置114と表示装置115とを操作する場合と同様のデータ入力及び画面表示が可能であればよい。
図4は、ログ分析装置の機能構成例を示す図である。図4において、ログ分析装置100は、収集動作制御部141と、収集部142と、分析部143と、可視化部144とを有する。収集動作制御部141と、収集部142と、分析部143と、可視化部144とは、CPU111が対応するプログラムを実行することで行われる処理により実現される。また、記憶部130は、複数のエージェント実行プログラム151、ログ収集定義152、収集ログDB153、ログパターンDB154、様々な分析プログラム155、分析結果156、配置データ80等を記憶する。
収集動作制御部141は、エージェントAGを用いて、検証対象サーバ200の検証に用いるログを収集する処理部である。収集動作制御部141は、複数の検証対象サーバ200のそれぞれに対して、エージェント実行ファイル8aと条件ファイル8bとを含む配置データ80を作成し、作成した配置データ80を各検証対象サーバ200に送信する。
検証対象サーバ200において、配置データ80が受信されると、エージェント実行ファイル8aが起動し、検証対象サーバ200内にエージェントAGが配置される。エージェントAGは、条件ファイル8bから動作条件8b−2(図5)を記憶部230に展開し、動作条件8b−2の内容に従って、指定のタイミングで指定のログファイル7fを取得する。ログファイル7fは、通信I/F217からネットワーク2を介してログ分析装置100に送信される。
また、エージェントAGは、動作条件8b−2で指定される終了条件8dが満たすタイミングで、動作条件8b−2を削除し、自身も消滅する。これにより、検証対象サーバ200内部には、収集動作制御部141が送信した配置データ80が完全に消滅する。また、エージェントAGの消滅は、収集動作制御部141から受信した終了指示により行われてもよい。
収集部142は、複数の検証対象サーバ200それぞれからログファイル7fを受信すると、収集ログDB153に記憶する。
分析部143は、収集ログDB153内の各ログファイル7fのログパターンに対応する分析プログラム155を選択して実行し、得られた分析結果156を記憶部130に記憶する。分析部143は、ログパターンDB154から、収集ログDB153に記憶されたログファイル7fのログパターンに関連付けられた分析プログラム155を特定し、特定した分析プログラム155を実行する。分析部143は、全てのログファイル7fに対してそれぞれの分析結果156を取得する。このような分析結果156は、検証対象サーバ200ごとに得られる。
可視化部144は、分析結果156を示す画面データを生成して、端末300に表示させる。分析結果156は、1以上の検証対象サーバ200に対する、1以上の分析プログラム155により得られた結果データを含む。
複数のエージェント実行プログラム151は、検証対象サーバ200に実装されるCPU及びOS種(動作環境に相当)ごとのエージェント実行プログラム151L、151S、151Wなどを含んでいる。エージェント実行プログラムが検証対象サーバ200で起動することで、エージェントAGが動作を開始する。
一例として、Linux(登録商標)用にはエージェント実行プログラム151Lが用意され、Solaris(登録商標)用にはエージェント実行プログラム151Sが用意されている。更に、Windows(登録商標)用にはエージェント実行プログラム151Wが用意されている。これらエージェント実行プログラム151L、151S、151Wなどを、総称して、エージェント実行プログラム151という。
ログ収集定義152は、ログ収集に係る動作を規定した、分析装置動作定義152aと、エージェント動作定義152bと、実行トレース定義152cとを含む。分析装置動作定義152aは、ログ分析装置100の収集動作制御部141による、特定のログファイル7fの受信に応じて行うログ収集の動作を定義する。
エージェント動作定義152bは、エージェントAGの動作を定義し、ログ分析装置100へ送信するタイミングと、ログファイル名とを定義している。実行トレース定義152cは、ログ分析装置100及びエージェントAGの処理実行時に出力する実行トレースの定義を含む。ログ分析装置100又はエージェントAGで実行トレースを出力しない場合には、その定義は省略される。
配置データ80は、収集動作制御部141によって作成されるデータである。配置データ80は、送信先の検証対象サーバ200のOSに対応したエージェント実行ファイル8aと、当該検証対象サーバ200のエージェント動作定義152bを含む条件ファイル8bとを含んでいる。エージェント実行ファイル8aには、収集動作制御部141が複数のエージェント実行プログラム151のうちの1つが格納されている。条件ファイル8bは、収集動作制御部141が、ログ収集定義152から特定した検証対象サーバ200に対するエージェント動作定義152bを含む。
収集ログDB153は、受信したログファイル7fを蓄積したデータベースである。ログファイル7fは、OS名と、CPUのパフォーマンスに関するCPU使用率(%)、CPU時間の割合、プロセスの優先度など様々な項目、メモリ使用率(%)、通信速度(bps)などの1以上の項目の実測値とを含む。1以上の項目の実測値は、時系列に示される。OSと複数の項目により、ログパターンを表す。
ログパターンDB154は、複数の検証対象サーバ200から収集可能な全てのログパターンが登録されたデータベースである。また、ログパターンDB154では、ログパターンごとに分析プログラム名を関連付けている。このデータ構成により、分析部143は、ログファイル7fからログパターンを特定して、ログパターンDB154から分析プログラム名を取得でき、分析者等の介入なしに、分析プログラム155を特定して実行できる。
分析結果156は、ログファイル7fごとの、分析部143がログパターンDB154を用いて特定した分析プログラム155を実行して得た結果データを含む。分析結果156は、収集ログDB153に含まれるログファイル7fそれぞれに対して実行した分析プログラム155の結果を示すデータである。
一例として、分析A結果156aは、分析Aプログラム155aの実行により得られたデータである。また、分析B結果156bは、分析Bプログラム155bの実行により得られたデータである。他の分析結果についても同様である。複数の検証対象サーバ200のうちの、ある検証対象サーバ200のログパターンそれぞれから分析結果155を得る。
図5は、検証対象サーバの機能構成例を示す図である。図5において、検証対象サーバ200は、検証されない非検証対象時には、所定業務に係る処理を実行する業務処理部261と、処理状況をログデータを蓄積するログ蓄積部262とを有する。
検証の開始から検証が終了するまでの間、検証対象サーバ200は、業務処理部261とログ蓄積部262とに加えて、エージェントAGを処理部として有する。業務処理部261と、ログ蓄積部262と、エージェントAGとは、CPU111が対応するプログラムを実行することで行われる処理により実現される。また、記憶部230は、ログ領域271、配置データ80、動作条件8b等を記憶する。
本実施例では、エージェントAGの動作及びエージェントAGに関係するデータについて説明する。また、本実施例は、検証対象サーバ200が行う業務処理の内容に限定することなく適用可能である。様々な業務に係るアプリケーションを総称して業務処理部261として表すものとする。また、ログ蓄積部262は、業務処理部261が動作する検証対象サーバ200において取得した種々のログを記憶する。
エージェントAGは、ログ分析装置100とのセキュアな通信において、ログ分析装置100へ適切なタイミングで適切なログファイル7fをログ領域271から取得し、取得したログファイル7fをログ分析装置100へ送信する。エージェントAGは、配置データ80と共に、ログ分析装置100から検証対象サーバ200へと送信される。ログ分析装置100から受信したエージェント実行プログラム151の起動により、検証対象サーバ200のOS上に検証終了まで常駐する。
エージェントAGは、動作条件展開部AG1と、対象ログ提供部AG2と、自己消滅部AG5とを有する。動作条件展開部AG1は、エージェントAGの起動時に、配置データ80の条件ファイル8bから動作条件8b−2を、記憶部230内のエージェントAGがアクセス可能な領域内に展開する。
対象ログ提供部AG2は、指定されたタイミングで指定されたログファイル7fをログ分析装置100へ提供する対象ログ提供処理を行う。ログ領域271からログ蓄積部262が蓄積した複数のログファイル7fから動作条件8b−2に合致するログファイル7fをログ分析装置100へ送信する。対象ログ提供部AG2は、更に、対象ログ取得部AG3と、条件書換部AG4とを有する。
対象ログ取得部AG3は、動作条件8b−2に従って、指定されたタイミングで、指定されたログファイル7fをログ領域271から取得し、取得したログファイル7fをログ分析装置100へ送信する(ログ転送7g)。
条件書換部AG4は、ログ分析装置100からエージェントAGに対する条件ファイル8bを含む条件書換指示8eを受信すると、配置データ80内の既存の条件ファイル8bを新たな条件ファイル8bで置き換える。また、条件書換部AG4は、新たな条件ファイル8bを用いて記憶部230に新たな動作条件8b−2を展開する。新たな動作条件8b−2は、メモリ212に展開されることが好ましい。置き換え後、対象ログ取得部AGは、新たな動作条件8b−2に従い、指定されたタイミングで、指定されたログファイル7fをログ領域271から取得し、取得したログファイル7fをログ分析装置100へ送信する。
自己消滅部AG5は、動作条件8b−2で指定された終了条件8dに合致するタイミングで、エージェントAGを検証対象サーバ200から完全に削除する自己消滅処理を行う。自己消滅処理とは、エージェントAGが検証対象サーバ200から自ら消滅する処理を行う処理である。配置データ80と、条件ファイル8bから展開された動作条件8b−2は記憶部230から削除され、また、OS上のエージェントAGのプロセスは自ら終了する。従って、エージェントAGと、当該エージェントAGに係るプログラム及びデータは全て削除される。また、自己消滅部AG5は、ログ分析装置100からの終了指示に応じて、上述した自己消滅処理を行う。
ログ蓄積部262は、業務処理部261が行う業務処理のログ、通信I/F218による送受信のログ、入力装置214及び表示装置215の動作のログなどを、ログ領域271内のそれぞれ固有のログファイル7fに蓄積する。ログ領域271に記憶されている複数のログファイル7fは、それぞれログパターンを有している。ログパターンとは、複数の項目と、項目の並び順とで特定される。ログパターンの例は、後述される、ログパターンDB154のデータ構成例で示される。
図4及び図5では、配置データ80が、エージェント実行ファイル8aと条件ファイル8bとを含む構成例で説明したが、エージェント実行ファイル8aのデータセクションに動作条件8b−2を含めた構成であってもよい。
図6は、収集動作制御部によるエージェント配置の動作概要を説明するための図である。図6において、ログ分析装置100では、収集動作制御部141が、ログ収集定義152を参照して、検証対象サーバ200で動作可能なエージェント実行プログラム151に加えて、動作条件8b−2を含む配置データ80を作成する。
ログ収集定義152には、エージェント動作定義152bが含まれている。エージェント動作定義152では、装置グループごとに、装置識別名、ログ収集条件8c、終了条件8d8dなどが示される。エージェント動作定義152bでは、動作環境ごとに検証対象サーバ200を分類し、動作環境に応じたログ収集条件8cと終了条件8dとが定義されている。
装置識別名では、1以上の検証対象サーバ200を特定する識別子が示される。2以上の検証対象サーバ200が指定されていてもよい。
ログ収集条件8cは、指定条件と指定動作とを含む。指定条件では、検証対象サーバ200において対象ログ取得部AG3がログファイル7fを取得するタイミングが指定される。また、指定動作では、ログ領域271から取得するログファイル7fを特定するログ特定情報が指定される。
終了条件8dは、エージェントAGの動作を終了させ、配置データ80及び動作条件8b−2を記憶部230から完全に削除させるタイミングを、指定条件として指定する。以下、エージェントAGが、配置データ80及び動作条件8b−2を記憶部230から完全に削除し、エージェントAGの動作を終了することを、単に、「終了処理」というものとする。
ログ収集条件8cの指定条件は、ログファイル7fを採取するタイミングを指定する。指定条件には、時刻、エージェントAG又は検証対象サーバ200のジョブの終了、検証対象サーバ200で動作するプログラム及びスクリプトの実行結果の内容などが指定される。終了条件8dの指定条件は、エージェントAGの動作が終了するタイミングを指定する。
収集動作制御部141は、装置グループごとに、装置識別名で特定される検証対象サーバ200に対して、エージェント動作定義152bからログ収集条件8cと終了条件8dと含む動作条件8b−2を複写して、配置データ80を作成する。動作条件8b−2の複写では、動作条件8b−2がエージェント実行プログラム151を含むエージェント実行ファイル8aのデータセクションに複写されてもよいし、図4及び図5で示したように条件ファイル8bが作成されてもよい。
データセクションに動作条件8b−2を複写する場合、エージェント実行ファイル8aが配置データ80に相当する。条件ファイル8bが作成される場合、エージェント実行ファイル8aと条件ファイル8bとが配置データ80に相当する。
ログ分析装置100では、収集動作制御部141が、作成した配置データ80を装置識別名で特定される検証対象サーバ200へ送信する。検証対象サーバ200では、配置データ80を受信後にエージェントAGが起動し、動作条件8b−2に従ってログ分析装置100へのログ転送を行う。
収集動作制御部141は、全ての装置グループに対して、エージェントAGを配置し、起動させる。
図7は、配置データの生成例を示す図である。図7(A)では、CPU及びOS種によりエージェント実行ファイルがロードモジュールである場合の動作条件8b−2の複写を示している。
この場合、CPU及びOS種に対応するエージェント実行プログラム151はエージェント実行ファイル8aのプログラムセクション8a−1に格納される。収集動作制御部141は、このエージェント実行ファイル8aもデータセクション8a−2に、ログ収集条件8c及び終了条件8dを複写する。
図7(B)では、CPU及びOS種に応じてエージェント実行プログラム151とは別のファイルにログ収集条件8c及び終了条件8dを複写する場合を示している。エージェント実行プログラム151を含むエージェント実行ファイル8aと、ログ収集条件8c及び終了条件8dを含む条件ファイル8bとが生成される。エージェント実行ファイル8aと条件ファイル8bとが配置データ80に相当する。
図8は、エージェントの基本動作を説明するための図である。図8において、検証対象サーバ200で起動したエージェントAGは、現在事象が動作条件8b−2のログ収集条件8cの指定条件との合致を検出する。現在事象と指定条件との合致の検出に応じて、エージェントAGは、ログ収集条件8cの指定動作に従い、指定されたログファイル7fを記憶部230からログファイル7fを取得する。エージェントAGは、取得したログファイル7fをログ分析装置100へ送信する(ログ転送)。
図6及び図8で説明したようなエージェントAGの動作を定義したエージェント動作定義152bの装置識別名及びログ収集条件について説明する。
図9は、エージェント動作定義の装置識別名を説明するための図である。図9において、エージェント動作定義152bの装置グループごとに指定される装置識別名は、マシン名指定の形式又はIPアドレス指定の形式により検証対象サーバ200を指定する。
マシン名指定の形式の記述方法を、検証対象サーバ200の名称が英数字で識別されるものとして説明する。図9では、先頭文字列"HOST"に続いて数字等が連結した名称を例とする。まず、指定する検証対象サーバ200が1台の場合、「HOST1」と指定する。また、複数台を特定して指定する場合、「HOST1, HOST7, HOST23c」と指定する。更に、正規表現形式で複数台を指定してもよい。一例として、「HOST[0-9]*」などの指定により、"HOST"+数字1文字を先頭文字列とする全ての名称を指定できる。
IPアドレス指定による記述方法では、1台の検証対象サーバ200を指定する場合、「192.168.100.2」のみを指定する。複数台を特定して指定する場合、「192.168.100.2, 192.168.100.3, 192.100.4」のように指定できる。この例では、3台を特定している。特定のセグメントを全て指定する場合、ネットマスクの桁数を指定したCIDR(Classless Inter-Domain Routing)により、「192.168.100.0/29」のように指定してもよい。
このようにマシン名指定又はIPアドレス指定により、装置グループごとに複数の検証対象サーバ200をまとめて定義できる。即ち、多数の検証対象サーバ20に対して、効率的にログファイル7fを収集可能とする。
図10は、エージェント動作定義のログ収集条件における指定条件を説明するための図である。ログ収集条件8cには、指定条件と指定動作とが含まれるが、図10では指定条件について説明する。指定動作については、後述されるエージェント動作定義152bの記述例で説明する。
指定条件の例として、時刻指定、経過時間指定、状態指定などがある。時刻指定では、検証対象サーバ200がログファイル7を取得する時刻を指定する。時刻は、「西暦/月/日 時:分」形式で指定すればよい。「2019/03/31 12:45」のように記述されればよい。
経過時間指定では、指定した事象(以下、「指定事象」という)からの経過時間を指定する。検証対象サーバ200がログファイル7を取得するタイミングは、指定事象から指定された経過時間後となる。経過時間指定の例として、「システム起動から○○時間後」、「指定プログラム起動から○○時間後」のように記述される。
状態指定では、指定事象の発生時を指定する。検証対象サーバ200がログファイル7を取得するタイミングは、指定事象の発生時である。状態指定の例として、「△△プログラムが起動」、「△△プログラムが終了」、「△△プログラムの終了コードが○○」、又は「メッセージ又はログに◇◇パターンのメッセージの出力」のように記述される。また、状態指定では、指定結果とプログラム又はスクリプトを動作させた結果との一致を指定してもよい。検証対象サーバ200がログファイル7を取得するタイミングは、指定結果と動作させた結果との一致を検知したときである。
このように、ログ収集条件8cの指定条件により、ログ分析装置100は、検証対象サーバ200に対してピンポイントのタイミングでログ収集を実施できる。
また、ログ分析装置100の収集動作制御部141は、分析装置動作定義152aによって以下のように動作が制御される。
・ログ追加制御
分析装置動作定義152aは、直前に受信したログファイル7fに対して追加的にログ収集を行うための検証対象サーバ200及びログ種別の1つ以上を指定する。収集動作制御部141は、直前に受信したログファイル7fに対してエージェントAGから追加的にログ収集するように制御される。
・条件書換制御
分析装置動作定義152aは、新たなエージェントAGのログ収集条件8c又は終了条件8dを指定する。収集動作制御部141は、検証対象サーバ200のログ収集条件8c又は終了条件8dを書き換えるように制御される。
・エージェント終了制御
分析装置動作定義152aは、エージェントAGを終了させる条件を指定する。収集動作制御部141は、指定された条件の検知に応じて、エージェントAGに終了指示を送信するように制御される。
・トレース出力制御
分析装置動作定義152aは、実行トレースの出力方法を指定する。収集動作制御部141は、動作中に取得した実行トレースを出力するように制御される。分析装置動作定義152aは、エージェントAGに対しても実行トレースの出力方法を指定可能である。この場合、収集動作制御部141は、対象となるエージェントAGにトレース出力指示を行うように制御される。
先ず、ログ追加制御について説明する。ログ追加制御には、第1のログ追加制御(図11)と第2のログ追加制御(図12)とがある。
・第1のログ追加制御
受信したログファイル7fの送信元と同一の検証対象サーバ200mに対して、収集動作制御部141に、追加のログファイル7fの要求を行わせる制御である。
・第2のログ追加制御
受信したログファイル7fの送信元の検証対象サーバ200aとは異なる検証対象サーバ200bに対して、収集動作制御部141に、ログファイル7fの要求を行わせる制御である。
図11は、第1のログ追加制御を説明するための図である。図11において、第1のログ追加制御は、分析装置動作定義152aにおいて、動作条件1として定義される。動作条件1は、例えば、
if (検証対象サーバmからログファイルpを受信)
then {
検証対象サーバmに対してログファイルqを要求
}
のような内容を示す。
この動作条件1により、検証対象サーバmからログファイルpを受信した場合、同一検証対象サーバmに対してログファイルqを要求する、ようにログ分析装置100は動作する。ログファイルpとログファイルqとでは、ログパターン(即ち、ログ種別)が異なる。
つまり、ログ分析装置100は、エージェントAGから動作条件8b−2に従って転送されるログファイル7fを受信する(動作条件8b−2に従ったログ転送7g−1)。受信したログファイル7fのうち、エージェントAGの検証対象サーバ200mが動作条件1で定義された検証対象サーバであって、特定のログファイルpを受信した場合、ログ分析装置100は、ログ転送指示8f−1をエージェントAGに送信する。ログ転送指示8f−1により、追加的にログファイルqを収集する。
検証対象サーバ200mでは、エージェントAGがログ転送指示8f−1に応じて、ログファイルqを記憶部230から取得して、取得したログファイルqをログ分析装置100へ送信する(ログ転送指示8f−1に応じたログ転送7g−2)。
動作条件1に従ってログ分析装置100が制御されることにより、検証対象サーバ200mが特定の状態にあるときに、その特定の状態に関する詳細な情報を含むログファイルqを収集することができる。図11において、ログ転送指示8f−1は複数回行われてもよく、ログ転送指示8f−1ごとに、異なるログパターンを示すログファイル7fを取得するように動作条件が定義されてもよい。
このような第1のログ追加制御により、特定のログ種別のログファイル7fを受信するごとに、情報の詳細度を上げて、又は、関連する情報の幅を広げでログ収集を行うことができる。
図12は、第2のログ追加制御を説明するための図である。図12において、第2のログ追加制御は、分析装置動作定義152aにおいて、動作条件2として定義される。動作条件2は、例えば、
if (検証対象サーバaからログファイルaを受信)
then {
検証対象サーバbに対してログファイルbを要求
}
のように記述される。
この動作条件2により、検証対象サーバaからログファイルaを受信した場合、検証対象サーバbに対してログファイルbを要求する、ようにログ分析装置100は制御される。
つまり、ログ分析装置100は、エージェントAGから動作条件8b−2に従って転送されるログファイル7fを受信する(動作条件8b−2に従ったログ転送7g−1)。受信したログファイル7fのうち、エージェントAGの検証対象サーバ200aが動作条件1で定義された検証対象サーバであって、特定のログパターンを示すログファイルaを受信した場合、ログ分析装置100は、動作条件2に従って、検証対象サーバaとは異なる検証対象サーバ200bに対して、ログファイルbのログ転送指示8f−2を行う。
検証対象サーバ200bでは、エージェントAGがログ転送指示8f−2に応じて、指定されたログパターンのログファイルbを記憶部230から取得して、取得したログファイルbをログ分析装置100へ送信する(ログ転送指示8f−2に応じたログ転送7g−3)。
動作条件2に従ってログ分析装置100が制御されることにより、検証対象サーバ200aが特定の状態にあるときに、その特定の状態に関する詳細な情報を含むログファイル7fを収集することができる。図12において、ログ転送指示8f−2は複数回行われてもよく、ログ転送指示8f−2ごとに、異なる検証対象サーバ200を指定した動作条件が定義されてもよい。
このような第2のログ追加制御により、ログファイルaを受信した検証対象サーバ200aとは異なる検証対象サーバ200bに切り替えることで、複数の検証対象サーバ200の連携に係るログ収集を確実に行うことができる。
次に、エージェント終了制御について説明する。エージェント終了制御には、
・第1のエージェント終了制御
検証対象サーバ200の記憶部230に保持している動作条件8b−2で定められる終了条件8dに従って、エージェントAGが自己消滅処理を行う。
・第2のエージェント終了制御
ログ分析装置100の収集動作制御部141からの終了指示に応じて、エージェントAGは、自己消滅処理を実行する。
図13は、エージェント終了制御を説明するための図である。図13(A)では、第1のエージェント終了制御を説明する。エージェントAGは、現在事象が動作条件8b−2の終了条件8dに合致することを検知すると、記憶部230のエージェント実行ファイル8aを削除する。また、配置データ80及び動作条件8b−2も削除される。そして、OS上でプロセスとして常駐したエージェントAGの動作は終了し、OS上にも存在しなくなる。
図13(B)では、第2のエージェント終了制御を説明する。第2のエージェント終了制御では、収集動作制御部141が、分析装置動作定義152aに従って、終了指示8endをエージェントAGに送信する。終了指示8endの受信に応じて、エージェントAGは、記憶部230のエージェント実行ファイル8aを削除する。また、配置データ80及び動作条件8b−2も削除される。そして、OS上でプロセスとして常駐したエージェントAGの動作は終了し、OS上にも存在しなくなる。
次にエージェント終了制御について説明する。図14は、トレース出力制御を説明するための図である。図14において、ログ分析装置100では、収集動作制御部141が、トレースファイル157にエージェントAGとで行われた処理を記録する。
記憶部130に記憶されている実行トレース定義152cでは、出力先とトレースレベルとが指定される。分析装置動作定義では、出力先では、コンソール、ウィンドウ(画面)、又はファイルのいずれかが指定される。出力先がコンソール又はウィンドウ(画面)が指定された場合、ログ分析装置100の表示装置115に表示される。ファイルが指定された場合、記憶部130内のトレースファイル157に記録される。
トレースファイル157には、時系列に、エージェント配備、エージェントAGからログ受信、エージェントAGへのログ転送指示8f−1の送信などが記録される。トレースファイル157は、許可された検証者により端末300からアクセスされ、トレース内容が表示装置316に表示されてもよい。
トレースレベルでは、レベル「高」、「中」、又は「小」のいずれかが指定される。指定されたレベル以上のトレース内容を表示するようにすればよい。例えば、レベル「中」が指定されている場合、レベル「小」に該当するトレース内容は省略されて出力される。具体的には、出力先がコンソール又はウィンドウ(画面)の場合、レベル「小」に該当するトレース内容は表示されず、レベル「高」及び「中」に該当するトレース内容が表示される。出力先がファイルの場合、トレースファイル157には、レベル「高」及び「中」に該当するトレース内容は記録されるが、レベル「小」に該当するトレース内容は記録されない。
また、ログ分析装置100は、実行トレース定義152cで、エージェント配備時の装置グループが指定されている場合、出力先とトレースレベルとを配置データ80に含めて検証対象サーバ200へ送信する。これにより、エージェントAGによりトレース情報の出力が行われる。
装置グループ1定義についても出力先とトレースレベルとが指定される。これら出力先とトレースレベルとは、エージェントAGに対する定義である。エージェントAGに対する出力先及びトレースレベルによる指定は、ログ分析装置100に対する指定と同様であるためそれらの説明を省略する。出力先がコンソール又はウィンドウが指定されている場合には、検証対象サーバ200の表示装置215に現在の動作のトレース情報が次々に表示される。一方、出力先がファイルの場合、トレースファイル272にトレース情報が蓄積される。トレースファイル272は、記憶部230に記憶されるログファイル7fの1つに相当する。
一例として、ログファイル送信と、ログ取得指示受信のトレース情報が出力レベル「小」に割り当てられ、かつ、指定された出力レベルが「中」である場合、これらトレース情報はトレースファイル272へ蓄積されない。このようにトレース情報の重要度に応じて、出力を制御することで、検証対象サーバ200の資源を有効に利用することができる。同様に、トレース情報の重要度に応じて、出力を制御することで、ログ分析装置100の資源を有効に利用することができる。
次に、ログ収集定義152のデータ例について図15〜図18で説明する。図15〜図18では、XML(Extensible Markup Language)で記述した例を用いて、定義内容を理解し易く文章で記述するが、定義内容はソースコード、オブジェクトコード、バイナリコード、スクリプトコードなどであってもよい。ソースコード、オブジェクトコードなどである場合は、必要に応じて、コンパイル、変換などの後に複製されるようにする。また、ログ収集定義152の記述言語はXMLに限定されない。
図15は、エージェント動作定義の記述例を示す図である。図15に示すエージェント動作定義152bは、装置グループごとに定められる。装置グループをタグ<装置グループ名>で指定し、この例では"グループ名1"としている。
また、各装置グループに対して、装置識別名、CPU及びOS種、ログ収集条件、及び終了条件が指定される。先ず、装置識別名は、タグ<装置識別名>により、1以上の検証対象サーバ200を指定可能である。図9で説明した記述方法により、検証対象サーバ200を指定すればよい。この例では、単に、「装置識別名1、装置識別名2、・・・装置識別名n」で表す。
CPU及びOS種は、タグ<CPU・OS種>により、この例では、「CPU=Intel x86, OS=Windows 10, build=1234」のように示される。この記述に基づき、検証対象サーバ200で動作可能なエージェントAGが選択される。
ログ収集条件8cでは、タグ<ログ収集条件>により1以上のログファイル7fを採取する条件及び動作が定められている。この例では、3つのログ収集条件が、タグ<ログ収集条件1>、タグ<ログ収集条件2>、及びタグ<ログ収集条件3>により指定される。ログ収集条件1〜3のそれぞれには、指定条件と指定動作が含まれる。
タグ<ログ収集条件1>では、「指定条件=JOBxxxが終了」及び「指定動作=コンソールログを採取する」が定められいる。即ち、エージェントAGに、JOBxxxの終了時に、記憶部230に格納された複数のログファイル7fからコンソールログのログファイル7fを取得し、ログ分析装置100へと送信する、ことを指示している。
タグ<ログ収集条件2>では、「指定条件=時刻が23:59:99になる」及び「指定動作=VOL1.DATA.ABENDを採取する」が定められている。即ち、エージェントAGに、時刻が23:59:99になった時に、記憶部230に格納された複数のログファイル7fからVOL1.DATA.ABENDのログファイル7fを取得し、ログ分析装置100へと送信する、ことを定められている。
タグ<ログ収集条件3>では、「指定条件=プログラム('SYS1.LINKLIB(TEST0001)')を実行させ終了コードが0x0c4の場合」及び「指定動作=VOL1.DATA.SYSOUTを採取する」が定められている。即ち、エージェントAGに、プログラム('SYS1.LINKLIB(TEST0001)')を実行させ終了コードが0x0c4の場合に、記憶部230に格納された複数のログファイル7fからVOL1.DATA.SYSOUTのログファイル7fを取得し、ログ分析装置100へと送信する、ことを指示している。
タグ<ログ収集条件3>の記述5bのように、指定条件には、ログを収集するタイミングとして、時刻、及びジョブの終了以外に、プログラム又はスクリプトの実行結果も指定可能である。
終了条件8dでは、タグ<終了条件>により1以上のエージェントAGが終了する条件が定められる。この例では、2つの終了条件が、タグ<終了条件1>及びタグ<終了条件2>により定められている。終了条件1及び2のそれぞれには、条件が指定されている。
タグ<終了条件1>では、「指定条件=ログファイルの送信完了」が定められている。即ち、エージェントAGに、ログファイル7fの送信完了に応じて動作を終了し、自己消滅を行うことを指定している。
タグ<終了条件2>では、「指定条件=時刻が12月31日22:59:59になった」が定められている。即ち、エージェントAGに、「12月31日22:59:59」の検知に応じて動作を終了し、自己消滅することを定めている。エージェントAGは、終了条件1と終了条件2のうち最初に検知された終了条件で自己消滅する。また、エージェントAGは、終了条件1又は終了条件2による終了時まで、ログ収集条件1〜3で指定されるようにログ収集を行う。
次に、分析装置動作定義152aのデータ例について図16及び図17で説明する。図16のデータ例は、図11の第1のログ追加制御の具体例を示す。また、図17のデータ例は、図12の第2のログ追加制御の具体例を示す。
図16は、分析装置動作定義の記述例を示す図である。図16に示す分析装置動作定義152aでは、タグ<ログ受信時動作>によりログ受信時に収集動作制御部141が行う動作が定められている。タグ<ログ受信時動作>により1以上の動作を指定可能であるが、この例では、タグ<ログ受信時条件1>により、図11で説明したような第1のログ追加制御を行うための条件及び動作を定義する。
タグ<ログ受信時条件1>では、「指定条件=装置識別名:MSPSERVER01からTEST1.DATA.SYSLOGを受信した」が指定されている。また、「指定動作=装置識別名:OAクローズに対してTEST.LOG.AIMSNAPおよびTEST1.LOG.VTAMTRACEデータセットを送信させる」が指定されている。
即ち、ログ分析装置100に、装置識別名「MSPSERVER01」で特定される検証対象サーバ200からTEST1.DATA.SYSLOGのログファイル7fの受信を検知することを指示している。また、ログ分析装置100に、当該検証対象サーバ200へOAクローズに対してTEST.LOG.AIMSNAPおよびTEST1.LOG.VTAMTRACEデータセットを送信させるログ転送指示8f−1(図11)を行う、ことを指示している。
ログ転送指示8f−1では、「指定条件=OAクローズ」及び「指定動作=TEST.LOG.AIMSNAPおよびTEST1.LOG.VTAMTRACEデータセットを取得」のように所定の構文に従って追加するログを収集する条件が含まれればよい。
図17は、分析装置動作定義の記述例を示す図である。図17に示す分析装置動作定義152aでは、タグ<ログ受信時動作>によりログ受信時の動作が指定される。タグ<ログ受信時動作>により1以上の動作を指定可能であるが、この例では、タグ<ログ受信時条件2>により、図12で説明したような第1のログ追加制御を行うための条件及び動作を定義する。
タグ<ログ受信時条件2>では、「指定条件=装置識別名:Web01から/var/log/httplogを受信した」が指定されている。また、「指定動作=装置識別名:Apl01から/var/log/logs/iiop/log01を送信させる, かつ, 装置識別名:Db01から/var/log/messagesを送信させる」が指定されている。
即ち、ログ分析装置100に、装置識別名「Web01」で特定される検証対象サーバ200−1からTEST1.DATA.SYSLOGのログファイル7fの受信を検知することを指示している。また、ログ分析装置100に、受信の検知に応じて、検証対象サーバ200−1とは異なる装置識別名「Db01」で特定される検証対象サーバ200−2へ、/var/log/messagesを送信させるログ転送指示8f−2(図12)を行う、ことを指示している。
ログ転送指示8f−2では、「指定条件=即時」及び「指定動作=/var/log/messagesを取得」のように所定の構文に従って追加するログをエージェントAGに採取させ送信させる条件が含まれればよい。
図18は、実行トレース定義の記述例を示す図である。図18に示す実行トレース定義152cは、ログ分析装置100と、装置グループとに対して、実行トレースの出力先と出力レベルとを指定する。ログ分析装置100に対しては、タグ<分析装置動作定義>で指定される。例えば、タブ<実行トレース定義>により、出力先と出力レベルとが指定される。
タグ<出力先>では、コンソール、ウィンドウ画面、又はファイルのいずれか1つを指定する。ファイルの指定では、トレース情報を格納するファイル名が示される。トレースファイル157を特定するファイル名が指定される。タグ<出力レベル>では、高、中、低のいずれか1つが指定される。出力レベルについては、前述した通りである。
検証対象サーバ200に対しては、タグ<装置グループ名>により装置グループ単位でトレース情報の出力が指定される。装置グループごとに、タグ<装置識別名>により1以上の装置識別名が指定される。この例では複数の装置識別名1、装置識別名2、・・・装置識別名nが指定されている。
タグ<装置識別名>で特定される検証対象サーバ200それぞれに対して、タグ<実行トレース定義>により、出力先及び出力レベルが指定される。出力先及び出力レベルについて前出した通りである。出力先にファイルが指定された場合は、トレースファイル272を特定するファイル名が指定される。
次に、ログ分析装置100と検証対象サーバ200のそれぞれの処理について説明する。先ず、図6におけるログ分析装置100の収集動作制御部141によるエージェント配置の処理を図19及び図20で説明する。
図19は、収集動作制御部によるエージェント配置を説明するためのフローチャート図である。図19において、収集動作制御部141は、装置グループiに1を設定し、グループ総数mに装置グループの総数を設定し、装置グループi及びグループ総数mを初期化する(ステップS301)。装置グループの総数は、エージェント動作定義152b内の装置グループの総数に相当する。
収集動作制御部141は、装置グループiがグループ総数mを超えるまでステップS302〜S306を繰り返し行う。全ての装置グループに対して処理を終了すると、エージェント配置の処理を終了する。
収集動作制御部141は、ログ収集定義152のエージェント動作定義152bから順に装置グループiの定義情報を読み込む(ステップS302)。定義情報は、1以上の装置識別名、PU及びOS種、ログ収集条件8c、及び終了条件8dの記述を含む。
収集動作制御部141は、定義情報に基づいてエージェント実行ファイルを選択するエージェント選択処理を行う(ステップS303)。エージェント選択処理については図20で説明する。収集動作制御部141は、エージェント選択処理によりエージェント実行ファイルの格納先を得る。
収集動作制御部141は、新たな条件ファイル8bを作成し、作成した新たな条件ファイル8bのデータセクションに、定義情報のログ収集条件8cと終了条件8dとを複写する(ステップS304)。そして、収集動作制御部141は、エージェント実行プログラム151を含むエージェント実行ファイル8aと、条件ファイル8bとを含む配置データ80を作成する(ステップS305)。
収集動作制御部141は、新たなエージェント実行ファイル8aに、エージェント選択処理により得られた格納先からエージェント実行プログラム151を複写する。そして、収集動作制御部141は、エージェント実行ファイル8aと、条件ファイル8bとを含む配置データ80を作成する。或いは、図7(A)で説明したように、エージェント実行ファイル8aに動作条件8b−2を複写してもよい。
収集動作制御部141は、作成した配置データ80を装置識別名で特定される検証対象サー200に送信する(ステップS306)。定義情報によって、複数の装置識別名が指定されている場合、それら装置識別名で特定される全ての検証対象サーバ200に同じ配置データ80を送信する。配置データ80を受信した検証対象サーバ200のそれぞれにおいて、エージェントAGが起動し動作を開始する。エージェントAGによる処理は、図21及び図22で説明する。
収集動作制御部141は、全ての装置グループに対して、即ち、装置グループiがグループ総数mを超えるまで、装置グループiに1を加算して上述した処理を繰り返し行う。
図20は、図19のステップS303においけるエージェント選択処理を説明するための図である。図20において、収集動作制御部141は、定義情報にCPU及びOS種の定義が存在するか否かを判断する(ステップS311)。図19のステップS302で読み込んだ定義情報にタグ<CPU・OS種>が存在するか否かを判断すればよい。
定義情報にCPU及びOS種の定義が存在する場合(ステップS311のYES)、収集動作制御部141は、タグ<CPU・OS種>に従って、CPU及びOS種の定義を取得する(ステップS312)。そして、収集動作制御部141は、複数のエージェント実行プログラム151から取得したCPU及びOS種の定義に対応するエージェント実行プログラムを選択する(ステップS314)。収集動作制御部141は、選択したエージェント実行プログラムの格納先を戻り値に設定して(ステップS315)、このエージェント選択処理を終了、図19のエージェント配置の処理へと戻る。
一方、定義情報にCPU及びOS種の定義が存在しない場合(ステップS311のNO)、収集動作制御部141は、定義情報の装置識別名で特定される検証対象サーバ200からCPU及びOS種を取得する(ステップS313)。複数の装置識別名が指定されている場合、最初の装置識別名を用いればよい。
収集動作制御部141は、検証対象サーバ200からCPU及びOS種を取得すると、複数の実行プログラム151から、取得したCPU及びOS種の定義に対応するエージェント実行プログラムを選択する(ステップS314)。収集動作制御部141は、選択したエージェント実行プログラムの格納先を戻り値に設定して(ステップS315)、このエージェント選択処理を終了し、図19のエージェント配置の処理へと戻る。
図21は、ログ収集処理を説明するための図である。図21において、収集部142は、ログファイル7fを受信したか否かを判断する(ステップS321)。ログファイル7fを受信していない場合(ステップS321のNO)、収集部142は、ログファイル7fを受信するまで所定間隔でステップS321を繰り返す。
一方、ログファイル7fを受信した場合(ステップS321のYES)、収集部142は、ログファイル7fを収集ログDB153に蓄積したのち(ステップS322)、ステップS321へと戻り、上述した同様の処理を繰り返す。
ログ分析装置100では、エージェント配置後、収集動作制御部141が、ログ分析装置100で検知した事象に応じてエージェントAGに様々な指示を行う。収集動作制御部141が事象に応じてエージェントAGを制御する事象ベース制御について図22で説明する。
ログ分析装置100では、ログファイル7fの受信、エージェント動作定義の変更、及び終了指示の事象を収集動作制御部141が検知する。収集動作制御部141は、ログファイル7fの受信、エージェント動作定義の変更、及び終了指示などの事象に応じて、エージェントAGの動作を制御する。
図22は、収集動作制御部による事象ベース制御処理を説明するためのフローチャート図である。図22において、収集動作制御部141は、ログファイル7fを受信した事象か否かを判断する(ステップS331)。
ログファイル7fを受信した事象である場合(ステップS331のYES)、収集動作制御部141は、受信したログファイル7fが分析装置動作定義152aのログ受信時条件に該当するか否かを判断する(ステップS332)。収集動作制御部141は、ログ受信時条件の条件で指定される装置識別名が受信したログファイル7fの送信元に相当し、かつ、受信したログファイル7fのログ種別が当該条件で指定されるログ種別を示すか否かを判断する。
ログ受信時条件に該当する場合(ステップS332のYES)、収集動作制御部141は、ログ受信時条件の検証対象サーバへ、指定されたログファイル7fのログ転送を指示するログ転送指示を送信する(ステップS334)。その後、収集動作制御部141は、ステップS331へと戻り、次の事象情報に対する処理を行う。
ログ受信時条件で指定される検証対象サーバ200が受信したログファイル7fの送信元である場合が、ログ転送指示8f−1(図11)を送信する例に相当する。ログ受信時条件で指定される検証対象サーバ200が受信したログファイル7fの送信元と異なる場合が、ログ転送指示8f−2(図12)を送信する例に相当する。
上述したステップS322のYESの判定及びステップS334での処理は、詳細な検証を行うためにエージェントAGに与えられている現在の条件ファイル8bでは指定されていないログ種別のログファイル7fを収集する「ログ追加制御」に相当する。
受信したログファイル7fが分析装置動作定義152aのログ受信時条件に該当しない場合(ステップS332のNO)、ステップS331へと戻り、次の事象情報に対する処理を行う。
一方、ログファイル7fを受信した事象でない場合(ステップS331)、収集動作制御部141は、エージェント動作定義152bが変更された事象か否かを判断する(ステップS335)。エージェント動作定義152bが変更された事象である場合(ステップS335のYES)、収集動作制御部141は、記憶部130に格納されているログ収集定義152のエージェント動作定義152bから変更された定義情報を読み込む(ステップS336)。定義情報は、1以上の装置識別名、CPU及びOS種、ログ収集条件8c、及び終了条件8dの記述を含む。
次に、収集動作制御部141は、読み込んだログ収集条件8cと終了条件8dとを新たな条件ファイル8bに複写する(ステップS337)。そして、収集動作制御部141は、1以上の装置識別名それぞれで特定される検証対象サーバ200へ、新たな条件ファイル8bを送信することで、条件書換指示8eを行う(ステップS338)。
上述したステップS335のYESの判定及びステップS336〜S338までの処理は、検証対象サーバ200の記憶部230に保持されている条件ファイル8bを置き換える「条件書換制御」に相当する。
上述では、一例として、収集動作制御部141が定義情報の変更を検知して、条件書換指示8eを行う場合で説明したが、この例に限定されない。検証者が個別に検証対象サーバを特定した定義情報の追加であってもよい。
一方、エージェント動作定義の変更の事象ではない場合(ステップS335のNO)、収集動作制御部141は、ログ収集を終了する事象か否かを判断する(ステップS339)。ログ収集の終了の場合(ステップS339のYES)、収集動作制御部141は、終了指示8endを検証対象サーバ200へ送信する(ステップS340)。
上述したステップS339のYES及びステップS340での処理は、検証対象サーバ200のエージェントAGを削除してログ収集を終了する「エージェント終了制御」に相当する。
一方、ログ収集の終了する事象でない場合(ステップS339のNO)、収集動作制御部141は、ステップS331へと戻り、次の事象情報に対する処理を行う。
次に、検証対象サーバ200内で起動したエージェントAGによる処理を図23から図26で説明する。図23は、エージェントの動作の全体を説明するためのフローチャート図である。図23において、エージェントAGは起動すると、先ず、動作条件展開部AG1が、配置データ80から動作条件8b−2をメモリ212に展開する(ステップS401)。
配置データ80が条件ファイル8bを含む場合、エージェントAGは、条件ファイル8bから、ログ収集条件8cと、終了条件8dとを示す動作条件8b−2がメモリ212に展開される。配置データ80に条件ファイル8bが含まれない場合、エージェントAGは、エージェント実行ファイル8aのデータセクション8a−2から動作条件8b−2を読み出して、メモリ212に展開する。
その後、エージェントAGは、ログ収集に係る種々の事象を検知する。エージェントAGは、現在事象が終了条件に合致するか否かを判断する(ステップS402)。現在事象が終了条件に合致する場合(ステップS402のYES)、エージェントAGは、終了処理を行う(ステップS408)。エージェントAGの消滅により、検証対象サーバ200からのログ収集は終了する。
一方、現在事象が終了条件に合致しない場合(ステップS402のNO)、エージェントAGは、更に、ログ分析装置100から終了指示を受信したか否かを判断する(ステップS403)。終了指示を受信した場合(ステップS403のYES)、エージェントAGは、終了処理を行う(ステップS408)。エージェントAGの消滅により、検証対象サーバ200からのログ収集は終了する。
一方、終了指示を受信していない場合(ステップS403のNO)、エージェントAGは、更に、現在事象が指定条件に合致又は指定ログの転送指示(ログ転送指示8f−1又は8f−2)を受信したか否かを判断する(ステップS404)。現在事象が指定条件に合致する、又は、指定ログの転送指示を受信した場合(ステップS404のYES)、エージェントAGは、対象ログ取得処理を行う(ステップS405)。対象ログ取得処理は、図22で説明する。
一方、現在事象が指定条件に合致せず、また、指定ログの転送指示を受信していない場合(ステップS404のNO)、エージェントAGは、条件書換指示8eを受信したか否かを判断する(ステップS405)。即ち、条件ファイル7bを受信したか否かを判断すればよい。条件ファイル7bを受信した場合(ステップS405のYES)、エージェントAGは、条件書換部AG4によって、記憶部230(特に、メモリ212)内の動作条件8b−2を、受信した書換用の条件で上書きする(ステップS407)。その後、エージェントAGは、ステップS402へと戻り、上述同様の処理を繰り返す。
図24は、図23のステップS405における対象ログ取得処理を説明するためのフローチャート図である。図24において、対象ログ取得部AG3は、現在事象が動作条件8b−2のログ収集条件8cの指定条件に合致するか否かを判断する(ステップS421)。
対象ログ取得部AG3は、現在事象がログ収集条件8cの指定条件に合致する場合(ステップS421のYES)、記憶部230のログ領域271に蓄積された複数のログファイル7fのうち、ログ収集条件8cの指定動作に従ってログファイル7fを取得する(ステップS422)。そして、対象ログ取得部AG3は、ログ分析装置100へ取得したログファイル7fを送信する(ステップS423)。このログファイル7fの送信は、図11及び図12のログ転送7g−1に相当する。対象ログ取得処理は終了し、図23の処理に復帰する。
一方、現在事象が動作条件8b−2のログ収集条件8cの指定条件に合致しない場合(ステップS421)、対象ログ取得部AG3は、ログ転送指示を受信したか否かを判断する(ステップS424)。対象ログ取得部AG3は、ログ転送指示8f−1(図11)であるのか、ログ転送指示8f−2(図12)であるのかを区別する必要はない。即ち、現在事象が取得するログ種別を含むか否かを判断すればよい。
ログ転送指示の受信ではない場合(ステップS424のNO)、対象ログ取得部AG3は、記憶部230のログ領域271に蓄積された複数のログファイル7fから、ログ転送指示(即ち、現在事象)が指定するログ種別に一致するログファイル7fを取得する(ステップS422)。そして、対象ログ取得部AG3は、ログ分析装置100へ取得したログファイル7fを送信する(ステップS423)。このログファイル7fの送信は、図11のログ転送7g−2又は図12のログ転送7g−3に相当する。対象ログ取得処理は終了し、図23の処理に復帰する。
上述したステップS431のYES及びステップS422〜S423での処理は、図15のログ収集条件1、ログ収集条件2などにより制御される動作に相当する。上述した対象ログ取得処理に加えて、対象ログ取得部AG3は、図15のログ収集条件3などに従い、指定されたプログラム又はスクリプトの実行により得られた結果と、指定された結果との合致により、指定のログファイル7fを提供する。プログラム又はスクリプトを、単に、「プログラム」という。プログラムの実行により得られた結果を「実行結果」というものとする。ログ収集条件で指定された結果を、「指定結果」というものとする。
図25は、実行結果と指定結果との合致に応じたログ取得処理を説明するフローチャート図である。図25において、対象ログ取得部AG3は、ログ収集条件iに1を設定し、総数nにログ収集条件8cの総数を設定し、装置グループi及び総数nを初期化する(ステップS431)。ログ収集条件8cの総数は、動作条件8b−2で定義されているログ収集条件の総数に相当する。
対象ログ取得部AG3は、動作条件8b−2においてログ収集条件iの指定条件がプログラムの実行を指示しているか否かを判断する(ステップS432)。
プログラムの実行を指示している場合(ステップS432のYES)、対象ログ取得部AG3は、指定されたプログラムを実行し、実行結果を得る(ステップS433)。
対象ログ取得部AG3は、得られた実行結果がログ収集条件iの指定結果と合致したか否かを判断する(ステップS432)。実行結果が指定結果と合致した場合(ステップS434のYES)、対象ログ取得部AG3は、ログ領域271から、ログ収集条件iで指定されているログファイル7fを取得する(ステップS435)。そして、対象ログ取得部AG3は、ログ分析装置100に取得したログファイル7fを送信する。
一方、プログラムの実行を指示していない場合(ステップS432のNO)、実行結果が指定結果と合致しない場合(ステップS432のNO)、又は、ログファイル7fの送信後には、ログ収集条件iに1加算され、ステップS432〜S436が繰り返えされる。
図26は、図23のステップS408におけるエージェントの終了処理を説明するためのフローチャート図である。図26において、自己消滅部AG5は、記憶部230に保持されている配置データ80を完全に削除する(ステップS441)。
また、自己消滅部AG5は、メモリ212内の動作条件8b−2を削除し(ステップS442)、エージェントAG自身の動作を終了する(ステップS443)。この終了処理から図23の処理へと復帰して、エージェントAGは、検証対象サーバ200から完全に消滅する。
次に、ログ分析装置100における分析部143と可視化部144とによる分析処理及び可視化処理を説明する。本実施例では、様々な分析プログラムを、取得したログファイル7fに応じて適切に選択し、選択した分析プログラムによる分析結果を、逐次、ログ分析装置100の表示装置215又は端末300の表示装置315に表示する。以下では、一例として、端末300に表示されるものとして説明する。
図27は、分析処理及び可視化処理を説明するためのフローチャート図である。図27において、ログ分析装置100では、分析部143が、収集ログDB153からログファイル7fを1つ選択する(ステップS351)。分析部143は、選択したログファイル7fから得られるOS名とログの項目とが収集ログDB153のログパターンと一致するか否かを判断する(ステップS352)。
ログパターンと一致する場合(ステップS352のYES)、分析部143は、収集ログDB153において一致したログパターンに対して指定される分析プログラムを実行し、ログの分析結果156を得る(ステップS535)。分析部143は、収集ログDB153から一致したログパターンに対応付けられている分析プログラム名を取得して、取得した分析プログラム名を用いて分析プログラムを実行する。分析プログラムごとに分析結果156が記憶部130に記憶される。また、分析部143は、可視化部144に分析結果156を通知する。分析結果156の通知は、分析結果156が記憶されたアドレスであってもよい。
分析結果156の通知に応じて、可視化部144は、分析結果156そのもの、又は、予め定めたグラフなどの表示形式に従って表示する(ステップS354)。
一方、ログファイル7fのログの項目のパターンがログパターンと一致しない場合(ステップS352のNO)、分析部142は、可視化部144に、分析プログラムが存在しないことを示すメッセージを表示させる。
可視化部144による可視化処理の後、分析部143は、収集ログDB153において未選択のログファイル7fが存在するか否かを判断する(ステップS356)。未選択のログファイル7fが存在する場合(ステップS356のYES)、分析部143は、収集ログDB153から次のログファイル7fを選択するためステップS351へと進み、上記同様の処理を繰り返す。一方、未処理のログファイル7fが存在しない場合、分析部143による分析処理及び可視化部144による可視化処理を終了する。
上述した分析処理及び可視化処理は、検証者による分析を行うための操作、ログファイル7fの受信、定めた間隔などにより実施されればよい。このような開始のタイミングは、検証者によって予め設定されてもよい。
図28は、ログパターンを説明するための図である。図28では、ログファイル7fのデータ例と、ログパターンDB154のデータ構成例とが示される。ログファイル7fの先頭には、OS情報7aが示される。また、採取したログは、項目情報7bで示される項目に対して値が時系列に示される。
OS情報7aは、OS名を含む。この例では、OS情報7aによって、「Linux」が示される。項目情報7bでは、「CPU」、「%user」、「%nice」、「%system」、「%iowait」、「%steal」、「%idle」などの項目名が示される。これらの項目に対して時系列に値が記録されている。OS情報7aに含まれるOS名と、項目情報7bで示される項目の並び順とでログパターンが示される。ログパターンは、ログファイル7fごとに一意に特定される。
ログパターンDB154は、ログパターンごとに、性能を分析するプログラム名を対応付けたデータベースであり、ログパターン、ログ種別、分析プログラム名などの項目を有する。
ログパターンは、OS情報7aに含まれるOS名と、項目情報7bで示される項目の並び順とに相当する。ログファイル7fごとにログパターンを一意に特定できるため、ログパターンは、検証対象サーバ200から収集されたログファイル7fを分析する分析プログラムを特定するために使用される。
ログ種別は、ログパターンに与えた識別情報を示す。分析プログラム名は、ログデータを分析するプログラムを特定する識別情報である。分析プログラム名として、実行ファイル名が指定されればよい。
図28に示すログパターンDB154のデータ例では、ログパターン「^Linix.*\nCPU\s*%user\s*%nice\s*%system\s*%iowait\s*%steal\s*%idle」に対して、ログ種別「Linux sar -p all」と、分析プログラム名「Linux_sar_p_ALL.exe」とが対応付けられている。また、ログパターン「^Solaris.*\ntps\s*rtps\s*wtps\s*bread/s\s*bwrtn/s」に対して、ログ種別「Solaris sar -b」と、分析プログラム名「Solaris_sar_b.exe」とが対応付けられている。更に、ログパターン「^Linix.*\nrunq-sz\s*plist-sz\s*ldavg-1\s*ldavg-5\s*ldavg-15」に対して、ログ種別「Linux sar -q」と、分析プログラム名「Linux_sar_q.exe」とが対応付けられている。他のレコードについて同様である。
このように、ログパターンDB154は、様々なOSのそれぞれで得られるログファイル7fに対応する分析プログラムを一元的に管理する。分析プログラムを一元的に管理したログパターンDB154を用いた分析処理例について説明する。
図29は、分析部による分析処理例を説明するための図である。図29では、図27のステップを合せて示すこととする。分析部143は、収集ログDB153から所定順にログファイル7fを選択する(ステップS351)。
分析部143は、選択したログファイル7fのOS情報7aからOS名を取得し、また、項目情報7bから1又は複数の項目名を取得する。分析部143は、OS名と1又は複数の項目名とで作成したパターンが、ログパターンDB154に存在するログパターンの1つと一致するか否か判断する(ステップS352)。
この例では、分析部143は、ログファイル7fから、OS情報7aによってOS名「Linux」を取得し、項目情報7bに基づいて項目名「runq-sz」、「plist-sz」、「ldavg-1」、「ldavg-5」、及び「ldavg-15」を取得する。分析部143は、所定の記述規則に従って、パターン「^Linix.*\nrunq-sz\s*plist-sz\s*ldavg-1\s*ldavg-5\s*ldavg-15」を作成する。分析部143は、作成したパターンが、ログパターンDB154にログパターンとして存在するか否かを判断する。この場合、作成したパターンは、ログパターンの1つと一致する(ステップS352のYES)。
したがって、分析部143は、ログパターンDB154において、作成したパターンと一致したログパターンに対応付けられている分析プログラム名を取得する。そして、分析部143は、取得した分析プログラム名を用いて、目的の分析プログラムを実行し、分析結果を得る(ステップS353)。この例では、ログ種別「Linux sar -q」のログを分析する「Linux_sar_q.exe」が実行される。
1つのログパターンに対して1つの分析プログラムが実行される例を示したが、一元的にログパターンと分析プログラムとの対応関係を管理し、漏れなく分析を実施する観点において、1つのログパターンに対して2以上の分析プログラムが対応付けられてもよい。分析部143は、作成したパターンに対応付けられる全ての分析プログラム名を取得し、分析プログラム名それぞれを用いて分析プログラムを実行する。得られた分析結果156は、順次、記憶部130に出力される。
分析結果156を得られるごとに、可視化部144は、分析結果156を示す画面データを生成して出力する。
上述したように、本実施例によれば、ログ分析装置100は、検証対象サーバ200から、定義したタイミングで指定したログファイル7fを収集できるため、ログ収集漏れを防止できる。
複数の検証対象サーバ200から、様々な事象を含めて最大限にログファイル7fを収集してしまうと、ログ分析装置100に膨大なデータ量が集中してしまう。また、細かい頻度で様々なログファイル7fのデータ転送により、検証対象サーバ200それぞれにおける業務処理に影響を及ぼしかねない。
検証を行うためのログファイル7fを選択的に収集し、詳細な検証を必要とする事象に対して、詳細な検証に用いるログファイル7fを更に指定して収集することが好ましい。この観点において、本実施例によれば、ログ分析装置100は、更に、特定のログファイル7fの受信に応じて、速やかに検証対象となるログファイル7fを指定して収集する。
したがって、特定のログファイル7fの受信を検知したタイミングを逃すことなく、より詳細な検証を可能とするログファイル7fの追加収集を実現する。検証対象サーバ200における事象に応じて、事象の発生後速やかに、エージェントAGにログ転送させる。タイミングとログ転送するログファイル7fの指定を調整することにより、過剰なログ収集を抑制しつつ、動的にログファイル7fを追加できる。従って、ログ転送に係る、ログ分析装置100及び検証対象サーバ200の負荷を低減可能とする。
上述したように指定したタイミングで収集した様々なログファイル7fに対して、ログ分析装置100は、ログパターンDB154を有することで、ログファイル7fの内容に応じた分析プログラム155を速やかに実行可能とする。
本実施例では、人手を介すことなく、ログ収集では、検証対象サーバ200から指定したタイミングで所望のログファイル7fを収集でき、また、ログ分析では、分析漏れなく様々な分析を全て行える。
よって、本実施例に係るログ分析装置100は、ログ収集からログ分析までの一連の処理を効率化する。
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。
実施例において、ログファイル7fはログの一例であり、ログパターンは特徴点の一例である。図27における、分析部143が行うステップS351〜S352の処理が特定部の一例であり、S353の処理が実行部の一例である。可視化部144が行うステップS354の処理が表示部の一例である。
また、図19における、収集動作制御部141のステップS301〜S306の処理が配置部の一例である。
更に、図22における、収集動作制御部141のステップS339及びS340の処理が終了指示部の一例であり、収集動作制御部141のステップS335〜S338の処理が書換指示部の一例であり、収集動作制御部141のステップS331〜S334の処理がログ追加部の一例である。
また、図20における、収集動作制御部141のステップS311〜S315の処理が選択部の一例である。
本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
ログの特徴点ごとに、該特徴点に適合する分析プログラムを対応付けたデータベースと、
サーバに配置したエージェントからログを収集する収集部と、
前記データベースに保持した前記特徴点に基づいて、収集した前記ログの特徴点に適合する分析プログラムを特定する特定部と、
特定した前記分析プログラムを実行する実行部と、
前記分析プログラムにより得られた前記サーバから収集した前記ログに対する分析結果を表示装置に表示させる表示部と、
を有するログ分析装置。
(付記2)
前記特徴点は、ログ内で示される前記サーバのOSを特定するOS情報と、該ログで記録された1又は複数の項目を示す項目情報とにより表される付記1記載のログ分析装置。
(付記3)
ログ収集を行う条件及び動作を定めたログ収集条件に従って前記サーバが保持するログを転送する前記エージェントを、該サーバに配置する配置部を有し、
前記サーバから収集したログは、該サーバに配置された前記エージェントから転送されたログである付記2記載のログ分析装置。
(付記4)
前記配置部は、前記ログ収集条件と、前記エージェントに動作を終了させる終了条件と、前記エージェントとして動作する実行プログラムとを前記サーバに送信し、
前記サーバ内で前記実行プログラムによって起動した前記エージェントは、前記ログ収集条件に従ってログを転送し、前記終了条件の検知により自ら消滅する付記3記載のログ分析装置。
(付記5)
前記サーバ内の前記エージェントに、該エージェントの終了を指示する終了指示部を有する付記3記載のログ分析装置。
(付記6)
新たなログ収集条件を含む条件書換指示を送信することで、前記サーバ内の前記エージェントに、該サーバ内の前記ログ収集条件を書き換えさせる書換指示部を有する付記3記載のログ分析装置。
(付記7)
特定の特徴点を有するログの受信に応じて、該ログの送信元のサーバ内の前記エージェントに対して、追加のログを転送させるログ転送指示を行うログ追加部を有する付記3記載のログ分析装置。
(付記8)
前記配置部は、第1のサーバと第2のサーバとを含む複数のサーバに前記エージェントを配置し、
特定の特徴点を有するログの受信に応じて、該ログの送信元の第1のサーバとは異なる第2のサーバのエージェントに対して、追加のログを転送させるログ転送指示を行うログ追加部を有する付記3記載のログ分析装置。
(付記9)
前記エージェントとして動作し、異なるOSそれぞれに対応する複数の実行プログラムと、
前記複数の実行プログラムから前記サーバのOSに対応する実行プログラムを選択する選択部と
を有する付記3記載のログ分析装置。
(付記10)
前記特定部は、前記サーバから収集した前記ログの前記特徴点が、前記データベースに保持されている特徴点と一致しない場合、前記分析プログラムが存在しないことを示すメッセージを表示装置に表示させる付記1記載のログ分析装置。
(付記11)
ログの特徴点ごとに、該特徴点に適合する分析プログラムを対応付けたデータベースを参照して、サーバに配置したエージェントから収集したログの特徴点に適合する分析プログラムを特定し、
特定した前記分析プログラムを実行し、
前記分析プログラムにより得られた前記サーバから収集した前記ログに対する分析結果を表示装置に表示させる、
処理をコンピュータが行うログ分析方法。
(付記12)
ログの特徴点ごとに、該特徴点に適合する分析プログラムを対応付けたデータベースを参照して、サーバに配置したエージェントから収集したログの特徴点に適合する分析プログラムを特定し、
特定した前記分析プログラムを実行し、
前記分析プログラムにより得られた前記サーバから収集した前記ログに対する分析結果を表示装置に表示させる、
処理をコンピュータに行わせるログ分析プログラム。
(付記13)
サーバ内に存在し、ログ収集を行う条件と動作とを定めたログ収集条件に従って、該サーバが保持するログを転送するエージェントと、
ログの特徴点ごとに、該特徴点に適合する分析プログラムを対応付けたデータベースと、
前記データベースに保持した前記特徴点に基づいて、前記サーバ内の前記エージェントから収集したログの特徴点に適合する分析プログラムを実行し、該分析プログラムにより得られた該ログの分析結果を表示装置に表示させるログ分析装置と、
を有するシステム。
7f ログファイル
8a エージェント実行ファイル
8b 条件ファイル
80 配置データ
100 ログ分析装置
130 記憶部
141 収集動作制御部、 142 収集部
143 分析部、 144 可視化部
151 エージェント実行プログラム
152 ログ収集定義
152a 分析装置動作定義、 152b エージェント動作定義
152c 実行トレース定義
153 収集ログDB、 154 ログパターンDB
155 分析プログラム、 156 分析結果
200 検証対象サーバ
230 記憶部
261 業務処理部、 262 ログ蓄積部
AG エージェント
AG1 動作条件展開部
AG2 対象ログ提供部
AG3 対象ログ取得部、 AG4 条件書換部
AG5 自己消滅部
271 ログ領域
8b−2 動作条件

Claims (10)

  1. ログの特徴点ごとに、該特徴点に適合する分析プログラムを対応付けたデータベースと、
    サーバに配置したエージェントからログを収集する収集部と、
    前記データベースに保持した前記特徴点に基づいて、収集した前記ログの特徴点に適合する分析プログラムを特定する特定部と、
    特定した前記分析プログラムを実行する実行部と、
    前記分析プログラムにより得られた前記サーバから収集した前記ログに対する分析結果を表示装置に表示させる表示部と、
    を有するログ分析装置。
  2. 前記特徴点は、ログ内で示される前記サーバのOSを特定するOS情報と、該ログで記録された1又は複数の項目を示す項目情報とにより表される請求項1記載のログ分析装置。
  3. ログ収集を行う条件及び動作を定めたログ収集条件に従って前記サーバが保持するログを転送するエージェントを、該サーバに配置する配置部を有し、
    前記サーバから収集したログは、該サーバに配置された前記エージェントから転送されたログである請求項2記載のログ分析装置。
  4. 前記配置部は、前記ログ収集条件と、前記エージェントに動作を終了させる終了条件と、前記エージェントとして動作する実行プログラムとを前記サーバに送信し、
    前記サーバ内で前記実行プログラムによって起動した前記エージェントは、前記ログ収集条件に従ってログを転送し、前記終了条件の検知により自ら消滅する請求項3記載のログ分析装置。
  5. 前記サーバ内の前記エージェントに、該エージェントの終了を指示する終了指示部を有する請求項3記載のログ分析装置。
  6. 新たなログ収集条件を含む条件書換指示を送信することで、前記サーバ内の前記エージェントに、該サーバ内の前記ログ収集条件を書き換えさせる書換指示部を有する請求項3記載のログ分析装置。
  7. 特定の特徴点を有するログの受信に応じて、該ログの送信元のサーバ内の前記エージェントに対して、追加のログを転送させるログ転送指示を行うログ追加部を有する請求項3記載のログ分析装置。
  8. 前記配置部は、第1のサーバと第2のサーバとを含む複数のサーバに前記エージェントを配置し、
    特定の特徴点を有するログの受信に応じて、該ログの送信元の第1のサーバとは異なる第2のサーバのエージェントに対して、追加のログを転送させるログ転送指示を行うログ追加部を有する請求項3記載のログ分析装置。
  9. ログの特徴点ごとに、該特徴点に適合する分析プログラムを対応付けたデータベースを参照して、サーバに配置したエージェントから収集したログの特徴点に適合する分析プログラムを特定し、
    特定した前記分析プログラムを実行し、
    前記分析プログラムにより得られた前記サーバから収集した前記ログに対する分析結果を表示装置に表示させる、
    処理をコンピュータが行うログ分析方法。
  10. サーバ内に存在し、ログ収集を行う条件と動作とを定めたログ収集条件に従って、該サーバが保持するログを転送するエージェントと、
    ログの特徴点ごとに、該特徴点に適合する分析プログラムを対応付けたデータベースと、
    前記データベースに保持した前記特徴点に基づいて、前記サーバ内の前記エージェントから収集したログの特徴点に適合する分析プログラムを実行し、該分析プログラムにより得られた該ログの分析結果を表示装置に表示させるログ分析装置と、
    を有するシステム。
JP2020042210A 2020-03-11 2020-03-11 ログ分析装置、ログ分析方法、及びシステム Pending JP2021144431A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020042210A JP2021144431A (ja) 2020-03-11 2020-03-11 ログ分析装置、ログ分析方法、及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020042210A JP2021144431A (ja) 2020-03-11 2020-03-11 ログ分析装置、ログ分析方法、及びシステム

Publications (1)

Publication Number Publication Date
JP2021144431A true JP2021144431A (ja) 2021-09-24

Family

ID=77766714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020042210A Pending JP2021144431A (ja) 2020-03-11 2020-03-11 ログ分析装置、ログ分析方法、及びシステム

Country Status (1)

Country Link
JP (1) JP2021144431A (ja)

Similar Documents

Publication Publication Date Title
JP5140633B2 (ja) 仮想化環境において生じる障害の解析方法、管理サーバ、及びプログラム
US8381038B2 (en) Management server and management system
US10810096B2 (en) Deferred server recovery in computing systems
JP6114818B2 (ja) 管理システム及び管理プログラム
US10102106B2 (en) Promotion determination based on aggregated code coverage metrics
WO2013140608A1 (ja) イベントの根本原因の解析を支援する方法及びシステム
US11625310B2 (en) Application regression detection in computing systems
Di et al. Characterizing and understanding hpc job failures over the 2k-day life of ibm bluegene/q system
JP6009089B2 (ja) 計算機システムを管理する管理システム及びその管理方法
JP2012256148A (ja) 運用管理装置、及び方法
US20190319978A1 (en) Determining Exploit Prevention using Machine Learning
JP5998764B2 (ja) 情報処理装置、ログ出力方法およびログ出力プログラム
CN111400125A (zh) Java进程的内存溢出监控方法、装置、设备及存储介质
CN114902192A (zh) 云就绪度的验证和预测
JP5803935B2 (ja) 可用性分析装置及び可用性分析方法
CN114064435A (zh) 数据库测试方法、装置、介质与电子设备
CN113672452A (zh) 一种数据采集任务的运行监控方法、系统
US8032490B2 (en) Storage system operable to perform LU auditing
JP2021144431A (ja) ログ分析装置、ログ分析方法、及びシステム
JP7263206B2 (ja) 情報処理システム、情報処理システムの制御方法、情報処理装置、及びプログラム
JP6317074B2 (ja) 障害通知装置、障害通知プログラムならびに障害通知方法
US11080123B2 (en) Information processing apparatus
Ljubuncic Problem-solving in High Performance Computing: A Situational Awareness Approach with Linux
KR102244562B1 (ko) 정보 처리 장치, 정보 처리 방법 및 프로그램
JP2008123438A (ja) コンピュータシステム、プログラム情報収集方法、およびコンピュータプログラム