今日は、SysTrack の Resolve と言う製品に含まれる Black Box と言う機能について紹介します。

これまでの記事でも何度か触れてきましたが、SysTrack ではアーキテクチャ上、Detail データ(15秒間隔)はチャイルド(エージェント)側で保持している事を説明してきましたが、このデータを最も強力に分析することが出来るツールがResolve になります。製品紹介などをする際も興味を持たれることが多い部分で機能も多岐に渡るのですが、今日はこの中でも Black Box と言うモジュールについて紹介します。

Black Box (Recorder)とは?

Resolve の説明をしている際にお客様から「Black Box と言うけどどう言う意味の名前なの?」と聞かれたことがありました。細かくエンドポイントを分析する機能なのにまるでユーザーから何かを隠すかのような名前に違和感を覚えての質問なのですが、タイトルにもある通り Black Box の名前は正式には Black Box Recorder と言われ、飛行機などの Black Box Recorderをイメージしたものです。

余談ですがこの記事を書くためにBlack Box について調べてみてびっくりしたのですが、Black Box は基本的には黒くないそうですね。検索結果を見てもオレンジなどの目立つ色が使われているのが分かります。確かに事故現場で見つけやすくしようと思ったら黒にはしないですよね。

なぜ飛行機の事故の分析で Black Box Recorder の分析は最も重視されるのでしょうか。

私はBlack Boxの以下の特性が重要視されているからではないかと思っています。

  1. 飛行機が航行している間の重要な情報を全て時系列で取得しているため : 再生可能
  2. 分析に必要十分な計器・操作・やりとりが時系列で取得されている: 必要十分なデータ
  3. パイロットや飛行機など事故の当事者の視点で情報が収集されている:1次データ

SysTrack で数あるツールの中で Black Box と言う名前を冠しているこのツールは上記のような Black Box Recorderの特性をITの現場で実現する事を目指しています。

Black Box の特徴(1):多数のメトリックを再生可能

Black Boxは主に タイムスライダー、メトリックグラフ、2つのグリッドデータの4つの要素から構成されます。

これはメトリックグラフで時系列の推移を追い、グリッドデータで特定の時点での詳細データを掘り下げるために使います。2つグリッドデータがあるのは多くの場合特定のメトリック異常に相関があるかを分析する必要があるためです。(例:あるアプリケーションのIOPSが上がったタイミングで Disk Busyの時間が増えるなど)

図1 Resolve > Black Boxの画面ショット

もう1つ着目して欲しいのは右上の再生・停止ボタンです。多くの場合ヘルプデスクのやり取りの中で、ユーザーが秒単位で問題発生時間を正確に報告できることはありません。おおよその発生時間を頼りにこの再生ボタンを使用してグリッドデータ内のメトリックの時間推移を追ってリソースの利用時間が最も大きかった時間(調査対象の時間)を決定します。この再生間隔は SysTrackのデータ取得間隔に依存しているので、3日以内の事象であれば15秒毎に再生され、30日以内であれば10分おきに推移していきます。これは正にBlack Box Recorderのように問題を調査していくイメージになります。

CPUやDiskなど問題となっていたリソースが分かっている場合にはメトリックデータをグラフで出力してピークをクリックすることによっても時間を決めることが出来ます。

グリッドデータで最もよく使われるのは「Application」データで、ここではアプリケーション毎のリソース利用量(CPU, Memory, IOPS,帯域など)の情報が記録されているため、システム全体でリソース利用量が増えた時にどのアプリケーションが原因となったかを特定することが出来ます。

Black Box の特徴 (2):豊富な分析メトリック

データグリッドで表示されるデータは選択した時刻のいわばスナップショットデータです。

このグリッドデータで詳細な分析を行うためここで表示されるデータはとても重要です。

Black Boxでは以下のようなデータを分析することが出来ます。これらのグリッドデータの多くは数値をクリックするとメトリックグラフにも表示されて時間毎の推移を追いかけることが出来るようになっています。

図2 グリッドデータで表示できる情報のカテゴリ

