前のトピック: カスタム属性の使用例

次のトピック: 変換スクリプトの例

ケース スタディ 9: 動的な複数ターゲット

顧客環境のハードウェア インフラストラクチャ デバイスすべてについて、可用性要件に対して個別のターゲットが設定されているシナリオ例を考えます。 標準モデリング方法を使用すると、これは非常に達成困難なタスクで、リソース モデルを使用するデバイスおよび管理に対し、多数の論理グループ化を伴います。 複雑さを追加するためには、これらのデバイスのターゲットは時間と共に変化できます。 これらの目標値は、詳細が外部 CMDB に格納されているので、変換スクリプトによって CA Business Service Insight 内で更新されます(変換スクリプトの例については、「変換スクリプトのベスト プラクティス」を参照してください)。

このインスタンスでは、メトリックは以下のものが考えられます。

ハードウェア デバイス当たりの可用性の割合(%)。

これを効果的にモデル化する 1 つの方法は、他の重要な機能の 1 つである '動的ターゲット' と共に 'カスタム属性' を使用することです。 これらは両方ともクラスタ化メトリックと共に使用し、目標とする結果を実現できます。 サービス レベル目標値をリソースに直接、追加することにより、ビジネス ロジックでリソースごとのサービス レベル(ハードウェア デバイス)を比較できます。 クラスタ化メトリックは、単一のメトリックを使用して、ハードウェアの各部分に対する個別のサービス対応規格を提供します。

そのため、カスタム属性をこれらのデバイスのリソース タイプに追加することにより、最初にカスタム属性を作成する必要があります(ここで、すべてのデバイスは ''Infrastructure Device' タイプのリソースです)。 作成されたカスタム属性は、'DeviceTarget' と呼ばれ、メニューの[サービス カタログ]-[カスタム属性]から追加できます。 カスタム属性を作成するとき、その属性を必要としているリソース タイプにリンクする必要があります。

システムでリソースを表示するとき、新規カスタム属性がリンク先のリソース タイプで利用可能なのを見ることができます。

また、個々のリソースには更新可能な新しいフィールドがあります。

この例では、このフィールドは通常、変換スクリプトによって挿入/更新されます。

それぞれのリソースには、それに対して指定されたターゲットがあるので、必要な計算を実行するためのロジックを開発できます。 以下のサンプル コードは、リソース(太字)からカスタム属性を抽出する方法を示しています。

Option Explicit

Dim TotalTime
Dim OutageTime
Dim PeriodStart

Sub OnRegistration(dispatcher)
   dispatcher.RegisterByResource "OnDeviceOutageEvent", "DeviceOutageEvent", _
      Context.ClusterItem
End Sub

Sub OnLoad(TIME)
   TotalTime = 0
   OutageTime = 0
End Sub

Sub OnPeriodStart(TIME)
   TotalTime = 0
   OutageTime = 0
   PeriodStart = TIME
End Sub

Sub OnPeriodEnd(TIME, isComplete)
   TotalTime = Tools.NetTime(PeriodStart, TIME)
End Sub

Sub OnDeviceOutageEvent(eventDetails)
   OutageTime = OutageTime + Tools.NetTime (eventDetails ("OutageStartTime"), _
      eventDetails ("OutageEndTime"))
End Sub

Function Target
   Target = eventDetails.CustomAttribute ("DeviceTarget")
End Function

Function Result
   If TotalTime > 0 Then
      Result = (TotalTime - OutageTime) / TotalTime
   Else
      Result = Null
   End If
End Function