ビジネスの世界で最近良く耳にするトヨタ式「カイゼン」。その改善に欠かすことの出来ないキーワードが実は「見える化」です。可視化することで問題が顕在化され、よって何をどのように改善すべきかに挑戦する。この飽くなき改善スパイラルをITインフラ環境においてどのように実現するか?また実現することで得られる多くの効能。当サイトではITインフラ性能分析からサービスレベル測定に至るまで、具体的に分かりやすく役に立つ情報を提供して参ります。
[2006年2月15日]
ITインフラ情報の収集2
本当に寒い日が続いており、カゼが大流行です。私もカゼで3日間寝込んでしまいました。どうか皆様もくれぐれもお体お大事にしてください。
今回は、データ収集に関する考察の2回目です。
- ストレージ
-
ストレージに関しては容量管理のほかに性能情報計としてスループット、レスポンスタイム、キャッシュヒット率などが主な情報になります。ストレージですから主体はDiskのI/O負荷状況、分散等が最初に思い浮かぶところですが、共有ディスクとして考えればSANスイッチの特定ポートへのアクセスの集中なども忘れてはならない可視化項目となります。
なお、ストレージの監視に関してはハードウエアに深く依存した情報を収集する性質から各社ハードウエアに依存した監視ツールで監視を実現しているのが一般的であり、それぞれツールに依存した形でデータ収集する必要があります。

- アプリケーション
-
アプリケーションの情報を収集する場合二つの方法が考えられます。一つはアプリケーションの外からプロセスの監視、あるいはWindowsで言えばサービスの監視というような形で行われ、また、アプリケーション内部からデータ収集するものの代表例としてデータベース、Webサーバ、Javaアプリケーションなどがあり、これらは内部的に細かい性能情報を蓄積する仕組みが組み込まれていますので、ここからデータ収集することが出来ます。またそのほかにもプロセスが常駐型か、非常駐型かによってもデータ収集方法は変わってきます。
<アプリケーション外部から監視>
アプリケーションを外部から監視する場合は、収集する内容的には該当プロセスのCPU使用率、メモリ使用率等が一般的であり、Windowsの場合は更に、スレッド数や各種IO情報なども細かく収集することが出来ます。
<アプリケーション内部から監視>
例えばOracleアプリケーションを例にとると、Oracleには内部的にディクショナリテーブルと呼ばれる各種管理情報、性能情報を管理するものが用意されており、その情報量は膨大で各種状況をきめ細かく見ることが可能です。しかしながら、この情報が多いというのも問題で、事前に監視のポイントを決めて必要なものだけを収集することが必要です。ちなみにデータベースの情報を取る上で一般的なものとしては、メモリキャッシュされた情報の再利用率(キャッシュヒット率)、DiskI/O状況、ロック情報、実行トランザクション数などがあります。
<常駐型アプリケーションの場合>
アプリケーションは単数あるいは複数のプロセス群として常に起動されている状態ですから、比較的情報収集は楽になります。
<非常駐アプリケーションの場合>
代表的なケースとしてはJobスケジューラで定期的に起動されるアプリケーションになります。よってこのタイプのアプリケーションは動作しているタイミングでの情報収集が必要になるので、いかにそのタイミングでの収集を行うかがポイントになります。実行時間のある程度長いアプリケーションであれば収集できる確立も高くなりますが、実行時間の短いものに関してはJobスケジューラの設定でアプリケーションを実行するタイミングでデータ収集を開始させ、Job終了タイミングで収集も終了させる等の工夫も必要になります。
また、何らかのツールのログを利用して情報収集する場合はプロセスにその都度採番されるIDが振られる場合もありますので、この場合プロセスの統計を取るような場合はプロセスID部分を削除するなどの工夫も必要です。またプロセスが同一時間帯で複数起動する場合もありますので、その場合が逆にプロセスIDを付加したまま分析を行う場合もあります。これらは分析要件によって様々です。
- ヘルプデスク、サービスデスク
-
ヘルプデスク、サービスデスクからデータを収集するというのも意外と思われるかもしれません。最近の運用管理のトレンドとしてITILがあります。これは運用の品質を向上させる目的で用いられるものであり、その中ではSLAが重要視されています。アウトソーシング業務においてエンドユーザ取り交わすSLA。障害が発生してからエンドユーザへの通知時間を定めたものや、障害が収束するまでの時間、障害発生件数、障害対応時間等様々な内容が盛り込まれますが、SLAを計測するためにはこれら情報をベースに計算する必要があります。よってヘルプデスクシステムに登録されているインシデント情報を定期的に収集し分析計算をさせることでSLA情報を収集することが出来ます。
これまでITインフラからデータ収集する方法概論をまとめてきました。ITインフラはまさに日進月歩の速度で進化しており、大規模化、複雑化も比例するように進んでいます。これに伴いデータの収集方法も変化していきます。また、データ収集項目に関しても最初の状況はあくまでスタートであり、用途・要件に合わせて常にダイナミックに変更していくべき物であり、そうすることがより透明度の高い可視化を実現することに繋がります。この可視化環境が進化していくことで問題点、改善点も浮き彫りにされ、それを一つ一つ対応していくことで高品質な運用を実現していくことができるのです。