(57)【要約】【課題】正常な処理に紐づくＩＤがログに含まれていない場合であってもワークフローを生成する。【解決手段】生成装置１は、通信ネットワークＮを利用する所定処理が複数回正常に完了した場合に、通信ネットワークＮを構成する複数の通信機器のそれぞれが生成したログを取得するログ取得部１２１と、ログの生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の頻度を特定する特定部１２２と、特定された出現順序の頻度に基づいて、所定処理が正常に完了したときのログの出現順序を示すワークフローを生成する生成部１２３と、を備える。【選択図】図１
2018064230.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを利用する所定処理が複数回正常に完了した場合に、前記通信ネットワークを構成する複数の通信機器のそれぞれが生成したログを取得するログ取得部と、
前記ログの生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の頻度を特定する特定部と、
特定された前記出現順序の頻度に基づいて、前記所定処理が正常に完了したときの前記ログの出現順序を示すワークフローを生成する生成部と、
を備える生成装置。
【請求項２】
前記特定部は、同一の処理内容を示すログごとに、当該ログの後に出力された付随ログを、前記付随ログの処理内容ごとに集計し、当該ログの後に出現する前記付随ログの出現確率を前記付随ログの処理内容ごとに算出することにより、前記出現順序の頻度を特定する、
請求項１に記載の生成装置。
【請求項３】
前記特定部は、同一の処理内容を示すログごとに、当該ログの前に出力された付随ログを、前記付随ログの処理内容ごとに集計し、当該ログの前に出現する前記付随ログの出現確率を前記付随ログの処理内容ごとに算出することにより、前記出現順序の頻度を特定する、
請求項１又は２に記載の生成装置。
【請求項４】
前記特定部は、前記同一の処理内容を示すログごとに、当該ログの生成時間から所定範囲内の時間に生成された前記付随ログを、前記付随ログの処理内容ごとに集計する、
請求項２又は３に記載の生成装置。
【請求項５】
前記特定部は、前記ログ取得部が取得した複数のログのそれぞれから、ログの生成タイミングに応じて変化する情報を除去することにより、前記ログの処理内容を示す情報を特定する、
請求項１から４のいずれか１項に記載の生成装置。
【請求項６】
前記特定部は、前記ログに含まれる文字列の類似度を算出し、当該類似度が所定値以上のログを同一の処理内容のログとする、
請求項１から５のいずれか１項に記載の生成装置。
【請求項７】
前記生成部は、特定された前記出現順序の頻度に基づいて、前記所定処理を実行したときの前記ログの出現順序を示すワークフローを１以上生成する、
請求項１又は２に記載の生成装置。
【請求項８】
コンピュータが実行する、
通信ネットワークを利用する所定処理が複数回正常に完了した場合に、前記通信ネットワークを構成する複数の通信機器のそれぞれが生成したログを取得するステップと、
前記ログの生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の頻度を特定するステップと、
特定された前記出現順序の頻度に基づいて、前記所定処理が正常に完了したときの前記ログの出現順序を示すワークフローを生成するステップと、
を備える生成方法。
【請求項９】
コンピュータを、
通信ネットワークを利用する所定処理が複数回正常に完了した場合に、前記通信ネットワークを構成する複数の通信機器のそれぞれが生成したログを取得するログ取得部、
前記ログの生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の頻度を特定する特定部、及び、
特定された前記出現順序の頻度に基づいて、前記所定処理が正常に完了したときの前記ログの出現順序を示すワークフローを生成する生成部、
として機能させる生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフローを生成する生成装置、生成方法、及び生成プログラムに関する。
【背景技術】
【０００２】
従来、通信ネットワークに係るログに基づいて、正常な処理に対応して複数の通信機器が出力するログの出力順序を示すワークフローを作成することが行われている。例えば、非特許文献１には、正常な処理に紐づくＩＤが複数のログに含まれていることを前提とし、正常な処理によって生成されるログに基づいて、システムの通常の実行動作を表すワークフローを生成する方法が開示されている。このように、正常な処理に対応するログのワークフローを作成し、当該ワークフローに示す順序でログが出力されたか否かをモニタリングすることにより、通信ネットワーク上で異常が発生したことを早期に検出することができる。
【先行技術文献】
【特許文献】
【０００３】
【非特許文献１】Qiang Fu， Jian-Guang Lou, Yi Wang, Jiang Li, “Execution Anomaly Detection in Distributed Systems through Unstructured Log Analysis” ［online］、平成21年12月9日、Microsoft（登録商標）、［平成28年9月15日検索］、インターネット〈URL：https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/DM790-CR.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１に示す方法では、正常な処理に紐づくＩＤがログに含まれていない場合、ワークフローを生成することができないという問題がある。このような問題に対して、正常な処理に対応するログを手動で特定し、手動でワークフローを作成することが考えられる。しかしながら、通信機器が出力する複数のログには、正常な処理に対応するログと、定常的に行われる処理等に対応するログとが混在しているため、正常な処理に対応するログのみを手動で抽出することが困難であるという問題がある。
【０００５】
そこで、本発明はこれらの点に鑑みてなされたものであり、正常な処理に紐づくＩＤがログに含まれていない場合であっても複数のログからワークフローを生成することができる生成装置、生成方法、及び生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様に係る生成装置は、通信ネットワークを利用する所定処理が複数回正常に完了した場合に、前記通信ネットワークを構成する複数の通信機器のそれぞれが生成したログを取得するログ取得部と、前記ログの生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の頻度を特定する特定部と、特定された前記出現順序の頻度に基づいて、前記所定処理が正常に完了したときの前記ログの出現順序を示すワークフローを生成する生成部と、を備える。
【０００７】
前記特定部は、同一の処理内容を示すログごとに、当該ログの後に出力された付随ログを、前記付随ログの処理内容ごとに集計し、当該ログの後に出現する前記付随ログの出現確率を前記付随ログの処理内容ごとに算出することにより、前記出現順序の頻度を特定してもよい。
【０００８】
前記特定部は、同一の処理内容を示すログごとに、当該ログの前に出力された付随ログを、前記付随ログの処理内容ごとに集計し、当該ログの前に出現する前記付随ログの出現確率を前記付随ログの処理内容ごとに算出することにより、前記出現順序の頻度を特定してもよい。
【０００９】
前記特定部は、前記同一の処理内容を示すログごとに、当該ログの生成時間から所定範囲内の時間に生成された前記付随ログを、前記付随ログの処理内容ごとに集計してもよい。
前記特定部は、前記ログ取得部が取得した複数のログのそれぞれから、ログの生成タイミングに応じて変化する情報を除去することにより、前記ログの処理内容を示す情報を特定してもよい。
【００１０】
前記特定部は、前記ログに含まれる文字列の類似度を算出し、当該類似度が所定値以上のログを同一の処理内容のログとしてもよい。
前記生成部は、特定された前記出現順序の頻度に基づいて、前記所定処理を実行したときの前記ログの出現順序を示すワークフローを１以上生成してもよい。
【００１１】
本発明の第２の態様に係る生成方法は、コンピュータが実行する、通信ネットワークを利用する所定処理が複数回正常に完了した場合に、前記通信ネットワークを構成する複数の通信機器のそれぞれが生成したログを取得するステップと、前記ログの生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の頻度を特定するステップと、特定された前記出現順序の頻度に基づいて、前記所定処理が正常に完了したときの前記ログの出現順序を示すワークフローを生成するステップと、を備える。
【００１２】
本発明の第３の態様に係る生成プログラムは、コンピュータを、通信ネットワークを利用する所定処理が複数回正常に完了した場合に、前記通信ネットワークを構成する複数の通信機器のそれぞれが生成したログを取得するログ取得部、前記ログの生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の頻度を特定する特定部、及び、特定された前記出現順序の頻度に基づいて、前記所定処理が正常に完了したときの前記ログの出現順序を示すワークフローを生成する生成部、として機能させる。
【発明の効果】
【００１３】
本発明によれば、正常な処理に紐づくＩＤがログに含まれていない場合であっても複数のログからワークフローを生成することができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る生成装置の概要を示す図である。
【図２】本実施形態に係る生成装置の構成を示す図である。
【図３】本実施形態に係る特定部が複数のログを分類する例を示す図である。
【図４】本実施形態に係る選択されたログに付随ログを関連付けた例を示す図である。
【図５】本実施形態に係る付随ログのそれぞれの出現確率の算出例を示す図である。
【図６】本実施形態に係る有向グラフの例を示す図である。
【図７】本実施形態に係るワークフローの生成に係る生成装置の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
［生成装置１の概要］
図１は、本実施形態に係る生成装置１の概要を示す図である。生成装置１は、通信ネットワークＮを利用する所定処理を実行したときの、通信ネットワークＮを構成する複数の通信機器４のそれぞれが生成したログの出現順序を示すワークフローを生成するコンピュータである。ここで、通信ネットワークＮは、例えば、通信事業者が構築したネットワークであり、基地局や中継器等の複数の通信機器４によって構成されているものとする。ここで、複数の通信機器４のそれぞれは時計を備えており、当該時計は同期しているものとする。
【００１６】
生成装置１においてワークフローを生成するにあたり、まず、生成装置１のユーザは、端末等の所定装置２において、所定処理を複数回実行させる（図１の（１））。所定処理は、例えば、所定装置２とサーバ３との間で実行される、通信ネットワークＮを利用する処理であり、例えば、仮想サーバの構築処理である。
【００１７】
生成装置１は、複数回実行された所定処理が正常に完了した場合に、通信ネットワークＮを構成する複数の通信機器４が生成したログを取得する（図１の（２））。生成装置１は、取得したログの生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の頻度を特定する（図１の（３））。生成装置１は、特定した出現順序の頻度に基づいて、所定処理が正常に完了したときのログの出現順序を示すワークフローを生成する（図１の（４））。
【００１８】
このように、生成装置１は、同一の処理内容を示すログごとの出現順序の頻度に基づいてワークフローを生成するので、正常な処理に紐づくＩＤがログに含まれていない場合であっても複数のログからワークフローを生成することができる。
以下、生成装置１の構成について説明する。
【００１９】
［生成装置１の構成例］
図２は、本実施形態に係る生成装置１の構成を示す図である。
生成装置１は、記憶部１１と、制御部１２とを備える。
【００２０】
記憶部１１は、例えば、ＲＯＭ及びＲＡＭ等である。記憶部１１は、生成装置１を機能させるための各種プログラムを記憶する。例えば、記憶部１１は、生成装置１の制御部１２を、後述するログ取得部１２１、特定部１２２、生成部１２３、及び出力部１２４として機能させるワークフロー生成プログラムを記憶する。また、記憶部１１は、複数の通信機器４が生成したログを記憶する。
【００２１】
制御部１２は、例えばＣＰＵである。制御部１２は、記憶部１１に記憶されている各種プログラムを実行することにより、生成装置１に係る機能を制御する。制御部１２は、ワークフロー生成プログラムを実行することにより、ログ取得部１２１、特定部１２２、生成部１２３、及び出力部１２４として機能する。
【００２２】
ログ取得部１２１は、通信ネットワークＮを利用する所定処理が複数回正常に完了した場合に、通信ネットワークＮを構成する複数の通信機器４のそれぞれが生成したログを取得する。具体的には、ログ取得部１２１は、所定装置２において所定処理を複数回実行させて当該所定処理が正常に完了した場合に、複数の通信機器４のそれぞれにアクセスし、複数の通信機器４のそれぞれが生成したログを取得する。ログ取得部１２１は、取得したログを記憶部１１に記憶させる。ここで、ログには、ログが生成された時刻等の、ログの生成タイミングに応じて変化する情報や、処理内容を示す情報が含まれているものとする。
【００２３】
なお、所定装置２において実行される所定処理に応じて動作する複数の通信機器４を特定しておき、ログ取得部１２１が、特定された複数の通信機器４において生成されたログを取得するようにしてもよい。このようにすることで、生成装置１は、所定処理と明らかに関係がないログを取得しないようにして、生成装置１の処理負荷を軽減することができる。
【００２４】
また、通信ネットワークＮをインターネット等と接続しないローカルネットワークとしておき、ログ取得部１２１は、ローカルネットワークにおいて複数の通信機器４のそれぞれが生成したログを取得してもよい。このようにすることで、通信機器４は、インターネット等を介して接続される外部機器との通信を行わないので、生成装置１は、当該通信に係るログを取得しないようにすることができる。
【００２５】
特定部１２２は、ログの生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の頻度を特定する。これにより、特定部１２２は、相対的に出現順序の頻度が高いログの順序、すなわち、所定処理が実行されたことに応じて出力されるログの順序を特定することができる。
【００２６】
まず、特定部１２２は、ログ取得部１２１が取得した複数のログのそれぞれから処理内容を示す情報を特定する。具体的には、特定部１２２は、ログ取得部１２１が取得した複数のログのそれぞれから、ログの生成タイミングに応じて変化する情報を除去することにより、複数のログのそれぞれの処理内容を示す情報を特定する。続いて、特定部１２２は、処理内容を示す情報に基づいてログを分類する。
【００２７】
図３は、本実施形態に係る特定部１２２が複数のログを分類する例を示す図である。例えば、ログＡ１を構成する文字列と、ログＡ２を構成する文字列とは、ログの生成タイミングに応じて変化する情報と、処理内容を示す情報とを少なくとも含んでおり、ログＡ１とログＡ２とは完全一致していない。これに対して、特定部１２２は、ログから、ログの生成タイミングに応じて変化する情報を除去し、その後、ログＡ１とログＡ２との双方に共通している文字列を、処理内容を示す情報と特定する。そして、特定部１２２は、ログＡ１とログＡ２とを、ログＡと分類する。
【００２８】
なお、特定部１２２は、複数のログのそれぞれについて、ログの生成タイミングに応じて変化する情報を除去して、処理内容を示す情報を特定したが、これに限らない。例えば、特定部１２２は、ログに含まれる文字列の類似度を算出し、類似度が所定値以上のログを同一の処理内容のログに分類してもよい。このようにすることで、特定部１２２は、類似度が高いログを同じ処理内容のログに分類することができる。
【００２９】
続いて、特定部１２２は、ログの生成時間と処理内容を示す情報とに基づいて、同一の処理内容を示すログ（分類後のログ）ごとに、当該ログの前に出力された付随ログを、付随ログの処理内容ごとに集計する。同様に、特定部１２２は、同一の処理内容を示すログごとに、当該ログの後に出力された付随ログを、付随ログの処理内容ごとに集計する。ここで、特定部１２２は、同一の処理内容を示すログごとに、当該ログの直前又は直後に生成された付随ログを集計対象とする。
【００３０】
例えば、特定部１２２は、複数のログのうち、未選択のログであって、生成時刻が最も古いログを選択する。特定部１２２は、選択されたログの直前に生成されたログと、直後に生成されたログとを付随ログとして特定し、選択されたログに関連付ける。図４は、本実施形態に係る選択されたログに付随ログを関連付けた例を示す図である。図４に示す例では、ログＡに、直前に生成された付随ログとしてログＣとログＢとが関連付けられていることが確認できる。また、図４に示す例では、ログＡに、直後に生成された付随ログとしてログＢとログＤとが関連付けられていることが確認できる。
【００３１】
特定部１２２は、選択されたログに対して付随ログを関連付けると、複数のログのうち、未選択のログであって、生成時刻が最も古いログを選択する。そして、特定部１２２は、同様の処理を繰り返すことにより、同一の処理内容を示すログの前後に出現する付随ログを、付随ログの処理内容ごとに集計する。
【００３２】
なお、特定部１２２は、同一の処理内容を示すログ（選択されたログ）ごとに、当該ログの生成時間から所定範囲内に生成されたログを付随ログとし、当該付随ログを、付随ログの処理内容ごとに集計するようにしてもよい。このようにすることで、特定部１２２は、正常な処理に応じて順番に実行されるログの間に、定常ログ等の不要なログが混在した場合であっても、正常な処理に応じて順番に実行されるログを付随ログとして集計対象とすることができる。
【００３３】
続いて、特定部１２２は、同一の処理内容を示すログの前後に出現する付随ログの出現確率を付随ログの処理内容ごとに算出することにより、出現順序の頻度を特定する。例えば、特定部１２２は、図４に示す付随ログの関連付けの結果に基づいて、同一の処理内容を示すログの直前に出現する付随ログ、及び同一の処理内容を示すログの直後に出現する付随ログのそれぞれの出現確率を算出する。図５は、付随ログのそれぞれの出現確率の算出例を示す図である。図５に示す例では、ログＡの直後にログＢが９０％の確率で出現し、ログＤが５％の確率で出現していることが確認できる。
【００３４】
生成部１２３は、特定部１２２によって特定された出現順序の頻度に基づいて、所定処理が正常に完了したときのログの出現順序を示すワークフローを１以上生成する。例えば、生成部１２３は、図５に示す付随ログごとの出現確率に基づいて、所定値よりも高い出現確率を示すログの出現順序を特定する。例えば、所定値が８０％である場合、生成部１２３は、図５に示す例において、ログの出現順序として、ログＡからログＢ、ログＢからログＣ、ログＥからログＣというログの出現順序を特定する。
【００３５】
続いて、生成部１２３は、特定したログの出現順序に基づいて有向グラフを生成する。図６は、本実施形態に係る有向グラフの例を示す図である。続いて、生成部１２３は、生成した有向グラフに基づいて、１以上のワークフローを生成する。図６に示す例において、生成部１２３は、ワークフローとして、ログＡ、ログＢ、ログＣの順番を示すワークフローと、ログＥ、ログＣの順番を示すワークフローとを特定する。ここで、生成部１２３は、１以上のワークフローを生成することにより、正常な処理を実行したときに発生する可能性が高い全てのワークフローを特定することができる。
【００３６】
出力部１２４は、生成部１２３が生成した１以上のワークフローを示す情報を出力する。例えば、出力部１２４は、生成装置１に設けられた表示部（不図示）にワークフローを示す情報を表示させたり、生成装置１と通信可能に接続された端末にワークフローを示す情報を送信したりする。
【００３７】
［ワークフローの生成に係る処理の流れ］
続いて、ワークフローの生成に係る処理の流れについて説明する。図７は、本実施形態に係るワークフローの生成に係る生成装置１の処理の流れを示すフローチャートである。
【００３８】
まず、ログ取得部１２１は、通信ネットワークＮを利用する所定処理が複数回正常に完了した場合に、通信ネットワークＮを構成する複数の通信機器４のそれぞれが生成したログを取得する（Ｓ１０）。
【００３９】
続いて、特定部１２２は、Ｓ１０において取得されたログから、処理内容を示す情報を抽出し、当該処理内容を示す情報に基づいてログを分類する（Ｓ２０）。
続いて、特定部１２２は、取得された複数のログから１つのログを選択する（Ｓ３０）。例えば、特定部１２２は、未選択のログのうち、生成時刻が最も古いログを選択する。
【００４０】
続いて、特定部１２２は、選択したログの処理内容（分類ログ）に、当該ログの前後に出現した付随ログを関連付ける（Ｓ４０）。
続いて、特定部１２２は、全てのログが選択済か否かを判定する（Ｓ５０）。特定部１２２は、全てのログが選択済であると判定すると、Ｓ６０に処理を移し、全てのログが選択済ではないと判定すると、Ｓ３０に処理を移す。
続いて、特定部１２２は、ログの処理内容ごとに、付随ログの出現確率を算出する（Ｓ６０）。
【００４１】
続いて、生成部１２３は、Ｓ６０の算出結果に基づいて、出現確率が所定値以上のログの出現順序を特定する（Ｓ７０）。
続いて、生成部１２３は、特定したログの出現順序に基づいて有向グラフを生成する（Ｓ８０）。
続いて、生成部１２３は、生成した有向グラフに基づいて、所定処理が正常に完了したときのログの出現順序を示す１以上のワークフローを生成する（Ｓ９０）。
【００４２】
［本実施形態における効果］
以上のとおり、本実施形態に係る生成装置１は、通信ネットワークＮを利用する所定処理が複数回正常に完了した場合に、通信ネットワークＮを構成する複数の通信機器４のそれぞれが生成したログを取得し、当該ログの生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の頻度を特定し、特定された出現順序の頻度に基づいて、所定処理が正常に完了したときのログの出現順序を示すワークフローを生成する。
【００４３】
所定処理を複数回正常に完了させたときに通信機器４から取得したログには、所定処理が正常に完了したときのログが相対的に多く含まれるので、生成装置１は、相対的に出現頻度が高いログの出現順序を、所定処理が正常に完了したときのログの出現順序と特定することができる。これにより、生成装置１は、一連の処理に紐づくＩＤがログに含まれていない場合であっても複数のログからワークフローを生成することができる。
【００４４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。また、特に、装置の分散・統合の具体的な実施形態は以上に図示するものに限られず、その全部又は一部について、種々の付加等に応じて、又は、機能負荷に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００４５】
例えば、上述の実施形態では、生成装置１が、複数の通信機器４のそれぞれにアクセスし、複数の通信機器４のそれぞれが生成したログを取得することとしたが、これに限らない。例えば、複数の通信機器４のそれぞれが生成したログを取得するログ取得装置と、生成装置１とを設けておき、生成装置１が、ログ取得装置から、複数の通信機器４のそれぞれが生成したログを取得してもよい。
【符号の説明】
【００４６】
１・・・生成装置、１１・・・記憶部、１２・・・制御部、１２１・・・ログ取得部、１２２・・・特定部、１２３・・・生成部、１２４・・・出力部、２・・・所定装置、３・・・サーバ、４・・・通信機器、Ｎ・・・通信ネットワーク
【図１】
2018064230.tif 000003
【図２】
2018064230.tif 000004
【図３】
2018064230.tif 000005
【図４】
2018064230.tif 000006
【図５】
2018064230.tif 000007
【図６】
2018064230.tif 000008
【図７】
2018064230.tif 000009