(57)【要約】  【課題】定常状態ではより情報量の多いログ収集を可能としつつ、内部リソースの負荷が高い場合でも重要度の高いログメッセージを含む有意なログ情報を発行できるログ情報発行装置を提供する。  【解決手段】ログ情報発行装置は、ログメッセージの優先度情報を格納する優先度情報管理部２０２と、ログメッセージを優先度別にメッセージキュー２０４へ格納するメッセージ振分処理部２０１と、当該ログ情報発行装置の内部リソースの稼働情報から負荷状態を判断する内部リソース情報収集部２０６と、メッセージキュー２０４から前記負荷状態に応じた種類・数のログメッセージを取り出すログメッセージキュー処理部２０５と、ログメッセージキュー処理部２０５によって取り出されたログメッセージを、ログ情報として出力するログ処理部２１０とを備える。【選択図】図１
2010206698.tif 000002
【特許請求の範囲】
【請求項１】
ログ情報を発行するログ情報発行装置であって、
ログメッセージの優先度を規定した優先度情報を格納する優先度情報管理部と、
前記ログメッセージを優先度に応じて格納するための複数のキューを有するメッセージキューと、
前記優先度情報を参照し、前記メッセージキューへ前記ログメッセージを優先度に応じて格納するメッセージ振分処理部と、
当該ログ情報発行装置の内部リソースの稼働情報から、前記内部リソースの負荷状態を判断する内部リソース情報収集部と、
前記負荷状態に応じて前記メッセージキューから取り出すログメッセージについての条件を規定したログ取得条件にしたがい、前記メッセージキューから前記ログメッセージを取り出すログメッセージキュー処理部と、
前記ログメッセージキュー処理部によって取り出されたログメッセージを、前記ログ情報として出力するログ処理部とを備えたログ情報発行装置。
【請求項２】
前記メッセージキューにおいて、優先度が相対的に高いログメッセージを格納するキューが、優先度が相対的に低いログメッセージを格納するキューよりも長いキュー長を有する、請求項１に記載のログ情報発行装置。
【請求項３】
複数のログメッセージから検知されるイベントに関して、当該イベントを検知するための複数のログメッセージを特定する情報と、検知されたイベントに関するイベントログを生成するための情報とを含むイベント情報を格納するイベント情報管理部と、
前記ログメッセージキュー処理部によって取り出されたログメッセージを前記イベント情報と対照することにより、イベントの発生を検知し、検知されたイベントに関するイベントログを生成するイベント検知部とをさらに備え、
前記ログ処理部が、イベント検知部によって生成されたイベントログを、前記ログ情報として出力する、請求項１または２に記載のログ情報発行装置。
【請求項４】
前記ログ情報を少なくとも一時的に格納するログ格納部をさらに備え、
前記イベント検知部が、前記ログメッセージキュー処理部によって取り出されたログメッセージを前記イベント情報と対照することにより、イベントを検知するための複数のログメッセージのうちの少なくとも一つを検出した場合、前記ログ格納部を参照し、前記イベントを検知するための複数のログメッセージのうちの残りのログメッセージを検索する、請求項３に記載のログ情報発行装置。
【請求項５】
前記イベント検知部が、前記ログメッセージキュー処理部によって取り出されたログメッセージを前記イベント情報と対照することにより、イベントを検知するための複数のログメッセージのうちの少なくとも一つを検出した場合、前記優先度情報管理部において、前記イベントを検知するための複数のログメッセージのうちの残りのログメッセージの優先度を上げる、請求項３に記載のログ情報発行装置。
【請求項６】
ログ情報発行装置がログ情報を発行する方法であって、
ログメッセージの優先度を規定した優先度情報を優先度情報管理部に格納する工程と、
前記優先度情報を参照し、前記ログメッセージを優先度に応じて格納するための複数のキューを有するメッセージキューへ、前記ログメッセージを優先度に応じて格納する工程と、
当該ログ情報発行装置の内部リソースの稼働情報から、前記内部リソースの負荷状態を判断する工程と、
前記負荷状態に応じて前記メッセージキューから取り出すログメッセージについての条件を規定したログ取得条件にしたがい、前記メッセージキューから前記ログメッセージを取り出す工程と、
前記メッセージキューから取り出されたログメッセージを、前記ログ情報として出力する工程とを含む、ログ情報発行方法。
【請求項７】
ログ情報発行装置にログ情報を発行する処理を実行させるプログラムであって、
前記プログラムは、
ログメッセージの優先度を規定した優先度情報を優先度情報管理部に格納する処理と、
前記優先度情報を参照し、前記ログメッセージを優先度に応じて格納するための複数のキューを有するメッセージキューへ、前記ログメッセージを優先度に応じて格納する処理と、
当該ログ情報発行装置の内部リソースの稼働情報から、前記内部リソースの負荷状態を判断する処理と、
前記負荷状態に応じて前記メッセージキューから取り出すログメッセージについての条件を規定したログ取得条件にしたがい、前記メッセージキューから前記ログメッセージを取り出す処理と、
前記メッセージキューから取り出されたログメッセージを、前記ログ情報として出力する処理とを前記ログ情報発行装置に実行させる、ログ情報発行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害解析や監査証跡などに用いられるログ情報を発行する装置に関する。
【背景技術】
【０００２】
ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）システムの運用管理においては、障害解析や監査証跡などを分かり易い態様に加工して出力するサービスビジネスとの連携が重要視されている。上記のシステムを構成する機器の監視を行う際に有用なプロトコルとしては、Ｔｅｌｎｅｔ、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）、ｓｙｓｌｏｇ（ログ機能）などがある。実際のシステムにおいては、装置の動作状態やエラーなどの情報をｓｙｓｌｏｇとして運用管理者に通知したり装置内部に保持したりするログ機能が使用されることが多い。
【０００３】
一般的にログとして発行する情報は、異常や問題発生に関連するものが多い。これに加えて、障害発生時の原因解析や、装置やシステム全体の挙動を確認するためには、機能モジュールがどのように動作しているか、どのようなパケットが通過しているか、などの情報もログとして求められる。つまり、システムの問題点を顕在化させるためには、ログの質、量ともに充実させることが求められる。
【０００４】
例えばパケットの通過情報をログとして記録する場合において、ＩＴシステムを構成するルータ、ファイアウォール、ロードバランサなどのデータ中継装置では、通信量の増大に比例して大量のログ発行が行われることになる。ログの発行処理は、装置内のＣＰＵやメモリリソースを使用し、また、ログの保存のための記憶媒体へのアクセスを伴う。そのため、ログの発行量が増えるとこれらのリソースを圧迫し、データ中継などの他機能に影響を与え、通信性能が劣化するなどの問題が発生する。
【０００５】
リソースに影響を与えることなく大量のログを処理するために、例えば一定時間の同一ログの発生回数を出力するダイジェスト方式という方法がある。しかし、この方法では、ログとして発行するイベントの内容によっては、重要な情報が欠落してしまう、という問題もある。例えばパケットの通過情報をログとして発行する場合、ダイジェスト方式ではＩＰアドレスやポート番号等の情報は欠落してしまい、ログとしての有用な情報は大幅に少なくなってしまう。そこで、装置のリソース使用を抑えながら、情報量の多いログの取得率を上げていく必要がある。
【０００６】
例えば、特開平１１−２３４２７４号公報（特許文献１）には、監視対象装置（エージェント）側で障害分析等を行い、ＣＰＵ負荷が所定の閾値を超えた場合等、必要な場合にのみ監視装置（マネージャ）に通知することで、トラフィックを減らす手法が提案されている。
【０００７】
また、ログを収集する管理装置のＣＰＵ負荷を抑えつつ、ログ情報を収集する手法が、特開２００４−２０６４９５号公報（特許文献２）に開示されている。この手法は、監視対象装置のＣＰＵ負荷情報、メモリの使用率、ディスク使用量の少なくともいずれかを収集し、収集した情報から、予め設定した負荷の高い危険域に達したことを検知した場合のみ、他の重要情報も含めた全てのログ情報を収集する手法である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−２３４２７４号公報
【特許文献２】特開２００４−２０６４９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の特許文献１，２に開示された従来の手法では、定常状態では限られたログ情報の収集しか行わないので、突発的な障害の発生などに関するログ情報の収集ができないという問題がある。
【００１０】
本発明は、この問題を鑑み、定常状態ではより情報量の多いログ収集を可能としつつ、内部リソースの負荷が高い場合でも、重要度の高いログメッセージを含む有意なログ情報を確実かつ効率的に発行できるログ情報発行装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、以下に開示のログ情報発行装置は、ログメッセージの優先度情報を格納する優先度情報管理部と、前記ログメッセージを優先度に応じて格納するための複数のキューを有するメッセージキューと、前記優先度情報を参照し、前記メッセージキューへ前記ログメッセージを優先度に応じて格納するメッセージ振分処理部と、当該ログ情報発行装置の内部リソースの稼働情報から、前記内部リソースの負荷状態を判断する内部リソース情報収集部と、前記負荷状態に応じて前記メッセージキューから取り出すログメッセージについての条件を規定したログ取得条件にしたがい、前記メッセージキューから前記ログメッセージを取り出すログメッセージキュー処理部と、前記ログメッセージキュー処理部によって取り出されたログメッセージを、前記ログ情報として出力するログ処理部とを備えた構成である。
【発明の効果】
【００１２】
上記の構成を備えたログ情報発行装置によれば、定常状態ではより情報量の多いログ収集を可能としつつ、ＣＰＵ等の内部リソースの負荷が高い場合でも重要度の高いログメッセージを優先的に出力することにより、重要度の高いログメッセージを含む有意なログ情報を確実かつ効率的に発行できるログ情報発行装置を提供することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】図１は、第１の実施形態にかかるログ収集システムの概略構成を示すブロック図である。
【図２Ａ】図２Ａは、ログメッセージのフォーマットの一例を示す模式図である。
【図２Ｂ】図２Ｂは、優先度情報の一具体例を示す模式図である。
【図３】図３は、図１に示した各機能ブロックが実行する処理を時系列に示したシーケンス図である。
【図４】図４は、ログメッセージキュー処理部がログメッセージキューから取り出すメッセージ数の上限値の設定例を示す模式図である。
【図５】図５は、第２の実施形態にかかるログ収集システムの概略構成を示すブロック図である。
【図６】図６は、図５に示した各機能ブロックが実行する処理を時系列に示したシーケンス図である。
【図７】図７は、ログ優先度情報管理部に優先度情報として格納されている、ログＩＤと優先度との組み合わせの一例を示す模式図である。
【図８】図８は、複数のログメッセージの組み合わせからその発生を検知できるイベントを定義したイベント情報のフォーマットの一例を示す模式図である。
【図９Ａ】図９Ａは、イベント情報の一具体例を示す模式図である。
【図９Ｂ】図９Ｂは、イベント情報の一具体例を示す模式図である。
【図９Ｃ】図９Ｃは、イベント情報の一具体例を示す模式図である。
【発明を実施するための形態】
【００１４】
本発明の一実施形態にかかるログ情報発行装置は、ログメッセージの優先度を規定した優先度情報を格納する優先度情報管理部と、前記ログメッセージを優先度に応じて格納するための複数のキューを有するメッセージキューと、前記優先度情報を参照し、前記メッセージキューへ前記ログメッセージを優先度に応じて格納するメッセージ振分処理部と、当該ログ情報発行装置の内部リソースの稼働情報から、前記内部リソースの負荷状態を判断する内部リソース情報収集部と、前記負荷状態に応じて前記メッセージキューから取り出すログメッセージについての条件を規定したログ取得条件にしたがい、前記メッセージキューから前記ログメッセージを取り出すログメッセージキュー処理部と、前記ログメッセージキュー処理部によって取り出されたログメッセージを、前記ログ情報として出力するログ処理部とを備えた構成である。
【００１５】
上記の構成を備えたログ情報発行装置では、メッセージ振分処理部が、メッセージキューの複数のキューに対して、ログメッセージを優先度に応じて振り分けて格納する。そして、メッセージキュー処理部が、負荷状態に応じて前記メッセージキューから取り出すログメッセージについての条件を規定したログ取得条件にしたがい、メッセージキューからログメッセージを取り出す。そして、取り出されたログメッセージが、ログ処理部からログ情報として出力される。なお、ログ情報の出力先は、他の外部装置であっても良いし、ログ情報発行装置の内部に設けられた記憶媒体、または、ログ情報発行装置からアクセス可能な記憶媒体であっても良い。
【００１６】
以上の構成により、本実施形態にかかるログ情報発行装置は、定常状態ではより情報量の多いログ収集を可能としつつ、ＣＰＵ等の内部リソースの負荷が高い場合でも重要度の高いログメッセージを優先的に出力することにより、有意なログ情報を確実かつ効率的に発行できる。
【００１７】
上記のログ情報発行装置は、前記メッセージキューにおいて、優先度が相対的に高いログメッセージを格納するキューが、優先度が相対的に低いログメッセージを格納するキューよりも長いキュー長を有することが好ましい。この好ましい構成によれば、優先度が相対的に高いログメッセージを、優先度が相対的に低いログメッセージに比較して、メッセージキューに優先的に格納することができるので、重要なログメッセージの消失を防止し、有意なログ情報を発行することができる。
【００１８】
上記のログ情報発行装置は、複数のログメッセージから検知されるイベントに関して、当該イベントを検知するための複数のログメッセージを特定する情報と、検知されたイベントに関するイベントログを生成するための情報とを含むイベント情報を格納するイベント情報管理部と、前記ログメッセージキュー処理部によって取り出されたログメッセージを前記イベント情報と対照することにより、イベントの発生を検知し、検知されたイベントに関するイベントログを生成するイベント検知部とをさらに備え、前記ログ処理部が、イベント検知部によって生成されたイベントログを、前記ログ情報として出力する構成であることが好ましい。この好ましい構成によれば、複数のログメッセージの組み合わせにより判明する事象（イベント）を検知すると、このイベントの発生を表すイベントログが、ログ情報として出力される。これにより、監視対象装置において発生した複合的な事象を把握することが可能となる。
【００１９】
上記のログ情報発行装置は、前記ログ情報を少なくとも一時的に格納するログ格納部をさらに備え、前記イベント検知部が、前記ログメッセージキュー処理部によって取り出されたログメッセージを前記イベント情報と対照することにより、イベントを検知するための複数のログメッセージのうちの少なくとも一つを検出した場合、前記ログ格納部を参照し、前記イベントを検知するための複数のログメッセージのうちの残りのログメッセージを検索する構成であることが好ましい。この好ましい構成によれば、イベントを検知するための複数のログメッセージのうちの少なくとも一つを検出した場合、当該イベントを検知するための他のログメッセージが過去に発行されていた場合に、ログ格納部からこれを検出することができる。
【００２０】
上記のログ情報発行装置において、前記イベント検知部が、前記ログメッセージキュー処理部によって取り出されたログメッセージを前記イベント情報と対照することにより、イベントを検知するための複数のログメッセージのうちの少なくとも一つを検出した場合、前記優先度情報管理部において、前記イベントを検知するための複数のログメッセージのうちの残りのログメッセージの優先度を上げることが好ましい。この好ましい構成によれば、イベントの発生を検出する根拠となる複数のログメッセージの一つが検出された際に、前記複数のログメッセージのうちの他のログメッセージの優先度を上げることにより、前記他のログメッセージがメッセージキューから取り出されずに廃棄されることが防止される。これにより、イベントの発生を確実に検出することが可能となる
以下、本発明のより具体的な実施形態について図面を参照しながら詳細に説明する。
【００２１】
［第１の実施形態］
本発明の一実施形態にかかるログ収集システムの概略構成を、図１に示す。図１に示すように、本実施形態においては、監視装置１０が、監視対象装置（ログ情報発行装置）２０から発行されるログ情報を収集する。
【００２２】
監視装置１０は、監視対象装置２０からログ情報を収集し、収集したログの分析等を行う装置であり、サーバ等のコンピュータとして実施可能である。なお、監視装置１０の機能が通信端末装置または通信制御装置に搭載された態様であっても良い。
【００２３】
監視対象装置２０は、自らの動作状態や他装置との通信状態等をログ情報として発行する装置であれば、任意の機能を有する装置として実施できる。すなわち、監視対象装置２０は、サーバやクライアント等のデータ処理装置であっても良いし、通信端末装置または通信制御装置であっても良く、その用途や機能は特定のものに限定されない。
【００２４】
監視対象装置２０は、ログ処理に関する機能を実現するために、メッセージ振分処理部２０１、ログ優先度情報管理部２０２、ログ優先度情報設定部２０３、ログメッセージキュー２０４、ログメッセージキュー処理部２０５、内部リソース情報収集部２０６、ログ処理部２１０、および、ログ格納部２１１を備えている。なお、図１に示す機能モジュール２１２は、監視対象装置２０においてＣＰＵやメモリ等のハードウェアリソースを利用して各種の処理を行い、処理の挙動やエラーメッセージ等の情報を含むログメッセージを発行する。
【００２５】
メッセージ振分処理部２０１は、機能モジュール２１２が発行したログメッセージを受け取り、ログ優先度情報管理部２０２の優先度情報を参照し、各ログメッセージをその優先度にしたがってログメッセージキュー２０４へ格納する。
【００２６】
ログ優先度情報管理部２０２は、ログメッセージの優先度を定義した情報を格納している。ログ優先度情報設定部２０３は、装置管理者がログ優先度を設定するためのインタフェースとして機能する。すなわち、装置管理者は、ログ優先度情報設定部２０３からログＩＤや優先度を入力することにより、各種のログメッセージに対して所望の優先度を設定し、ログ優先度情報管理部２０２へ格納させることができる。
【００２７】
ログメッセージキュー２０４は、ログメッセージを優先度毎に分類して格納するための複数のキューを有する。メッセージ振分処理部２０１から送られたログメッセージは、その優先度に応じたキューに格納される。例えば、本実施形態においては、ログメッセージに三段階（高、中、低）の優先度を付与するものとし、ログメッセージキュー２０４は、これらの高、中、低の三段階の優先度のログメッセージを別個に格納するために、高優先キュー、中優先キュー、および低優先キューの、三種類のキューを有する。また、ログメッセージキュー２０４は、優先度が高いログメッセージを優先的に格納できるようにするために、優先度が高いキューほど、長いキュー長が割り当てられている。すなわち、高優先キューのキュー長が最も長く、低優先キューのキュー長が最も短い。
【００２８】
ログメッセージキュー処理部２０５は、内部リソース情報処理部２０６で求められる負荷状態に応じて、ログメッセージキュー２０４から取り出すログメッセージの種類と数を決定し、決定結果にしたがってログメッセージを取り出す。ログメッセージキュー処理部２０５は、取り出したログメッセージをログ処理部２１０へ渡す。
【００２９】
内部リソース情報収集部２０６は、監視対象装置２０においてログメッセージ処理に関与するリソース（ＣＰＵやメモリ等）の負荷情報を定期的に収集し、収集した負荷情報から監視対象装置の付加状態を判定する。負荷情報としては、例えば、ＣＰＵ使用率、メモリ使用率、ディスク使用率等の種々の情報を利用することができる。本実施形態においては、負荷情報としてＣＰＵ使用率を用いるものとする。
【００３０】
ログ処理部２１０は、ログメッセージをログ情報（ｓｙｓｌｏｇ）として監視装置１０へ送信すると共に、ログ格納領域２１１へも記録する。
【００３１】
ここで、上記の構成によって実施されるログメッセージ処理の手順について、具体例を用いて以下に説明する。
【００３２】
なお、本実施形態の機能モジュール２１２が発行するログメッセージ３０は、図２Ａに示すように、ログＩＤ３０１と、メッセージ本体３０１と、付加パラメータ３０２とを含むものとする。ログＩＤ３０１は、ログメッセージ３０の種類を表すＩＤであり、機能モジュール２１２がログメッセージを発行する際に、各ログメッセージに対して、その種類に応じて付与するものである。メッセージ本体３０１は、ログが示す事象（処理の挙動やエラーメッセージ等）を所定のフォーマットで記述したものである。付加パラメータ３０２は、メッセージ本体３０１に記述された事象の詳細情報である。
【００３３】
ここで、装置管理者がログ優先度情報設定部２０３からあらかじめ設定を行うことにより、ログ優先度情報管理部２０２に、図２Ｂに示すような優先度情報が設定されているものとする。なお、図２Ｂの優先度情報は、監視対象装置２０が通信装置（例えばルータ）である場合の具体例であるが、前述したとおり、この実施形態は、監視対象装置２０を通信装置に限定する趣旨ではない。
【００３４】
本実施形態のログ優先度情報管理部２０２に格納されている優先度情報は、図２Ｂに示すように、ログＩＤと、優先度のレベルを表す情報とを含む。なお、図２Ｂに示したログＩＤのうち、０ｘ０００１はＴＣＰコネクションが切断された際に発行されるログメッセージに付与されるＩＤであるものとする。また、０ｘ０００２はＴＣＰコネクションが新規に接続された際、０ｘ０００３はＴＣＰコネクション数が一定数を超過した際に、機能モジュール２１２からそれぞれ発行されるログメッセージに付与されるＩＤであるものとする。なお、ここでは、説明を簡略にするために、三種類のログＩＤのみを例示したが、ログＩＤは機能モジュール２１２から発行される可能性のある全てのログメッセージに対して用意される。
【００３５】
また、図２Ｂの例では、ログＩＤ０ｘ０００１に対して優先度が高、０ｘ０００２に対して優先度が中、０ｘ０００３に対して優先度が低、と設定されている。すなわち、図２Ｂの例では、装置管理者が、例えば、ログＩＤが０ｘ０００１であるログメッセージ（ＴＣＰコネクション切断）が重要であると認識し、これに対して、他のログメッセージよりも高い優先度を付与したものである。なお、図２Ｂは、説明の分かりやすさを考慮して優先度のレベルを「高」、「中」、「低」と表したが、実際のデータにおいてはそれぞれのレベルに対応づけたデジタルデータが用いられる。なお、優先度情報は、上述のとおり、ログ優先度情報設定部２０３から装置管理者等により予め入力設定される。
【００３６】
ここで、図３を参照し、ログメッセージの具体的な処理手順について説明する。図３は、図１に示した各機能ブロックが実行する処理を時系列に示したシーケンス図である。
【００３７】
なお、図３には、装置管理者が優先度情報の設定を行う工程（図３における工程（１−１）および工程（１−２））も含まれているが、これらの工程は、少なくとも、監視対象装置２０の最初の使用開始時に１回実行されれば良い。すなわち、装置管理者がログ優先度情報設定部２０３を介して優先度情報の設定を行うと（工程（１−１））、その優先度情報はログ優先度情報管理部２０２に格納される（工程（１−２））。
【００３８】
監視対象装置２０の機能モジュール２１２がログメッセージを発行すると、そのログメッセージは、メッセージ振分処理部２０１に渡される（工程（１−３））。メッセージ振分処理部２０１は、渡されたログメッセージのログＩＤを検索キーとしてログ優先度情報管理部２０２を参照し、当該ログメッセージに対応する優先度情報を取得する（工程（１−４））。メッセージ振分処理部２０１は、渡されたログメッセージをログメッセージキュー２０４に格納するが、この際に、工程（１−４）で取得した優先度情報が示す優先度に対応するキューに、ログメッセージを格納する（工程（１−５））。例えば、ログ優先度情報管理部２０２に図２Ｂに示したような優先度情報が格納されている場合、ログＩＤ０ｘ０００１を有するログメッセージが機能モジュール２１２から発行されると、当該ログメッセージの優先度は「高」であるので、ログメッセージキュー２０４において優先度「高」に対応するキューに、当該ログメッセージは格納される。
【００３９】
次に、ログメッセージキュー処理部２０５が、ログメッセージキュー２０４に格納されたログメッセージを取り出す（工程（１−６））。このとき、ログメッセージキュー処理部２０５は、内部リソース情報収集部２０６を参照する（工程（１−７））。なお、本実施形態においては、内部リソース情報収集部２０６は、定期的に、監視対象装置２０のＣＰＵ使用率を収集し、収集したＣＰＵ使用率から、監視対象装置２０の内部リソースの負荷状態を、低負荷、中負荷、高負荷の三段階で判別しているものとする。
【００４０】
前記工程（１−６）および工程（１−７）において、ログメッセージキュー処理部２０５は、内部リソース情報収集部２０６によって判別された負荷状態に応じて、ログメッセージキュー２０４から取り出すべきログメッセージの種類および数を決定し、ログメッセージを取り出す。なお、内部リソース情報収集部２０６には、負荷状態のレベルに応じて、ログメッセージキュー２０４の複数のメッセージキューのそれぞれから取り出すメッセージ数の上限値（ログ取得条件）が予め設定され、内部リソース情報収集部２０６の内部またはこれからアクセス可能なメモリに記憶されている。この上限値は、ログメッセージを監視装置１０に送信する処理、および、ログメッセージを監視対象装置２０のログ格納部２１１に保存する処理において必要とされる内部リソースの負荷量を計算しておき、これらの処理を行う際にＣＰＵ使用率が１００％を超えないように、上記のメッセージ数の上限値を設定しておくことが好ましい。
【００４１】
ここで、ログメッセージキュー処理部２０５がログメッセージキュー２０４から取り出すメッセージ数の上限値の設定例を、図４に示す。図４に示す例においては、ＣＰＵ使用率が３０％未満である状態を「低負荷状態」、ＣＰＵ使用率が３０％以上７０％未満である状態を「中負荷状態」、ＣＰＵ使用率が７０％以上である状態を「高負荷状態」と定義している。なお、監視対象装置２０の内部リソースの負荷状態が高くなるほど、優先度の高いログメッセージがログメッセージキュー２０４から優先的に取り出されるように、前記上限値を設定することが好ましい。本実施形態においては、図４に示すように、監視対象装置２０の内部リソースの負荷状態が「低負荷状態」であるときは、ログメッセージキュー２０４の高優先キュー、中優先キュー、および低優先キューのそれぞれから取り出されるログメッセージ数の上限値が、いずれも１００件に設定されている。また、「中負荷状態」にあるときは、ログメッセージキュー２０４の高優先キューからは１００件まで、中優先キューからは７５件まで、低優先キューからは２５件までのログメッセージを取り出せるように設定されている。また、「低負荷状態」にあるときは、ログメッセージキュー２０４の高優先キューからは１００件まで、中優先キューからは５０件まで、低優先キューからは１０件までのログメッセージを取り出せるように設定されている。なお、ここで示した具体的な件数はあくまでも一例である。このように、監視対象装置２０の内部リソースの負荷状態に応じて、高負荷状態の場合は優先度の高いログメッセージを優先して取り出せるように、ログ取得条件（各キューから取り出されるログメッセージ数の上限）を設定しておくことにより、高負荷状態となった場合においても、優先度の高いログメッセージを優先的に含むログ情報を発行することが可能となる。
【００４２】
ログメッセージキュー処理部２０５は、ログメッセージキュー２０４から取り出したログメッセージを、ログ処理部２１０に渡す（工程（１−８））。ログ処理部２１０は、前記ログメッセージをログ情報として監視装置１０へ送信する（工程（１−９））と共に、前記ログメッセージをログ情報としてログ格納部２１１へ格納する（工程（１−１０））。
【００４３】
以上の処理により、本実施形態にかかる監視対象装置２０によれば、監視対象装置２０の負荷が高く内部リソースが圧迫されている状態でも、必要なログ情報を効率的かつ確実に発行することが可能になる。
【００４４】
また、従来、大量のログ出力は内部リソースに高負荷をかけるので、ログの出力を制限したり情報量を減らしたりする必要があったが、本実施形態にかかる監視対象装置２０によれば、ログメッセージの優先付けと、内部リソースの負荷状態の監視とを連携させたログ流量制御を行うことで、監視対象装置２０の内部リソースが高負荷状態でも、重要なログ情報を収集することが可能となる。
【００４５】
［第２の実施形態］
本発明の他の実施形態にかかるログ収集システムについて以下に説明する。なお、第１の実施形態において説明した構成と同様の機能を有する構成については、第１の実施形態と同じ参照符号を付記し、その詳細な説明を省略する。
【００４６】
図５は、本実施形態にかかるログ収集システムの概略構成を示すブロック図である。図５に示すように、本実施形態にかかる監視対象装置４０は、第１の実施形態において説明した監視対象装置２０と比較して、イベント検知部４０７、イベント情報管理部４０８、および、イベント情報設定部４０９が追加的に設けられている点で相違するが、その他の構成は同様である。
【００４７】
本実施形態においては、ログメッセージキュー処理部２０５は、ログメッセージキュー２０４から取り出したログメッセージを、イベント検知部４０７とログ処理モジュール２１０とに渡す。
【００４８】
イベント検知部４０７は、ログメッセーキュー処理部２０５から渡されたログメッセージが、所定のイベントの発生を示すものであるか否かを判断する。なお、本実施形態における「イベント」とは、複数の事象の組み合わせから検出することができる一つの事象を意味する。例えば、「ＴＣＰコネクション切断」という事象と、「ＴＣＰ  ＲＳＴパケット検出」という事象とが所定の時間内に発生した場合に、これらの二つの事象の組み合わせから、「ＴＣＰ  ＲＳＴパケット検出によるコネクション切断」という、より具体的な事象（イベント）を検出することができる。
【００４９】
本実施形態においては、このようなイベントを検出することを可能とするために、イベントの定義（イベント情報）がログメッセージの組み合わせを用いて表され、イベント情報管理部４０８に格納されている。イベント検知部４０７は、ログメッセージを監視することにより、イベント情報に定義されているログメッセージの組み合わせを検出すると、イベントが発生したと判断し、そのイベントの発生を示すログメッセージ（イベントログ）を発行する。イベントログとして発行すべきログメッセージの内容も、イベント情報によって定義されている。
【００５０】
イベント情報設定部４０９は、装置管理者から、イベントを定義するログメッセージの組み合わせの設定または変更指示等を受け付けるインタフェースとして機能する。入力されたイベントは、イベント情報管理部４０８に登録される。
【００５１】
ここで、図６を参照し、ログメッセージの具体的な処理手順について説明する。図６は、図５に示した各機能ブロックが実行する処理を時系列に示したシーケンス図である。
【００５２】
なお、図６には、装置管理者が優先度情報およびイベント情報の設定を行う工程（図６における工程（２−１）〜工程（２−４））も含まれているが、これらの工程は、少なくとも、監視対象装置４０の最初の使用開始時に１回実行されれば良い。
【００５３】
装置管理者が、ログ優先度情報設定部２０３を介して、優先度情報の設定を行うと（工程（２−１））、その優先度情報は、ログ優先度情報管理部２０２に格納される（工程（２−２））。また、装置管理者が、イベント情報設定部４０９を介して、イベント情報の設定を行うと（工程（２−３））、そのイベント情報は、イベント情報管理部４０８に格納される（工程（２−４））。
【００５４】
なお、本実施形態においては、ログ優先度情報設定部２０３を介した装置管理者の設定により、ログ優先度情報管理部２０２に、図７に示すようなログＩＤと優先度との組み合わせが、優先度情報として格納されているものとする。なお、図７においては、ログＩＤ毎に、優先度と、ログ内容と、ログ発行元の機能モジュールとを記載したが、ログ内容とログ発行元の機能モジュールに関する情報は、参照の便宜のために図７に示したものに過ぎず、優先度情報としてログ優先度情報管理部２０２に格納される必要はない。
【００５５】
すなわち、図７の例では、機能モジュール２１２のうち、通信コネクション管理機能を有する機能モジュールが、０ｘ００１１，０ｘ００１２，０ｘ００１３のログＩＤをそれぞれ有する３種類のログメッセージを発行するものとする。ログＩＤが０ｘ００１１であるログメッセージは、ＴＣＰコネクションが切断されたことを示し、優先度として「高」が設定されている。ログＩＤが０ｘ００１２であるログメッセージは、ＴＣＰコネクションが新規に接続されたことを示し、優先度として「中」が設定されている。ログＩＤが０ｘ００１３であるログメッセージは、ＴＣＰコネクション数が所定の数を超えたことを示し、優先度として「中」が設定されている。
【００５６】
また、０ｘ００２１，０ｘ００２２，０ｘ００２３のログＩＤをそれぞれ有するログメッセージは、機能モジュール２１２のうち、ファイアウォール機能を有する機能モジュールが発行するものである。ログＩＤが０ｘ００２１であるログメッセージは、ＴＣＰ  ＲＳＴパケットが検出されたことを示し、優先度として「低」が設定されている。ログＩＤが０ｘ００２２であるログメッセージは、ＴＣＰ  ＦＩＮパケットが検出されたことを示し、優先度として「低」が設定されている。ログＩＤが０ｘ００２３であるログメッセージは、ポートが遮断されたことを示し、優先度として「中」が設定されている。
【００５７】
０ｘ００３１，０ｘ００３２のログＩＤをそれぞれ有するログメッセージは、機能モジュール２１２のうち、装置管理機能を有する機能モジュールが発行する。ログＩＤが０ｘ００３１であるログメッセージは、監視対象装置２０が再起動されたことを示し、優先度として「高」が設定されている。ログＩＤが０ｘ００３２であるログメッセージは、監視対象装置２０が再開されたことを示し、優先度として「中」が設定されている。
【００５８】
０ｘ００４１，０ｘ００４２のログＩＤをそれぞれ有するログメッセージは、機能モジュール２１２のうち、カーネル機能を有する機能モジュールが発行する。ログＩＤが０ｘ００４１であるログメッセージは、メモリの確保に失敗したことを示し、優先度として「中」が設定されている。ログＩＤが０ｘ００４２であるログメッセージは、プロセス以上が発生したことを示し、優先度として「中」が設定されている。
【００５９】
ログＩＤが０ｘ００５１のログメッセージは、機能モジュール２１２のうち、ＳＮＭＰエージェント機能を有する機能モジュールが発行する。このログメッセージは、リクエスト数が閾値を超過したことを示し、優先度として「中」が設定されている。
【００６０】
ログＩＤが０ｘ００５２であるログメッセージは、機能モジュール２１２のうち、プロトコルデーモン機能を有する機能モジュールが発行する。このログメッセージは、あるプロトコルのパケット受信数が閾値を超過したことを示し、優先度として「中」が設定されている。
【００６１】
なお、図７に示した上述の優先度情報は、あくまでも一具体例に過ぎない。図７に示した以外の種々のログメッセージについて、任意に優先度を設定することができる。
【００６２】
また、本実施形態においては、イベント情報設定部４０９を介した装置管理者の設定により、イベント情報管理部４０８にイベント情報が格納されている。イベント情報とは、上述のとおり、複数のログメッセージの組み合わせからその発生を検知できるイベントを定義したものである。例えば、図８に示したイベント情報は、イベント名と、イベントを検出するためのログメッセージの組み合わせ（第１イベント対応ログおよび第２イベント対応ログ）と、イベントログを発行するために用いられるイベント発生ログ情報とを、項目として含む。イベント名は、当該イベント情報に付与された名称でも良いし、イベントＩＤであっても良い。第１イベント対応ログと第２イベント対応ログとしてはそれぞれログＩＤが設定される。なお、３つ以上のログメッセージから検知されるイベントの場合は、第３イベント対応ログ等の項目が追加される。イベント発生ログ情報としては、当該イベントの発生を報告するために用いられるログメッセージのログＩＤ等が設定される。
【００６３】
ここで、図９Ａ〜図９Ｃに、イベント情報の具体例を示す。
【００６４】
例えば、図９Ａに例示したイベント情報は、「ＴＣＰ  ＲＳＴパケット検出によるコネクション切断」というイベント名が付与された事象を表すものである。なお、図９Ａの例では、イベント名としてテキスト情報を用いているが、その変わりにイベントＩＤを用いても良い。図９Ｂ，図９Ｃの例においても同様である。第１イベント対応ログとしては、ログＩＤが０ｘ００１１のログメッセージ（ＴＣＰコネクション切断）が設定され、第２イベント対応ログとしては、ログＩＤが０ｘ００２１のログメッセージ（ＴＣＰ  ＲＳＴパケット検出）が設定されている。すなわち、イベント検知部４０７は、ログＩＤが０ｘ００１１のログメッセージとログＩＤが０ｘ００２１のログメッセージとの二つが所定の時間内に検出された場合に、このイベントが発生したものと判断する。なお、前記所定の時間の値は、イベント検知部４０７がアクセス可能なメモリに記憶されていても良いし、イベント毎にイベント情報において定義されていても良い。図９Ａのイベント情報においては、このイベントの発生を示すログメッセージを定義するイベント発生ログ情報として、ログＩＤ０ｘ００６１が設定されている。なお、このログＩＤ０ｘ００６１を有するログメッセージは、「ＴＣＰ  ＲＳＴパケット検出によるコネクション切断」という事象を表すものとして定義されている。つまり、図９Ａに示したイベント情報は、ログＩＤが０ｘ００１１のログメッセージが示す事象（ＴＣＰコネクション切断）と、ログＩＤが０ｘ００２１のログメッセージが示す事象（ＴＣＰ  ＲＳＴパケット検出）とが所定の時間内に起こった場合に、「ＴＣＰ  ＲＳＴパケット検出によるコネクション切断」というイベントが発生したものと判断し、そのイベントが発生したことを示すイベントログを発行するためのイベント情報である。
【００６５】
図９Ｂに例示したイベントは、「プロセス異常による装置再起動」という事象を表すものである。第１イベント対応ログとしては、ログＩＤが０ｘ００３１のログメッセージ（装置再起動）が設定され、第２イベント対応ログとしては、ログＩＤが０ｘ００４２のログメッセージ（プロセス異常発生）が設定されている。すなわち、イベント検知部４０７は、ログＩＤが０ｘ００３１のログメッセージとログＩＤが０ｘ００４２のログメッセージとの二つが所定の時間内に検出された場合に、このイベントが発生したものと判断する。そして、図９Ｂのイベント情報においては、このイベントの発生を示すログメッセージを定義するイベント発生ログ情報として、ログＩＤ０ｘ００６２と、「プロセス異常発生による装置再起動」というメッセージを表示するためのメッセージＩＤとが設定されている。
【００６６】
図９Ｃに例示したイベントは、「ＳＮＭＰリクエスト数の閾値超過によるポート遮断」という事象を表すものである。第１イベント対応ログとしては、ログＩＤが０ｘ００２３のログメッセージ（ポート遮断）が設定され、第２イベント対応ログとしては、ログＩＤが０ｘ００５１のログメッセージ（リクエスト数の閾値超過）が設定されている。すなわち、イベント検知部４０７は、ログＩＤが０ｘ００２３のログメッセージとログＩＤが０ｘ００５１のログメッセージとの二つが所定の時間内に検出された場合に、このイベントが発生したものと判断する。そして、図９Ｃのイベント情報には、このイベントの発生を示すログメッセージを定義するイベント発生ログ情報として、ログＩＤ０ｘ００６３と、「ＳＮＭＰリクエスト数の閾値超過によるポート遮断」というメッセージを表示するためのメッセージＩＤとが定義されている。
【００６７】
なお、図９Ａ〜図９Ｃに示した上述のイベント情報は具体例に過ぎない。例えば、３件以上のログメッセージから発生が検知されるイベントを定義することも可能である。
【００６８】
監視対象装置４０の機能モジュール２１２がログメッセージを発行すると、そのログメッセージは、メッセージ振分処理部２０１に渡される（工程（２−５））。メッセージ振分処理部２０１は、渡されたログメッセージのログＩＤを検索キーとしてログ優先度情報管理部２０２を参照し、当該ログメッセージに対応する優先度情報を取得する（工程（２−６））。メッセージ振分処理部２０１は、渡されたログメッセージをログメッセージキュー２０４に格納するが、この際に、工程（２−６）で取得した優先度情報が示す優先度に対応するキューに、ログメッセージを格納する（工程（２−７））。
【００６９】
次に、ログメッセージキュー処理部２０５が、ログメッセージキュー２０４に格納されたログメッセージを取り出す（工程（２−８））。このとき、ログメッセージキュー処理部２０５は、内部リソース情報収集部２０６によって判別された監視対象装置４０の内部リソースの負荷状態を参照する（工程（２−９））。
【００７０】
前記工程（２−８）および工程（２−９）において、ログメッセージキュー処理部２０５は、内部リソース情報収集部２０６によって判別された負荷状態に応じて、ログメッセージキュー２０４から取り出すべきログメッセージの種類および数を決定し、ログメッセージを取り出す。なお、内部リソース情報収集部２０６には、負荷状態のレベルに応じて、ログメッセージキュー２０４の複数のメッセージキューのそれぞれから取り出すメッセージ数の上限値が予め設定されている。
【００７１】
ログメッセージキュー処理部２０５は、ログメッセージキュー２０４から取り出したログメッセージを、ログ処理部２１０に渡す（工程（２−１０））。ログ処理部２１０は、前記ログメッセージをログ情報として監視装置１０へ送信する（工程（２−１１））と共に、ログ格納部２１１へ保存する（工程（２−１２））。
【００７２】
また、上記の工程（２−９）と並行して、ログメッセージキュー処理部２０５は、ログメッセージキュー２０４から取得したログメッセージを、イベント検知部４０７へ渡す（工程（２−１３））。イベント検知部４０７は、前記ログメッセージのログＩＤを検索キーとしてイベント情報管理部４０８を参照し、イベント情報の第１イベント対応ログの項目に一致するログＩＤがあるか検索する（工程（２−１４））。第１イベント対応ログの項目に前記ログＩＤを含むイベント情報が登録されている場合、イベント検知部４０７は、当該イベント情報の第２イベント対応ログの項目に設定されているログＩＤを取得する。例えば、ログＩＤ０ｘ００１１を検索キーとした場合、当該ログＩＤを第１イベント対応ログの項目に含むイベント情報（図８Ａ参照）から、当該イベント情報中で当該ログＩＤと対をなすログＩＤとして第２イベント対応ログの項目に設定されている０ｘ００２１が取得される。
【００７３】
このようにして第２イベント対応ログの項目に設定されているログＩＤを取得すると、イベント検知部４０７は、取得したログＩＤを持つログメッセージが過去に発行されているかを、ログ格納部２１１を検索する（工程（２−１５））。この検索の結果としてヒットするログメッセージがあれば、イベント検知部４０７は、イベントが検出されたものと判断し、イベント情報管理部４０８において、検出されたイベントに対応するイベント情報を参照し、そのイベント情報において設定されているイベント発生ログ情報を取得する（工程（２−１６））。上述したように、イベント発生ログ情報には、イベントを検出した際に発行するログメッセージ（イベントログ）のログＩＤが設定されているので、イベント検知部４０７は、そのログＩＤを取得し、ログ処理部２１０へ渡す。なお、ログ処理部２１０においては、ログＩＤにしたがってログメッセージ（イベントログ）を発行する。
【００７４】
なお、前記工程（２−１５）において、ログ格納部２１１から、第２イベント対応ログの項目に設定されているログＩＤが検出されない場合は、イベント検知部４０７は、その後、当該ログＩＤを有するログメッセージが発行されるのを監視することとなる。この場合、イベント検知部４０７は、当該ログＩＤを持つログメッセージがログの流量制御により廃棄されてしまわないように、当該ログＩＤを持つログメッセージの優先度を上げる処理を行う。具体的には、イベント検知部４０７は、ログ優先度情報管理部２０２を参照し（工程（２−１８））、そのログメッセージの優先度情報を検索する。ここでは、ログＩＤ０ｘ００２１の優先度情報を、「低」から「高」に書き換える。この処理により、イベントを検知するための二つのログメッセージのうちの一つが検出された後に、もう一つのログメッセージが発行された場合、そのログメッセージをより確実に検出できる。
【００７５】
本実施形態においては、以上の処理により、ログの組み合わせによるイベントの検出が可能になる。例えば、図７に示すログＩＤ０ｘ００１１のログメッセージだけでは、「TCPコネクション切断」という事象が発生した、ということしかわからない。しかし、本実施形態においては、例えば、このログメッセージと、ログＩＤ０ｘ００２１のログメッセージとの組み合わせから検出されるイベントを、ログＩＤ０ｘ００６１を有する別個のログメッセージ（イベントログ）によって表すことで、コネクション切断の原因がＴＣＰ  ＲＳＴパケット検出によるものであることがわかり、原因の詳細情報がわかる。
【００７６】
また、例えば、図９Ｂに示した例によれば、ログＩＤ０ｘ００３１のログメッセージだけでは、「装置再起動」という事象が発生した、ということしかわからない。しかし、ログＩＤ０ｘ００４２のログとの組み合わせから検出されるイベントを、ログＩＤ０ｘ００６２のログメッセージ（イベントログ）で表すことで、装置再起動の原因がプロセス異常発生によるものであることがわかり、再起動の原因の解析に役立つ情報を得る。
【００７７】
また、例えば、図９Ｃに示した例によれば、ログＩＤ０ｘ００２３のログメッセージだけでは、「ポート遮断」という事象が発生した、ということしかわからない。しかし、ログＩＤ０ｘ００５１のログとの組み合わせから検出されるイベントを、ログＩＤ０ｘ００６３のログメッセージ（イベントログ）で表すことで、ポート遮断の原因がＳＮＭＰリクエスト数の閾値超過によるものであることがわかり、ポート遮断の根本原因を知ることができ、有効な対策を講ずることができる。
【００７８】
以上のとおり、本実施形態にかかる監視対象装置４０においては、複数のログメッセージの組み合わせにより判明する事象（イベント）を検知すると、このイベントの発生を表すイベントログを、ログ情報として発行する。これにより、監視対象装置４０において発生した複合的な事象を把握することが可能となる。また、イベントの発生を検出する根拠となる複数のログメッセージの一つが検出された際に、前記複数のログメッセージのうちの他のログメッセージの優先度を上げることにより、前記他のログメッセージがメッセージキュー２０４から取り出されずに廃棄されることが防止される。これにより、イベントの発生を確実に検出することが可能となる。
【００７９】
以上、具体的な実施形態を例示したが、上述の実施形態およびその変形例は本発明を限定するものではなく、発明の範囲内で種々の変更が可能である。
【００８０】
例えば、上記の第１，第２の実施形態においては、監視装置１０に対してログ情報を発行する監視対象装置２０，４０を例示した。しかし、監視対象装置２０，４０のそれぞれは、スタンドアローンでも良く、内部の記憶媒体（ログ格納部２１１）にログ情報を蓄積するよう構成されていても良い。
【００８１】
また、上記の実施形態においては、本発明を監視対象装置（ログ情報発行装置）として実施する例を中心に説明した。しかし、上記の実施形態においても説明したとおり、監視対象装置２０，４０においてログ情報の発行を行う方法と、監視対象装置２０，４０にログ情報の発行を行わせるための制御プログラムとしても、本発明を実施することが可能である。
【産業上の利用可能性】
【００８２】
本発明は、ログ情報発行装置およびこの装置によりログ情報を発行する方法、並びに、ログ情報発行装置の制御プログラムとして、産業上の利用が可能である。
【符号の説明】
【００８３】
１０      監視装置
２０      監視対象装置
４０      監視対象装置
２０１    メッセージ振分処理部
２０２    ログ優先度情報管理部
２０３    ログ優先度情報設定部
２０４    ログメッセージキュー
２０５    ログメッセージキュー処理部
２０６    内部リソース情報収集部
２１０    ログ処理部
２１１    ログ格納部
２１２    機能モジュール
４０７    イベント検知部
４０８    イベント情報管理部
４０９    イベント情報設定部
【図１】
2010206698.tif 000003
【図２Ａ】
2010206698.tif 000004
【図２Ｂ】
2010206698.tif 000005
【図３】
2010206698.tif 000006
【図４】
2010206698.tif 000007
【図５】
2010206698.tif 000008
【図６】
2010206698.tif 000009
【図７】
2010206698.tif 000010
【図８】
2010206698.tif 000011
【図９Ａ】
2010206698.tif 000012
【図９Ｂ】
2010206698.tif 000013
【図９Ｃ】
2010206698.tif 000014