カテゴリ 説明
Alarm 表示時間範囲内に発生したSysTrackのアラームを表示します
Application 選択された時点でのプロセスの状態とリソースの消費が多かった上位40個のリソース消費量(CPU使用率、メモリ、IOPS、帯域など)が表示されます
Connections 各プロセスがつないでいるサーバーのアドレスやLatencyの値を表示します
Disk 各ドライブ毎のIOPSや %Busy TimeやQueue Lengthなどのディスク性能に関する情報を表示します。
Events 着目している時間に関連したイベント情報が表示されます。(イベントログ・クラッシュ情報・変更など)
GPU GPU 関連のメトリックを表示します。(GPUカードがない場合には表示されません)
Network ネットワークアダプタ毎の性能情報(帯域や使用率など)
Performance カスタムで追加したパフォーマンスカウンターの情報を表示します
Power 電力の利用状況(物理システムのみ)
Scripts カスタムスクリプトを実行している場合の実行結果やエラーの状況などを表示します
Services サービスの稼働状況を表示します
Session 着目している時間にログインしているユーザーセッションの情報鵜を表示します
System CPUやメモリの利用量やページング、プロセス数などシステム全体の性能に関わる情報を表示します。
Terminals セッションの状態やクライアントIPアドレスなどの情報を表示します
Virtual Machine vSphereやHyper-Vなど仮想化レイヤーの仮想マシンの性能情報を表示します
Blast/PCoIP/RDP/ICA Blast や ICAなどVDIのプロトコル性能に関するメトリックを表示します

Black Box の特徴(3):発生端末からの視点

もう1つ Black BoxやResolveの重要な点はこれは発生端末(エージェント)から取得されたデータで監視端末や管理端末など外部からの視点でないことです。 端末のLatency などの問題は多くの条件に左右されるため、外部や監視端末などからの情報とユーザーの事象が必ずしも一致するとは限りません。SysTrack の収集データはエージェントが実際に端末から取得した Latencyやメトリックを保持しています。

ヘルプデスクはログの取得と収集をどう考えるべきか?

ヘルプデスクの対応時間が長くなる1つの大きな原因は発生時に多数の切り分けとログ取得が要求されることがある時です。SysTrack では多数のメトリックを取得していますが、製品ログは取得していません。この点についてはどう考えるべきでしょうか。
結論から言うと、製品ベンダーの調査のために要求されたログは問題解決のためには取得が必要ですが、ヘルプデスクでの対応は可能な限り問題復旧に専念すべきです。
通常事象が曖昧な場合、データの取り損ねや取り直しが怖いので、ベンダー側からは最大限のデータ取得を要求されます。これはユーザー側から見ても繰り返しデータ取得を求められるのは負担なのである意味正しいのですが、VDIなど多数のデスクトップ環境からランダムに事象が起きている場合、このログ取得が大きな負担になってしまうことがあります。(ユーザーによってはこのために問題解決を諦めてしまうこともあります)
 
Resolve による事後分析をしてからログ取得の方針を立てるようにすることによるメリットは以下の通りです。

  • ヘルプデスクはユーザーの業務復旧に専念することが出来ます
  • 事後分析によっていくつかの可能性は排除した状態で調査方針やログ取得方針を立てることが出来ます
  • メトリックの異常など明確な発生時の症状がある場合にはログの取得自体自動化できる可能性があります。
    (SysTrackではメトリック毎にアクションを設定し、スクリプトなどを実行することが出来ます)
  • 発生時の症状を正確に定義することによって報告のないユーザーでも起こっているかが分かるため、影響範囲を特定することが出来ます
    (特定ホストにあるユーザーでだけ問題が発生しているのであれば仮想マシンのログよりもハイパーバイザー側の調査を優先させることが出来ます)

このようにログ収集は実データに裏付けされた精度の高い仮説を立ててから取得する方がずっと効率よく取得することが出来るのではないでしょうか。
これはエンドユーザー様の業務影響を減らすという意味でも重要な考え方ではないかと思います。

是非興味を持たれた方は一度SysTrack を評価してみてください。

参考情報

Product Brief
SysTrack Resolve 概要

関連ブログ記事
Using SysTrack to Resolve User Issues with SaaS

ホワイトペーパー
サービスデスクソリューション