Tema anterior: Uso del ejemplo de atributos personalizadosTema siguiente: Ejemplos de scripts de traducción


Caso práctico 9: Varios estilos dinámicos

Piense en un escenario de ejemplo donde todos los dispositivos de infraestructura de hardware del entorno de un cliente tienen destinos individuales asignados para sus requisitos de disponibilidad. Mediante el enfoque de modelado estándar esto sería algo bastante difícil de conseguir e implicaría el tener que realizar mucha agrupación lógica para los dispositivos y una gestión mediante el modelo de recurso. Como complejidad añadida, los destinos para estos dispositivos pueden cambiar con el tiempo. Un script de traducción actualiza estos valores de destino de CA Business Service Insight a medida que los detalles se almacenan en un CMDB externo (consulte Ejemplos de prácticas recomendadas de scripts de traducción para ver un ejemplo de script de traducción).

En este caso la métrica podría ser la siguiente:

% de disponibilidad por dispositivo de hardware.

Una forma de modelar eficazmente esto es utilizar la función Atributos personalizados junto con una de las otras funciones clave, Destino dinámico. Las dos se pueden utilizar con una métrica en clúster para lograr los resultados deseados. Al agregar el destino del nivel de servicio directamente al recurso se permite que la lógica de negocios compare el nivel de servicio de cada recurso (dispositivo de hardware) con su propio destino. Una métrica en clúster proporciona el cumplimiento del servicio individual para cada pieza de hardware mediante una sola métrica.

Por lo tanto, es necesario crear primero el atributo personalizado agregándolo al tipo de recurso de estos dispositivos (donde todos los dispositivos son un recurso del tipo Dispositivo de infraestructura). El atributo personalizado creado se llama destino del dispositivo y se puede agregar del menú en Catálogo de servicios > Atributos personalizados. Tenga en cuenta que al crear el atributo personalizado, debe conectarlo con los tipos de recurso que lo necesitan.

Ahora, al ver los recursos en el sistema, puede ver que el nuevo atributo personalizado está disponible para el tipo de recurso con el que se vinculó.

Y los recursos individuales tienen un nuevo campo que se puede actualizar.

En este ejemplo, este campo se insertaría/actualizaría normalmente mediante el script de traducción.

Ahora que cada uno de los recursos tiene un destino especificado, puede desarrollar la lógica para realizar el cálculo obligatorio (después de confirmar los cambios del recurso). El siguiente código de muestra ilustra cómo extraer el valor del atributo personalizado del recurso (en negrita).

Opción explícita

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

Resultado de la función
   If TotalTime > 0 Then
      Result = (TotalTime - OutageTime) / TotalTime
   Else
      Result = Null
   End If
End Function