(57)【要約】【課題】アクセスログから特定のログデータを取得する時間を短縮する。【解決手段】アクセスログを記憶する記憶部から特定のログデータを取得するログ取得装置５０は、アクセスログに含まれる複数のログデータのうち、リクエストを識別する情報と、該リクエストに関する応答時間と、ログ記録時刻とを含むログデータを取得すると、アクセスログに含まれる複数のログデータのうち、取得したログデータに含まれるログ記録時刻より応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出する抽出部７２と、抽出部７２により抽出されたログデータから、取得したログデータに含まれるリクエストを識別する情報を含むログデータを取得する取得部７４と、を含む。【選択図】図４
2018005571.tif 000002
【特許請求の範囲】
【請求項１】
アクセスログを記憶する記憶部から特定のログデータを取得するログ取得プログラムにおいて、
前記アクセスログに含まれる複数のログデータのうち、リクエストを識別する情報と、該リクエストに関する応答時間と、ログ記録時刻とを含むログデータを取得すると、前記アクセスログに含まれる複数のログデータのうち、取得した前記ログデータに含まれる前記ログ記録時刻より前記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出し、
抽出した前記ログデータから、取得した前記ログデータに含まれる前記リクエストを識別する情報を含むログデータを取得する、
処理をコンピュータに実行させることを特徴とするログ取得プログラム。
【請求項２】
予め定められた特定のデータに対してアクセスされた場合に、前記データに対するリクエスト元の記憶部に記憶された前記アクセスログに含まれる複数のログデータのうち、前記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出する、
請求項１記載のログ取得プログラム。
【請求項３】
前記アクセスログに含まれるログデータは、リクエスト元を識別するリクエスト元識別情報をさらに含み、
前記データへのリクエストを送信した端末から前記データに対してアクセスするための通信経路に複数の機器が存在し、
取得したログデータに含まれる前記リクエスト元識別情報が示すリクエスト元に対応する前記機器の記憶部に記憶されたアクセスログに含まれる複数のログデータのうち、取得したログデータに含まれる前記リクエストを識別する情報を含み、かつ前記応答時間及び前記ログ記録時刻を含むログデータより該応答時間前の時刻に対応するログ記録時刻を含むログデータをさらに抽出し、
抽出した前記ログデータから、前記応答時間及び前記ログ記録時刻を含むログデータに含まれる前記リクエストを識別する情報を含むログデータをさらに取得する、
請求項２記載のログ取得プログラム。
【請求項４】
アクセスログを記憶する記憶部から特定のログデータを取得するログ取得装置において、
前記アクセスログに含まれる複数のログデータのうち、リクエストを識別する情報と、該リクエストに関する応答時間と、ログ記録時刻とを含むログデータを取得すると、前記アクセスログに含まれる複数のログデータのうち、取得した前記ログデータに含まれる前記ログ記録時刻より前記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出する抽出部と、
前記抽出部により抽出された前記ログデータから、取得した前記ログデータに含まれる前記リクエストを識別する情報を含むログデータを取得する取得部と、
含むことを特徴とするログ取得装置。
【請求項５】
アクセスログを記憶する記憶部から特定のログデータを取得するログ取得方法において、
前記アクセスログに含まれる複数のログデータのうち、リクエストを識別する情報と、該リクエストに関する応答時間と、ログ記録時刻とを含むログデータを取得すると、前記アクセスログに含まれる複数のログデータのうち、取得した前記ログデータに含まれる前記ログ記録時刻より前記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出し、
抽出した前記ログデータから、取得した前記ログデータに含まれる前記リクエストを識別する情報を含むログデータを取得する、
処理をコンピュータに実行させることを特徴とするログ取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログ取得プログラム、ログ取得装置、及びログ取得方法に関する。
【背景技術】
【０００２】
従来、クラウドシステム上において、テナント別にトランザクションログに記録された複数のログデータから、トランザクションＩＤ等のリクエストを識別するリクエスト識別情報を用いて特定のログデータを取得する技術が知られている。この技術では、取得したログデータを、テナント毎にログデータベースに書き込む。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１４−５０２７６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、システム内の機器の記憶部に記憶されたアクセスログを取得して分析することが行われている。そして、例えば、アクセスログに含まれるログデータを分析することで、システムに対するサイバー攻撃等を検知することが行われている。
【０００５】
大量のログデータが記録されたアクセスログから、前述したリクエスト識別情報が含まれるログデータ等の特定のログデータを取得する取得処理には、比較的長い時間がかかってしまう。そして、この取得処理に時間がかかることで、ログデータの分析のリアルタイム性が低下してしまう。
【０００６】
本発明は、一つの側面として、アクセスログから特定のログデータを取得する時間を短縮することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、一つの側面として、アクセスログを記憶する記憶部から特定のログデータを取得する。この取得において、前記アクセスログに含まれる複数のログデータのうち、リクエストを識別する情報と、該リクエストに関する応答時間と、ログ記録時刻とを含むログデータを取得すると、以下のログデータを抽出する。すなわち、前記アクセスログに含まれる複数のログデータのうち、取得した前記ログデータに含まれる前記ログ記録時刻より前記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出する。そして、抽出した前記ログデータから、取得した前記ログデータに含まれる前記リクエストを識別する情報を含むログデータを取得する。
【発明の効果】
【０００８】
一つの側面として、アクセスログから特定のログデータを取得する時間を短縮することができる、という効果を有する。
【図面の簡単な説明】
【０００９】
【図１】アクセスログの取得処理の一例を説明するためのブロック図である。
【図２】アクセスログの取得処理の一例を説明するためのブロック図である。
【図３】実施形態に係るログ取得システムの概略構成を示すブロック図である。
【図４】実施形態に係るログ取得装置の機能ブロック図である。
【図５】ログ格納先テーブルの一例を示す図である。
【図６】各機器のＩＰアドレスを説明するためのブロック図である。
【図７】データテーブルの一例を示す図である。
【図８】フラグテーブルの一例を示す図である。
【図９】アクセスログの一例を示す図である。
【図１０】アクセスログの一例を示す図である。
【図１１】送信ログデータの一例を示す図である。
【図１２】送信ログデータを説明するためのブロック図である。
【図１３】実施形態に係るログ取得装置として機能するコンピュータの概略構成を示すブロック図である。
【図１４】実施形態に係るログ取得処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態の一例を詳細に説明する。
【００１１】
まず、実施形態の詳細を説明する前に、図１を参照して、アクセスログの取得処理の問題点について説明する。ここでは、図１に示すように、プライベート環境１０、及びパブリッククラウド等のクラウドシステム１２が、インターネット等のネットワーク１４を介して接続されている環境を例に説明する。なお、ここでいうプライベート環境とは、例えばオンプレミス、及びプライベートクラウド等の環境のことである。
【００１２】
図１に示すように、プライベート環境１０には、業務システム１６Ａが構築されており、業務システム１６Ａは、アクセスログ１８Ａが記憶される記憶部を有する複数の機器２０Ａ、及びアクセスログ１８Ａを取得するログ取得装置２２Ａを含む。機器２０Ａとしては、例えば、Load Balancer（ＬＢ）、FireWall（ＦＷ）、サーバコンピュータ、及び仮想マシン等が挙げられる。また、プライベート環境１０には、業務システム１６Ａとは別に、ログ分析装置２４Ａが設置されている。
【００１３】
一方、クラウドシステム１２には、業務システム１６Ｂが構築されている。業務システム１６Ｂは、プライベート環境１０の業務システム１６Ａと同様に、アクセスログ１８Ｂが記憶される記憶部を有する複数の機器２０Ｂ、及びアクセスログ１８Ｂを取得するログ取得装置２２Ｂを含む。なお、以下では、業務システム１６Ａ、１６Ｂ、アクセスログ１８Ａ、１８Ｂ、機器２０Ａ、２０Ｂ、及びログ取得装置２２Ａ、２２Ｂを区別せずに総称する場合は、符号の末尾のアルファベットを省略する。
【００１４】
ログ分析装置２４Ａによりアクセスログ１８を解析することで業務システム１６へのアクセスを分析する場合、アクセスログ１８Ｂについては、ログ取得装置２２Ｂが機器２０Ｂから取得して、ネットワーク１４を介してログ分析装置２４Ａに送信することとなる。一般的に、インターネット等のネットワーク１４では、Local Area Network（ＬＡＮ）等のプライベート環境１０の内部のネットワークに比べて転送速度が遅く、アクセスログ１８Ｂの送信に比較的長い時間がかかってしまう、という問題点がある。そして、この問題点により、ログ分析装置２４Ａによるアクセスログ１８の分析のリアルタイム性が低下する。
【００１５】
また、一般的に、パブリッククラウド等のクラウドシステム１２では、データの転送量に従った従量課金が行われる場合がある。この場合は、ネットワーク１４を介してクラウドシステム１２からプライベート環境１０に送信するアクセスログ１８Ｂのデータの転送量が多いほど、コストが高くなってしまう、という問題点がある。
【００１６】
これらの問題点に対し、例えば、収集対象とするアクセスログ１８Ｂの種類、及び範囲等を限定することで、クラウドシステム１２からプライベート環境１０へのアクセスログ１８Ｂの転送量を減らす手法が考えられる。しかしながら、この手法では、例えば、アクセスログ１８Ｂの収集対象外となっている機器２０Ｂに対してサイバー攻撃が行われた場合に、サイバー攻撃を検知できず、また、サイバー攻撃による影響を解析することができない。
【００１７】
また、例えば、図２に示すように、ログ分析装置２４Ａと同様のログ分析装置２４Ｂをクラウドシステム１２内に設けることで、クラウドシステム１２からプライベート環境１０へのアクセスログ１８Ｂの転送量を減らす手法が考えられる。しかしながら、この手法では、ログ分析装置２４が２台必要となり、コストが増大してしまう。また、例えば、ログ分析装置２４がハードウェアアプライアンス製品である場合、及びパブリッククラウドで利用可能な仮想マシンの性能がログ分析装置２４の性能要件を満たさない場合等は、この手法を採用することができない。
【００１８】
そこで、本実施形態では、アクセスログに含まれる複数のログデータから、ログデータに含まれる応答時間に基づいて、ログデータの取得範囲を限定することで、ログデータの取得時間の短縮を図る。
【００１９】
次に、図３を参照して、本実施形態に係るログ取得システム３０の構成を説明する。図３に示すように、ログ取得システム３０は、クライアント環境３２、クラウドシステム３４、及びプライベート環境３６を含む。そして、クライアント環境３２、クラウドシステム３４、及びプライベート環境３６に設置された機器は、インターネット等のネットワーク３８を介して互いに通信可能に接続される。
【００２０】
クライアント環境３２には、複数台のクライアント端末３３（以下、単に「端末３３」という）が設置されている。
【００２１】
クラウドシステム３４には、業務システム４０が構築されている。業務システム４０は、ＬＢ４２、ＦＷ４４Ａ、４４Ｂ、アプリケーション（ＡＰ）サーバ４６Ａ、４６Ｂ、データベース（ＤＢ）サーバ４８Ａ、４８Ｂ、及びログ取得装置５０を含む。なお、以下では、ＦＷ４４Ａ、４４Ｂ、ＡＰサーバ４６Ａ、４６Ｂ、及びＤＢサーバ４８Ａ、４８Ｂの各々を区別せずに総称する場合は、符号の末尾のアルファベットを省略する。また、本実施形態では、ＬＢ４２、ＦＷ４４、ＡＰサーバ４６、ＤＢサーバ４８、及びログ取得装置５０の各機器は、Network Time Protocol（ＮＴＰ）等を用いて、各機器の時刻が同期されているものとする。
【００２２】
ＬＢ４２は、端末３３等の業務システム４０の外部からのアクセスによるＦＷ４４、ＡＰサーバ４６、ＤＢサーバ４８に対する負荷を分散する。また、ＬＢ４２が備える図示しない記憶部の所定の記憶領域には、ＬＢ４２に対するアクセスを表すログデータが記録されるアクセスログ５２Ａが記憶される。
【００２３】
ＦＷ４４は、設定されたルールに従って、インバウンド及びアウトバウンドの各々の通信を通過させたり、遮断したりする。また、ＦＷ４４Ａ、４４Ｂが備える図示しない記憶部の所定の記憶領域には、ＦＷ４４Ａ、４４Ｂに対するアクセスを表すログデータが記録されるアクセスログ５２Ｂ、５２Ｃが記憶される。
【００２４】
ＡＰサーバ４６では、例えばＷｅｂアプリケーションサーバプログラム上で、後述するＤＢ５４Ａ、５４Ｂへのアクセスを行うＷｅｂアプリケーションが稼働する。また、ＡＰサーバ４６Ａ、４６Ｂが備える図示しない記憶部の所定の記憶領域には、ＡＰサーバ４６Ａ、４６Ｂに対するアクセスを表すログデータが記録されるアクセスログ５２Ｄ、５２Ｅが記憶される。
【００２５】
ＤＢサーバ４８Ａ、４８Ｂが備える図示しない記憶部の所定の記憶領域には、重要なデータとして予め定められた特定のデータ（以下、「重要データ」という）を含む各種データを記憶するＤＢ５４Ａ、５４Ｂが記憶される。また、該記憶部の所定の記憶領域には、ＤＢ５４Ａ、５４Ｂに対するアクセスを表すログデータが記録されるアクセスログ５６Ａ、５６Ｂが記憶される。
【００２６】
なお、以下では、アクセスログ５２Ａ、５２Ｂ、５２Ｃ、５２Ｄ、５２Ｅ、ＤＢ５４Ａ、５４Ｂ、及びアクセスログ５６Ａ、５６Ｂの各々を区別せずに総称する場合は、符号の末尾のアルファベットを省略する。
【００２７】
そして、ＬＢ４２とＦＷ４４Ａ、４４Ｂとは、互いに通信可能にＬＡＮ等の図示しないネットワークに接続される。また、ＦＷ４４ＡとＡＰサーバ４６Ａとは、互いに通信可能にネットワークに接続される。また、ＦＷ４４ＢとＡＰサーバ４６Ｂとは、互いに通信可能にネットワークに接続される。また、ＡＰサーバ４６Ａ、４６ＢとＤＢサーバ４８Ａ、４８Ｂとは、互いに通信可能にネットワークに接続される。
【００２８】
ログ取得装置５０は、アクセスログ５２及びアクセスログ５６を取得可能にネットワークに接続される。そして、ログ取得装置５０は、アクセスログ５２及びアクセスログ５６から特定のログデータを取得し、取得したログデータを、ネットワーク３８を介して後述するログ分析装置６２に送信する。なお、ＬＢ４２、ＦＷ４４、ＡＰサーバ４６、ＤＢサーバ４８、及びログ取得装置５０の台数及び接続構成は一例であり、図３の例に限定されないことは言うまでもない。
【００２９】
プライベート環境３６には、クラウドシステム３４の業務システム４０と同様の業務システム６０が構築されている。また、プライベート環境３６には、ログ取得装置５０から送信された特定のログデータを受信し、受信したログデータを分析するログ分析装置６２が設置されている。
【００３０】
次に、図４を参照して、本実施形態に係るログ取得装置５０の機能的な構成を説明する。図４に示すように、ログ取得装置５０は、検知部７０、抽出部７２、取得部７４、及び
送信部７６を含む。また、ログ取得装置５０の所定の記憶領域には、ログ格納先テーブル７８が記憶される。
【００３１】
図５に、ログ格納先テーブル７８の一例を示す。図５に示すように、ログ格納先テーブル７８には、機器ＩＰ及び格納パスが記憶される。機器ＩＰには、業務システム４０内のアクセスログ５２及びアクセスログ５６が記憶される機器のＩＰアドレスが記憶される。格納パスには、アクセスログの格納先のパスが記憶される。なお、本実施形態では、一例として図６に示すように、ＡＰサーバ４６ＡのＩＰアドレスが「ＡＡ：ＡＡ：ＡＡ：ＡＡ」であり、ＡＰサーバ４６ＢのＩＰアドレスが「ＢＢ：ＢＢ：ＢＢ：ＢＢ」であるものとする。また、本実施形態では、ＦＷ４４ＡのＩＰアドレスが「ＣＣ：ＣＣ：ＣＣ：ＣＣ」であり、ＦＷ４４ＢのＩＰアドレスが「ＤＤ：ＤＤ：ＤＤ：ＤＤ」であるものとする。また、本実施形態では、ＬＢ４２のＩＰアドレスが「ＥＥ：ＥＥ：ＥＥ：ＥＥ」であるものとする。
【００３２】
すなわち、図５の例では、ＩＰアドレスが「ＡＡ：ＡＡ：ＡＡ：ＡＡ」であるＡＰサーバ４６Ａのアクセスログ５２Ｄは、「／ｅｔｃ／ｃｏｎｆ／ａａ．ｌｏｇ」に記憶されることを示している。
【００３３】
本実施形態に係る検知部７０は、アクセスログ５６及びＤＢ５４に記憶されたデータに基づいて、ＤＢ５４に記憶された重要データに対するアクセスを検知する。図７〜図９を参照して、検知部７０による重要データに対するアクセスを検知する検知処理について説明する。
【００３４】
図７に、ＤＢ５４に記憶されるデータテーブル８０の一例を示す。また、図８に、ＤＢ５４に記憶されるフラグテーブル８２の一例を示す。図７に示すように、データテーブル８０には、データ番号、データ内容、及び部署名が記憶される。データ番号には、各データを一意に識別する番号が記憶される。データ内容には、データの内容が記憶される。部署名には、データ内容に記憶されたデータの内容を取り扱う部署名が記憶される。
【００３５】
一方、図８に示すように、フラグテーブル８２には、部署名及び重要度フラグが記憶される。フラグテーブル８２の部署名には、データテーブル８０の部署名と同様の情報が記憶される。重要度フラグには、部署名に記憶された部署で取り扱われるデータの内容が重要であるか否かを示す情報が記憶される。本実施形態では、一例として、重要度フラグが「Ｔｒｕｅ」である部署名の部署で取り扱われるデータが重要データであり、重要度フラグが「Ｆａｌｓｅ」である部署名の部署で取り扱われるデータが非重要データであるものとする。すなわち、図７及び図８の例では、データ番号が「０００００２」のデータが重要データであることを示している。
【００３６】
なお、例えば、重要データとしては、アクセスログの解析対象とするデータとしてユーザにより設定されたデータ等が挙げられる。また、重要データであるか否かを部署名で判定することは一例であり、これに限定されないことは言うまでもない。
【００３７】
また、図９に、アクセスログ５６の一例を示す。なお、図９では錯綜を回避するために、上記検知処理で用いる情報を正規化した形式でのアクセスログ５６の一例を示す。図９に示すように、アクセスログ５６には、通信ＩＤ、通信種類、ログ記録時刻、リクエスト元ＩＰ、及び対象データ番号が記録される。
【００３８】
通信ＩＤには、端末３３等の業務システム４０の外部からのリクエストを一意に識別するリクエスト識別情報が記憶される。本実施形態では、通信ＩＤは、例えば端末３３から業務システム４０へのリクエストがあった場合、該リクエストから端末３３へのレスポンスまでの一連の通信について、同一の通信ＩＤがアクセスログ５２及びアクセスログ５６に記憶される。
【００３９】
通信種類には、通信の種類として、リクエスト（Ｒｅｑｕｅｓｔ、要求）であるか、又はレスポンス（Ｒｅｐｓｐｏｎｓｅ、応答）であるかが記憶される。ログ記録時刻には、リクエスト又はレスポンスが発生し、該リクエスト又はレスポンスに対応するログデータがアクセスログ５６に記録された日時が記憶される。なお、ログ記録時刻には、時刻のみが記憶されてもよい。
【００４０】
リクエスト元ＩＰには、通信種類が「Ｒｅｑｕｅｓｔ」である場合に、リクエスト元の機器のＩＰアドレスが記憶される。対象データ番号には、アクセスされたデータテーブル８０のデータのデータ番号が記憶される。
【００４１】
検知部７０は、定期的にアクセスログ５６を参照し、通信種類が「Ｒｅｑｕｅｓｔ」のログデータが記録された場合に、該ログデータの対象データ番号を取得する。そして、検知部７０は、データテーブル８０を参照し、取得した対象データ番号に対応するデータ番号の部署名を取得する。さらに、検知部７０は、フラグテーブル８２を参照し、取得した部署名に対応する部署名の重要度フラグが「Ｔｒｕｅ」であるか否かによって、重要データに対してアクセスされたか否かを検知する。
【００４２】
また、検知部７０は、重要データに対してアクセスされたことを検知した場合、アクセスログ５６に記録された、該アクセスに対応するログデータを抽出部７２及び取得部７４に出力する。すなわち、図９の例では、検知部７０は、通信ＩＤが「ＡＡＡＡ」であるログデータを、抽出部７２及び取得部７４に出力する。
【００４３】
抽出部７２は、検知部７０からログデータが入力されると、ログ格納先テーブル７８を参照し、該ログデータのリクエスト元ＩＰが示す機器から、該リクエスト元ＩＰに対応する格納パスに記憶されたアクセスログ５２を取得する。そして、抽出部７２は、検知部７０から入力されたログデータのログ記録時刻に基づいて、取得したアクセスログ５２からログデータを抽出する。図１０を参照して、抽出部７２によるログデータの抽出処理について説明する。
【００４４】
図１０に、アクセスログ５２Ｄの一例を示す。なお、図１０では錯綜を回避するために、上記抽出処理で用いる情報を正規化した形式でのアクセスログ５２Ｄの一例を示す。図１０に示すように、アクセスログ５２Ｄには、通信ＩＤ、通信種類、ログ記録時刻、リクエスト元ＩＰ、及び応答時間が記憶される。なお、図１０では、アクセスログ５２Ｄの例を示しているが、アクセスログ５２Ａ〜５２Ｃ、５２Ｅもアクセスログ５２Ｄと同様のログデータが記憶される。
【００４５】
通信ＩＤ、通信種類、ログ記録時刻、及びリクエスト元ＩＰには、アクセスログ５６の通信ＩＤ、通信種類、ログ記録時刻、及びリクエスト元ＩＰと同様の情報が記憶される。応答時間には、リクエストからレスポンスまでに費やされた時間が記憶される。
【００４６】
抽出部７２は、検知部７０から入力されたログデータのログ記録時刻以降にアクセスログ５２Ｄに記録されたログデータ８４から、入力されたログデータの通信ＩＤと同一の通信ＩＤを含むログデータ８６を特定する。このように、ログデータ８６を特定する際の範囲を上記ログ記録時刻以降に限定しているのは、アクセスログ５２Ｄに記録されたＤＢサーバ４８からのレスポンスのログを特定するためである。
【００４７】
そして、抽出部７２は、アクセスログ５２Ｄに含まれるログデータから、特定したログデータ８６に含まれるログ記録時刻よりもログデータ８６に含まれる応答時間前の時刻に対応するログ記録時刻を含むログデータ８８を抽出する。
【００４８】
図１０の例では、抽出部７２は、ログデータ８６に含まれるログ記録時刻である「１２：００：０２」から、ログデータ８６に含まれる応答時間である「３０００ｍｓ」（＝３秒）を減算した「１１：５９：５９」に記録されたログデータ８８を抽出する。
【００４９】
取得部７４は、抽出部７２により抽出されたログデータ８８から、ログデータ８６に含まれる通信ＩＤと同一の通信ＩＤが含まれるログデータ９０を取得する。
【００５０】
また、抽出部７２は、取得部７４により取得されたログデータ９０に含まれるリクエスト元ＩＰの機器から、該リクエスト元ＩＰに対応する格納パスに記憶されたアクセスログ５２を取得して、上記抽出処理を行う。そして、抽出部７２は、抽出対象のアクセスログ５２が、通信経路の最上流の機器（本実施形態では、ＬＢ４２）のアクセスログ５２Ａとなるまで、上記抽出処理を繰り返す。
【００５１】
同様に、取得部７４も、抽出部７２により繰り返し抽出されたログデータ８８に対して、上記のログデータ９０を取得する処理を繰り返し行う。
【００５２】
送信部７６は、検知部７０から入力されたログデータ、ログデータ８６、及びログデータ９０を時系列に並べ、各ログデータの出力元の機器を示す情報を付与した送信ログデータ９２を生成する。そして、送信部７６は、生成した送信ログデータ９２を、ネットワーク３８を介してログ分析装置６２に送信する。
【００５３】
図１１に、送信ログデータ９２の一例を示す。図１１に示すように、送信ログデータ９２には、通信ＩＤ、通信種類、ログ記録時刻、リクエスト元ＩＰ、対象データ番号、応答時間、及び出力元機器が記憶される。通信ＩＤ、通信種類、ログ記録時刻、リクエスト元ＩＰ、対象データ番号、及び応答時間には、アクセスログ５２及びアクセスログ５６の少なくとも一方に記憶される対応する情報と同様の情報が記憶される。出力元機器には、前述した各ログデータの出力元の機器を示す情報として、該出力元の機器のＩＰアドレスが記憶される。
【００５４】
図１１の例では、送信ログデータ９２には、一例として図１２に示すように、通信経路に存在するＬＢ４２、ＦＷ４４Ａ、ＡＰサーバ４６Ａ、及びＤＢサーバ４８Ｂの一連の通信に関連するリクエスト及びレスポンスのログデータが記憶される。
【００５５】
ログ取得装置５０は、例えば図１３に示すコンピュータ１００で実現することができる。コンピュータ１００は、Central Processing Unit（ＣＰＵ）１０１、一時記憶領域としてのメモリ１０２、及び不揮発性の記憶部１０３を備える。また、コンピュータ１００は、表示装置及び入力装置等の入出力装置１０４を備える。また、コンピュータ１００は、記録媒体１０８に対するデータの読み込みと書き込みとを制御するＲｅａｄ／Ｗｒｉｔｅ（Ｒ／Ｗ）部１０５、及びネットワークに接続されるネットワークＩ／Ｆ１０６を備える。ＣＰＵ１０１、メモリ１０２、記憶部１０３、入出力装置１０４、Ｒ／Ｗ部１０５、及びネットワークＩ／Ｆ１０６は、バス１０７を介して互いに接続される。
【００５６】
記憶部１０３は、Hard Disk Drive（ＨＤＤ）、Solid State Drive（ＳＳＤ）、フラッシュメモリ等によって実現することができる。記憶媒体としての記憶部１０３には、コンピュータ１００をログ取得装置５０として機能させるためのログ取得プログラム１１０が記憶される。ログ取得プログラム１１０は、検知プロセス１１１、抽出プロセス１１２、取得プロセス１１３、及び送信プロセス１１４を有する。また、記憶部１０３は、ログ格納先テーブル７８が記憶される情報記憶領域１１５を有する。
【００５７】
ＣＰＵ１０１は、ログ取得プログラム１１０を記憶部１０３から読み出してメモリ１０２に展開し、ログ取得プログラム１１０が有するプロセスを実行する。ＣＰＵ１０１は、検知プロセス１１１を実行することで、図４に示す検知部７０として動作する。ＣＰＵ１０１は、抽出プロセス１１２を実行することで、図４に示す抽出部７２として動作する。ＣＰＵ１０１は、取得プロセス１１３を実行することで、図４に示す取得部７４として動作する。ＣＰＵ１０１は、送信プロセス１１４を実行することで、図４に示す送信部７６として動作する。これにより、ログ取得プログラム１１０を実行したコンピュータ１００が、ログ取得装置５０として機能することになる。
【００５８】
また、ログ取得プログラム１１０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit（ＡＳＩＣ）等で実現することも可能である。
【００５９】
次に、本実施形態に係るログ取得装置５０の作用を説明する。ログ取得装置５０がログ取得プログラム１１０を実行することで、図１４に示すログ取得処理を実行する。図１４に示すログ取得処理は、例えばログ取得装置５０の電源がオン状態とされた場合等にＣＰＵ１０１により実行される。
【００６０】
図１４に示すログ取得処理のステップＳ１０で、検知部７０は、ＤＢサーバ４８からアクセスログ５６を取得する。なお、本実施形態では、検知部７０は、アクセスログ５６に記録されたログデータのうち、ステップＳ１０の処理を前回実行してから未取得のログデータを取得する。
【００６１】
次のステップＳ１２で、検知部７０は、前述したように、ステップＳ１０で取得されたログデータのうち、通信種類が「Ｒｅｑｕｅｓｔ」のログデータを取得する。そして、検知部７０は、データテーブル８０及びフラグテーブル８２を参照し、取得したログデータに基づいて、重要データに対してアクセスされたか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ１０に戻り、肯定判定となった場合は、処理はステップＳ１４に移行する。
【００６２】
ステップＳ１４で、検知部７０は、ステップＳ１０で取得されたログデータから、ステップＳ１２で検知した重要データに対するアクセスに対応するログデータを抽出する。次のステップＳ１６で、抽出部７２は、ログ格納先テーブル７８を参照し、ステップＳ１４で抽出されたログデータに含まれるリクエスト元ＩＰが示す機器から、該リクエスト元ＩＰに対応する格納パスに記憶されたアクセスログ５２を取得する。
【００６３】
なお、後述するステップＳ２４の判定が否定判定となり、本ステップＳ１４が２回目以降に実行される場合は、抽出部７２は、以下の処理によってアクセスログ５２を取得する。すなわち、この場合、抽出部７２は、ログ格納先テーブル７８を参照し、後述するステップＳ２２で取得されたログデータ９０に含まれるリクエスト元ＩＰが示す機器から、該リクエスト元ＩＰに対応する格納パスに記憶されたアクセスログ５２を取得する。
【００６４】
次のステップＳ１８で、抽出部７２は、前述したように、ステップＳ１６で取得されたアクセスログ５２に、ステップＳ１４で抽出されたログデータに含まれるログ記録時刻以降に記録されたログデータ８４から、ログデータ８６を特定する。なお、本ステップＳ１８が２回目以降に実行される場合は、以下の処理でログデータ８６を特定する。すなわち、この場合、抽出部７２は、直前のステップＳ１６で取得されたアクセスログ５２に、前回のステップＳ１８で特定されたログデータ８６に含まれるログ記録時刻以降に記録されたログデータ８４から、ログデータ８６を特定する。
【００６５】
次のステップＳ２０で、抽出部７２は、前述したように、ステップＳ１６で取得されたアクセスログ５２に含まれるログデータから、以下の処理によってログデータ８８を抽出する。すなわち、抽出部７２は、該ログデータから、ステップＳ１８で特定されたログデータ８６に含まれるログ記録時刻よりもログデータ８６に含まれる応答時間前の時刻に対応するログ記録時刻を含むログデータ８８を抽出する。
【００６６】
次のステップＳ２２で、取得部７４は、ステップＳ２０で抽出されたログデータ８８から、ステップＳ１８で特定されたログデータ８６に含まれる通信ＩＤと同一の通信ＩＤが含まれるログデータ９０を取得する。
【００６７】
次のステップＳ２４で、取得部７４は、上記ステップＳ１６〜ステップＳ２２の処理対象としたアクセスログ５２が、ＬＢ４２のアクセスログ５２であるか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ１６に戻り、肯定判定となった場合は、処理はステップＳ２６に移行する。
【００６８】
ステップＳ２６で、送信部７６は、前述したように、ステップＳ１４で抽出されたログデータ、ステップＳ１８で特定されたログデータ８６、及びステップＳ２２で取得されたログデータ９０を用いて、送信ログデータ９２を生成する。次のステップＳ２８で、送信部７６は、ステップＳ２６で生成された送信ログデータ９２を、ネットワーク３８を介してログ分析装置６２に送信する。本ステップＳ２８の処理が終了すると、処理はステップＳ１０に戻る。
【００６９】
上記のログ取得処理によるログデータの転送量の削減効果を試算する。ここでは、一例として、アクセスログが記憶される機器の台数が１００台で、リクエスト数が１００００件／秒である場合について試算する。また、ここでは、一例として、１回のリクエストに関連する機器の台数が全体の１０％である１０台で、アクセスログに記録される１行のログデータのデータ容量が０．５ｋｂｉｔである場合について試算する。さらに、ここでは、一例として、重要データに対するリクエスト数が１件／秒である場合について試算する。
【００７０】
１秒間にアクセスログに記録されるログデータの行数は、以下に示す（１）式で算出される。
ログデータの行数＝リクエスト数／秒×１リクエストに関連するサーバ台数×２（通信の往復分）・・・（１）
すなわち、上記の例では、ログデータの行数は、以下に示す（２）式に従って、２０００００行／秒と試算される。
１００００×１０×２＝２０００００  ・・・（２）
【００７１】
従って、上記の例では、１秒間のログデータの転送量は、以下に示す（３）式に従って、１００ｍｂｉｔと試算される。
２０００００×０．５＝１０００００（ｋｂｉｔ）＝１００（ｍｂｉｔ）・・・（３）
【００７２】
これに対し、上記取得処理で取得される１秒間のログデータの行数は、以下に示す（４）式で算出される。
ログデータの行数＝重要データに対するリクエスト数／秒×経由した機器の台数×２（通信の往復分）・・・（４）
すなわち、上記の例では、ログデータの行数は、以下に示す（５）式に従って、２０行／秒と試算される。
１×１０×２＝２０  ・・・（５）
【００７３】
従って、上記の例では、１秒間のログデータの転送量は、以下に示す（６）式に従って、１０ｋｂｉｔ／秒と試算される。
２０×０．５＝１０  ・・・（６）
【００７４】
このように、上記の例で示される規模のシステムでは、本実施形態の手法を適用することで、アクセスログに記録されるログデータを全て転送する場合に比較して、ログデータの転送量が１００００万分の１に削減される。
【００７５】
以上説明したように、本実施形態によれば、通信ＩＤ、応答時間、及びログ記録時刻を含むログデータがアクセスログ５２に記録された場合に、以下の処理を行う。すなわち、本実施形態によれば、該ログデータに含まれるログ記録時刻よりも応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出する。そして、抽出したログデータから、記録された上記ログデータに含まれる通信ＩＤを含むログデータを取得する。このように、本実施の形態によれば、抽出するログデータを、ログ記録時刻よりも応答時間前の時刻に対応するログ記録時刻を含むログデータに限定している結果、アクセスログから特定のログデータを取得する時間を短縮することができる。さらに、ネットワーク１４を介したログデータの転送量も低減することができる。
【００７６】
また、本実施形態によれば、重要データに対してアクセスされた場合に、重要データに対するリクエスト元のアクセスログ５２に含まれる複数のログデータから、上記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出している。これにより、重要データにアクセスされた通信に関連するログデータを取得することができる。
【００７７】
また、本実施形態によれば、取得したログデータに含まれるリクエスト元ＩＰが示す機器のアクセスログ５２に含まれる複数のログデータから、以下に示すログデータを抽出する。すなわち、取得したログデータに含まれる通信ＩＤを含み、かつ応答時間及びログ記録時刻を含むログデータよりも該応答時間前の時刻に対応するログ記録時刻を含むログデータをさらに抽出する。さらに、抽出したログデータから、上記通信ＩＤを含むログデータを取得する。これにより、アクセスログ５２から一連の通信に関連するログデータを取得することができる。
【００７８】
なお、上記実施形態では、重要データに対してアクセスされた場合に、ログデータ８８を抽出する場合について説明したが、これに限定されない。例えば、アクセスログ５２を定期的に参照し、通信ＩＤ、応答時間、及びログ記録時刻を含むログデータが記録された場合に、ログデータ８８を抽出する形態としてもよい。
【００７９】
また、上記実施形態では、ログ取得プログラム１１０が記憶部１０３に予め記憶（インストール）されている態様を説明したが、これに限定されない。ログ取得プログラム１１０は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ、メモリカード等の記録媒体に記録された形態で提供することも可能である。
【００８０】
以上の実施形態に関し、更に以下の付記を開示する。
【００８１】
（付記１）
アクセスログを記憶する記憶部から特定のログデータを取得するログ取得プログラムにおいて、
前記アクセスログに含まれる複数のログデータのうち、リクエストを識別する情報と、該リクエストに関する応答時間と、ログ記録時刻とを含むログデータを取得すると、前記アクセスログに含まれる複数のログデータのうち、取得した前記ログデータに含まれる前記ログ記録時刻より前記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出し、
抽出した前記ログデータから、取得した前記ログデータに含まれる前記リクエストを識別する情報を含むログデータを取得する、
処理をコンピュータに実行させることを特徴とするログ取得プログラム。
【００８２】
（付記２）
予め定められた特定のデータに対してアクセスされた場合に、前記データに対するリクエスト元の記憶部に記憶された前記アクセスログに含まれる複数のログデータのうち、前記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出する、
付記１記載のログ取得プログラム。
【００８３】
（付記３）
前記アクセスログに含まれるログデータは、リクエスト元を識別するリクエスト元識別情報をさらに含み、
前記データへのリクエストを送信した端末から前記データに対してアクセスするための通信経路に複数の機器が存在し、
取得したログデータに含まれる前記リクエスト元識別情報が示すリクエスト元に対応する前記機器の記憶部に記憶されたアクセスログに含まれる複数のログデータのうち、取得したログデータに含まれる前記リクエストを識別する情報を含み、かつ前記応答時間及び前記ログ記録時刻を含むログデータより該応答時間前の時刻に対応するログ記録時刻を含むログデータをさらに抽出し、
抽出した前記ログデータから、前記応答時間及び前記ログ記録時刻を含むログデータに含まれる前記リクエストを識別する情報を含むログデータをさらに取得する、
付記２記載のログ取得プログラム。
【００８４】
（付記４）
アクセスログを記憶する記憶部から特定のログデータを取得するログ取得装置において、
前記アクセスログに含まれる複数のログデータのうち、リクエストを識別する情報と、該リクエストに関する応答時間と、ログ記録時刻とを含むログデータを取得すると、前記アクセスログに含まれる複数のログデータのうち、取得した前記ログデータに含まれる前記ログ記録時刻より前記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出する抽出部と、
前記抽出部により抽出された前記ログデータから、取得した前記ログデータに含まれる前記リクエストを識別する情報を含むログデータを取得する取得部と、
含むことを特徴とするログ取得装置。
【００８５】
（付記５）
前記抽出部は、予め定められた特定のデータに対してアクセスされた場合に、前記データに対するリクエスト元の記憶部に記憶された前記アクセスログに含まれる複数のログデータのうち、前記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出する、
付記４記載のログ取得装置。
【００８６】
（付記６）
前記アクセスログに含まれるログデータは、リクエスト元を識別するリクエスト元識別情報をさらに含み、
前記データへのリクエストを送信した端末から前記データに対してアクセスするための通信経路に複数の機器が存在し、
前記抽出部は、前記取得部により取得されたログデータに含まれる前記リクエスト元識別情報が示すリクエスト元に対応する前記機器の記憶部に記憶されたアクセスログに含まれる複数のログデータのうち、取得したログデータに含まれる前記リクエストを識別する情報を含み、かつ前記応答時間及び前記ログ記録時刻を含むログデータより該応答時間前の時刻に対応するログ記録時刻を含むログデータをさらに抽出し、
前記取得部は、前記抽出部により抽出された前記ログデータから、前記応答時間及び前記ログ記録時刻を含むログデータに含まれる前記リクエストを識別する情報を含むログデータをさらに取得する、
付記５記載のログ取得装置。
【００８７】
（付記７）
アクセスログを記憶する記憶部から特定のログデータを取得するログ取得方法において、
前記アクセスログに含まれる複数のログデータのうち、リクエストを識別する情報と、該リクエストに関する応答時間と、ログ記録時刻とを含むログデータを取得すると、前記アクセスログに含まれる複数のログデータのうち、取得した前記ログデータに含まれる前記ログ記録時刻より前記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出し、
抽出した前記ログデータから、取得した前記ログデータに含まれる前記リクエストを識別する情報を含むログデータを取得する、
処理をコンピュータに実行させることを特徴とするログ取得方法。
【００８８】
（付記８）
予め定められた特定のデータに対してアクセスされた場合に、前記データに対するリクエスト元の記憶部に記憶された前記アクセスログに含まれる複数のログデータのうち、前記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出する、
付記７記載のログ取得方法。
【００８９】
（付記９）
前記アクセスログに含まれるログデータは、リクエスト元を識別するリクエスト元識別情報をさらに含み、
前記データへのリクエストを送信した端末から前記データに対してアクセスするための通信経路に複数の機器が存在し、
取得したログデータに含まれる前記リクエスト元識別情報が示すリクエスト元に対応する前記機器の記憶部に記憶されたアクセスログに含まれる複数のログデータのうち、取得したログデータに含まれる前記リクエストを識別する情報を含み、かつ前記応答時間及び前記ログ記録時刻を含むログデータより該応答時間前の時刻に対応するログ記録時刻を含むログデータをさらに抽出し、
抽出した前記ログデータから、前記応答時間及び前記ログ記録時刻を含むログデータに含まれる前記リクエストを識別する情報を含むログデータをさらに取得する、
付記８記載のログ取得方法。
【００９０】
（付記１０）
アクセスログを記憶する記憶部から特定のログデータを取得するログ取得プログラムにおいて、
前記アクセスログに含まれる複数のログデータのうち、リクエストを識別する情報と、該リクエストに関する応答時間と、ログ記録時刻とを含むログデータを取得すると、前記アクセスログに含まれる複数のログデータのうち、取得した前記ログデータに含まれる前記ログ記録時刻より前記応答時間前の時刻に対応するログ記録時刻を含むログデータを抽出し、
抽出した前記ログデータから、取得した前記ログデータに含まれる前記リクエストを識別する情報を含むログデータを取得する、
処理をコンピュータに実行させることを特徴とするログ取得プログラムを記憶した記憶媒体。
【符号の説明】
【００９１】
５０  ログ取得装置
５２Ａ、５２Ｂ、５２Ｃ、５２Ｄ、５２Ｅ、５６Ａ、５６Ｂ  アクセスログ
７０  検知部
７２  抽出部
７４  取得部
７６  送信部
７８  ログ格納先テーブル
１００  コンピュータ
１０１  ＣＰＵ
１０２  メモリ
１０３  記憶部
１０８  記録媒体
１１０  ログ取得プログラム
【図１】
2018005571.tif 000003
【図２】
2018005571.tif 000004
【図３】
2018005571.tif 000005
【図４】
2018005571.tif 000006
【図５】
2018005571.tif 000007
【図６】
2018005571.tif 000008
【図７】
2018005571.tif 000009
【図８】
2018005571.tif 000010
【図９】
2018005571.tif 000011
【図１０】
2018005571.tif 000012
【図１１】
2018005571.tif 000013
【図１２】
2018005571.tif 000014
【図１３】
2018005571.tif 000015
【図１４】
2018005571.tif 000016