(57)【要約】【課題】本発明は、稼働統計情報編集において、汎用的に使用可能なツールを提供することにある。編集作業においては、入力となる稼働統計情報ファイルに付与されている日付と、稼働統計情報ファイルに出力されている対象レコードの日付が1日ずれることに対しても、自動修正することで、正しく編集を実施する。【解決手段】稼働統計情報ファイルを読み込む際に、稼働統計情報ファイルに付与された日付と、対象レコードの開始行、最終行の日付が一致するか確認する（ステップ１１２）ことで、日またがりを自動検知し、ファイル日付を修正する（ステップ１１４）。さらに、ファイル日付と一致するレコードのみ抽出することで、無駄なレコードを自動で省くことができる。【選択図】図２
2009134661.tif 000002
【特許請求の範囲】
【請求項１】
稼働統計情報の汎用的な分析・編集ツールを作成し、編集作業を自動化する自動編集において、稼働統計情報ファイルを取得した日付と稼働統計情報ファイルに出力されているレコードの開始行および最終行の日付を比較することで、それが１日ずれていた場合でも、自動検知して、正当な日付に変更し、編集作業を継続することを特徴とする稼動統計情報の自動編集ツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム稼働時に取得するリソース使用率（ＣＰＵ使用率、メモリ使用率）などの稼働統計情報を編集するツールに関する。なお、本発明の対象範囲としては、稼働統計情報分析を行う全てのシステムが含まれる。
【背景技術】
【０００２】
従来、システム稼働後の稼働統計情報の分析は、手動もしくは対象システムのみで適用できるツールなどを作成するなどして行われていた。
【０００３】
本発明は、汎用的に使用可能な稼働統計情報の自動編集ツールにより、稼働統計情報分析を容易化および高速化するために提案する。
【０００４】
【特許文献１】特開平８−１７１５７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１においては、時系列に従ったデータの集計方法のみを言及しており、データを取得した日付は考慮されていなかった。ある一日分のデータ（CPU使用率、メモリ使用率、トランザクション件数など）を日次で収集する場合において、収集のタイミングでログ／トレースから必要情報のみを抽出し、新たにファイルを作成する。ログ出力のタイミングとログ収集のタイミングは異なるため、データを収集した日付がファイル名に付与される場合において、収集のタイミングが障害等の理由により次の日にずれた場合、ファイル名の日付がファイルの中身のレコード日付より１日遅れることとなる。ファイル名からデータ日付を判断する編集ツールにおいては、それを自動検知する仕組みがない。
【課題を解決するための手段】
【０００６】
本発明では、稼働統計情報の汎用的な分析・編集ツールを作成し、編集作業を自動化する。自動編集において、稼働統計情報ファイルを取得した日付と稼働統計情報ファイルに出力されているレコードの開始行および最終行の日付を比較することで、それが１日ずれていた場合でも、自動検知して、正当な日付に変更し、編集作業を継続する仕組みとなる。
【発明の効果】
【０００７】
本発明によれば、稼働統計情報編集の入力となる稼働統計情報ファイル名の日付と、ファイルに出力された編集対象とするレコードの日付がずれることに対しても、編集者に意識させることなく、自動で編集作業を実施可能である。
【発明を実施するための最良の形態】
【０００８】
本発明の実施の形態を、図面を用いて説明する。
【０００９】
図１は、本発明の全体を示したフローチャートであり、図２、図３は図１の７４の処理を示すフローチャートである。図４は本発明であるツールの実行画面イメージである。図５は本発明に係る稼働統計情報取得の流れを示したものである。図６はツールの入力となる入力ファイル（稼働統計情報）、図７はツールで扱う中間ファイル（中間編集シート）、図８はツールの出力ファイル（編集結果シート）の例を示したものである。
【００１０】
まず、稼働統計情報の取得の流れについて、図５を使用して説明する。
【００１１】
本システム、業務処理を実行する複数のＡＰサーバ、ＤＢサーバおよび運用管理・監視を実施する管理サーバ、および各種サーバが使用する記憶装置からなる。
【００１２】
稼働しているサーバ群３０の各サーバは、サーバのリソースの使用状態を示すリソース情報（例えば、ＣＰＵ使用率、メモリ使用率、等）や業務ログなどのログ／トレース情報（ログ／トレース情報とは、トランザクションログやＳＱＬトレースなどを示しており、それらをもとにトランザクション件数やＳＱＬ実行時間などを取得できる）を定期的（例えば１秒間隔や稼働サーバでの業務処理実行時）にファイルに出力し、記憶装置３２、３４にそれぞれ格納する。
【００１３】
業務時間は８：００〜２０：００とする。サーバ群３０の各サーバは、記憶装置３２、３４に格納された１日（８：００〜２０：００）分のリソース情報とログ／トレース情報をシステム稼働終了後の夜間の定時（例えば、２２：００）に管理サーバ３６へ送信する。管理サーバ３６へ送信するまでは、各サーバは稼働状態にあるので、リソース情報とログ／トレース情報には、８：００〜稼働情報を収集するまでの時間（２２：００）の情報が含まれる。管理サーバ３６は、受信した全サーバのリソース情報とログ／トレース情報を記憶装置３８、４０にそれぞれ格納する。管理サーバ３６は、各サーバのリソース情報３８とログ／トレース情報４０に出力されている一部の必要情報（例えば、リソース情報からＣＰＵ使用率のみ）を取り出して、日次で稼働統計情報ファイル（ＣＰＵ使用率、メモリ使用率、トランザクション件数、等をそれぞれＣＳＶファイルに出力したもの）を出力する。稼働統計情報ファイルのファイル名には、稼働統計情報の種類（ＣＰＵ、ＭＥＭなど）と日付を付与する（例えば、２００８年８月１０日に取得された稼働統計情報（ＣＰＵ使用率）は、ＣＰＵ＿２００７０８１０＿ＸＸＸ．ｃｓｖとなる）。
【００１４】
稼働統計情報ファイルのサンプルを図６に示す。図６は、管理サーバ３６が、ＡＰサーバ１号機で取得したリソース情報をもとに、ＣＰＵ使用率を出力した結果であり、取得間隔毎（ここでは１秒間隔）にＣＰＵ使用率のトータルＣＰＵ、ユーザＣＰＵ、システムＣＰＵを出力しているサンプルである。管理サーバ３６は、稼働統計情報ファイルを出力する際、サーバ毎の稼働統計情報ファイルを区別するために、ファイル名にサーバ名を付加する（例、ＣＰＵ＿２００７０８１０＿ＡＰ１．ｃｓｖ）。
【００１５】
管理サーバ３６で作成した、ＣＰＵ使用率、メモリ使用率、トランザクション件数などの稼動統計情報ファイルを、リモートコントロールクライアント４４が収集する。収集は、リモートコントロールクライアント４４が前日分の稼働統計情報ファイルを対象としたダウンロードをすることで行う。リモートコントロールクライアント４４は収集した稼働統計情報ファイルを記憶装置４６の任意のディレクトリに格納する。例えば２００７年８月のフォルダ「２００８０８」の中の「２００７年８月１０日のフォルダ「２００８０８１０」に１日分の稼働情報ファイルを全て格納する。同じように２００７年８月１５日の稼働統計情報ファイルであれば、「２００８０８」フォルダ以下の「２００８０８１５」フォルダに格納する。
【００１６】
本発明の対象である稼動統計情報編集ツールは、リモートコントロールクライアント４４にて収集された１カ月分の稼働統計情報ファイルを入力として、ＣＰＵ使用率、メモリ使用率、トランザクション件数などの時間変動や日変動などを出力するツールとなる。
【００１７】
稼働統計情報編集ツールの実行について、図４に示す実行画面イメージを使用して説明する。本ツールは図４の実行２０にて起動し、入力ディレクトリ指定画面２２より稼働統計情報ファイルが格納されているディレクトリの指定画面を表示する。ここで、選択された入力ディレクトリ以下のファイルが、本ツールの入力対象ファイルとなる。
【００１８】
図４の入力項目のログフォーマット１２は、稼働統計情報ファイルの１レコードあたりのログフォーマットを規定する。対象年月１４は、読み込み対象とするファイルの日付を規定する。対象時間帯１６は、稼働統計情報ファイルのレコードに対して、本ツールが編集対象とする時間帯を規定する。時間間隔１８は、本ツールが編集する（平均値、最大値を計算する）時間間隔を規定する。
【００１９】
次に、実行のフローに関して、図１を使用して説明する。本ツールは、図４のログフォーマット１２、対象年月１４、対象時間帯１６、時間間隔１８を読み込む（ステップ７０）。読み込んだ入力項目（例えば、ログフォーマット「ＹＹＹＹ／ＭＭ／ＤＤ  ｈｈ：ｍｍ：ｓｓ,  ＡＡＡ,  ＢＢＢ」、対象年月「２００７年８月」、対象時間帯「８：００〜２０：００」、時間間隔「３０」）の不正をチェックする（ステップ７２）。入力チェックでは、入力された値が規定の条件を満たすか否かを確認する。例えば、対象年が１０００から５０００の数字であること、対象月が１から１２の整数であること、対象時間帯が０から２３の整数であること、時間間隔が１から６０の整数であることを確認する。
【００２０】
入力不正がなければ、対象となる入力ディレクトリのファイル名の年月日が、対象年月に含まれる稼働統計情報ファイル（例えば、稼働統計情報ファイル（ＣＰＵ使用率）「ＣＰＵ＿２００７０８１０＿ＡＰ１．ｃｓｖ」）を読み込み、レコードを中間編集シートに出力していく（ステップ７４）。対象年月が２００７年８月の場合、「ＣＰＵ＿２００７０８０１＿ＡＰ１．ｃｓｖ」「ＣＰＵ＿２００７０８３０＿ＡＰ１．ｃｓｖ」などの稼働統計情報ファイルを入力対象とし、「ＣＰＵ＿２００７０７３１＿ＡＰ１．ｃｓｖ」「ＣＰＵ＿２００７０９０１＿ＡＰ１．ｃｓｖ」などのファイルは対象外とする。また、稼働統計情報ファイル中の日時を示す列（図６では２列目）が、図４の対象時間帯１６に含まれるレコードのみを対象として、中間編集シートにデータ出力を行う。
【００２１】
中間編集シートのサンプルを図７に示す。図７のサンプルは、対象時間帯１０時から２０時までの場合を示している（開始行が１０時００分から始まる）。また、本ツールは、中間編集シートに複数サーバ分の統計情報を自動で出力する。図７のサンプルでは、ＡＰサーバ１号機、２号機、３号機、４号機のＣＰＵ使用率を出力したものである。
【００２２】
次に、本ツールは、中間編集シートを入力として、稼働統計情報（ＣＰＵ使用率、メモリ使用率、トランザクション件数、等）の時間単位の平均、最大値や日単位の平均、最大値、指定した時間間隔１８単位の平均、最大値を計算して、編集結果シートに出力する（ステップ７６）。編集結果シートのサンプルを図８に示す。図８は、３０分間隔で、ＣＰＵ使用率の平均を計算してデータ出力した編集結果シートを示す。
【００２３】
稼働統計情報編集ツールは、編集結果シートを保存して完了する（ステップ７８）。
【００２４】
本ツールは、平均値や最大値をツール画面で指定された間隔で算出するため、汎用性が高い。
【００２５】
ここで、図１のステップ７４を詳細化した図２、図３を使用して、日またがり、月またがりの処理を説明する。日またがりとは、管理サーバ３６が障害等の理由により、当日ログ出力された分の稼働統計情報ファイルを当日中に収集できなかった場合（次の日の取得となった場合）、ファイル名の日付が翌日となることを意味する。例えば、２００８年８月１０日の稼働統計情報（ＣＰＵ使用率）の取得が日をまたがり、８月１１日となった場合、管理サーバ３６はファイル「ＣＰＵ＿２００８０８１１＿ＡＰ１．ｃｓｖ」を出力する。月またがりは日またがりが月をまたがることを意味する。例えば、２０００８年８月３１日の稼働統計情報（ＣＰＵ使用率）の取得が日をまたがり、９月１日となった場合、管理サーバ３６はファイル「ＣＰＵ＿２００８０９０１＿ＡＰ１．ｃｓｖ」を出力する。
【００２６】
まず、入力チェックを行い入力不正がなければ（ステップ７０、７２）、対象ディレクトリ（図４の指定ディレクトリ２２）以下の階層にある稼働統計情報ファイルを、アルファベット順に1ファイルずつ参照する（ステップ１０４）。
【００２７】
対象年月に２００７年８月を指定した場合、本ツールは参照対象のファイル名に対象年月が入っているかどうかを確認する（ステップ１０６）。例えば、入力ファイル名の文字列５〜１０桁目を読み込んで比較する。対象年月が２００７年８月の場合、「ＣＰＵ＿２００７０８０１＿ＡＰ１．ｃｓｖ」「ＣＰＵ＿２００７０８３０＿ＡＰ３．ｃｓｖ」などのファイルは対象となり、「ＣＰＵ＿２００７０７３１＿ＡＰ１．ｃｓｖ」「ＣＰＵ＿２００７０９０１＿ＡＰ３．ｃｓｖ」などのファイルは対象外となる。対象外のファイルであれば、対象ディレクトリ以下の階層の次ファイルを読み込む。次ファイルがなければ、ステップ１０４に戻る（ステップ１０８）。
【００２８】
ファイル名に対象年月日が含まれる場合は、対象ファイルを読み込む（ステップ１１０）。ファイル名の日付（例えば、２００７０８１０）とファイルの開始行と最終行の日付（２００７／８／１０）が一致することを確認する（ステップ１１２）。一致すれば、対象ファイルのレコードを、編集用（平均値や最大値の算出用）の中間編集シートに出力する（ステップ１２０）。次に、対象ディレクトリ以下階層の次ファイルを読み込む。次ファイルがなければ、ステップ１０４に戻る（ステップ１２２）。
【００２９】
ここで、ファイル名の日付とファイルに出力されたレコードの開始行、最終行の日付が一致しない日またがり、月またがり対応を説明する（ステップ１１２から１１８）。日またがりの場合は、ファイル名に付与される日付が対象日の次日の日付となり（２００７年８月１０日のリソース情報やログ／トレース情報の稼働統計情報ファイル名がＣＰＵ＿２００７０８１１＿ＡＰ１．ｃｓｖとなる）、ファイルに出力されるレコードが、対象日および次日のレコードも含まれる。そのため、ステップ１１２でファイル名の日付とファイルに出力されたレコードの開始行、最終行の日付が一致しない場合は、日またがりと判断し、ファイルの日付から１を減算する（ステップ１１４）。例えば、ファイル名が「ＣＰＵ＿２００７０８１０＿ＡＰ１．ｃｓｖ」の場合、ファイル日付を２００７０８０９とする。ファイル名「ＣＰＵ＿２００７０８０１＿ＡＰ１．ｃｓｖ」の場合は、ファイル日付が０（２００７０８００）となるため、前月の最終日からの月またがりファイルと判断し（編集対象外）、ファイル読込みをスキップしてステップ１２２へ移行する（ステップ１１６）。ファイル日付が０とならなかった場合は、入力ファイル日付と一致する日付のレコードのみを中間編集シートに出力し（ステップ１１８）、ステップ１２２へ移行する。例えば日またがりの場合は、ファイル「ＣＰＵ＿２００７０８１０＿ＡＰ１．ｃｓｖ」には日付２００７／８／９と２００７／８／１０のレコードが含まれるため、２００７／８／９のレコードのみを抽出し、中間編集シートに出力する。ここで出力されている２００７／８／１０のレコードは、２００７／８／１０の０：００〜稼働統計情報ファイル取得時間（次の日の稼働時間（８：００）より前）のレコードである。そのため、稼働統計情報としては不要なデータであり、読み飛ばす。２００７／８／１０の稼働時間帯（８：００〜２０：００）のレコードは、２００７／８／１０に取得する稼働統計情報に含まれるため、稼働統計情報ファイル「ＣＰＵ＿２００７０８１０＿ＡＰ１＿１．ｃｓｖ」（同一名のファイルを同一ディレクトリに格納する場合は、ファイル名に通番を付与する）から抽出する。
【００３０】
ステップ１２２にて、対象ファイルを全て中間編集シートに出力した後（対象年月が２００７年８月の稼働統計情報（ＣＰＵ使用率）編集の場合は、２００７年８月１日から８月３１日までの稼働統計情報（ＣＰＵ使用率）を編集シートに出力する）、対象月の最終日のデータ（２００７年８月３１日）が編集シートに入っていることを確認する（ステップ１２４）。対象月の最終日は、ツールが持つカレンダー情報を参照して、取得している。最終日のデータが入っていれば、ファイルの読み込みは完了となる（ステップ１３４へ移行）。入っていなければ、対象月の次月初日（２００７年９月１日）のファイルを読み込む（ステップ１２６）。開始行が対象月の最終日の日付（２００７年８月３１日）と一致すれば、月またがりと判断し、入力ファイル日付を対象月の最終日とする（２００７０８３１）（ステップ１３０）。ステップ１３２で、入力ファイル日付と一致する日付のレコードのみを、編集用（平均値や最大値の算出用）の中間編集シートに出力する。編集シート完成後、ステップ７６へ移行する。
【００３１】
この中間編集シートのデータを基にして、最終的に平均値や最大値を算出した結果を編集シートファイル（出力ファイル）に出力する。
【図面の簡単な説明】
【００３２】
【図１】本発明の処理の概要を示すフローチャートである。
【図２】本発明に係る日またがり、月またがりの処理を示すフローチャートである。
【図３】図２の続き。
【図４】本発明であるツールの実行画面イメージを示したものである。
【図５】本発明に係る稼働統計情報を取得の流れを示したものである。
【図６】入力ファイルサンプルを示したものである。
【図７】中間ファイルサンプルを示したものである。
【図８】出力ファイルサンプルを示したものである。
【符号の説明】
【００３３】
３０…サーバ群、３２…各サーバで取得するリソース情報、３４…各サーバで取得するログ／トレース、３６…管理サーバ、３８…全サーバのリソース情報、４０…全サーバのログ／トレース、４２…稼働統計情報、４４…リモートコントロール用クライアント。
【図１】
2009134661.tif 000003
【図２】
2009134661.tif 000004
【図３】
2009134661.tif 000005
【図４】
2009134661.tif 000006
【図５】
2009134661.tif 000007
【図６】
2009134661.tif 000008
【図７】
2009134661.tif 000009
【図８】
2009134661.tif 000010