Clases de la CMDB de ServiceNow
La CMDB de ServiceNow contiene clases de sistema [CI Class Manager], que almacenan datos sobre elementos de configuración (CI). Cada tipo de CI (clase CI) tiene diferentes atributos. Que representan alguna propiedad del dispositivo registrado.
Donde:
- Atributos de la clase CI
- Nombre de la clase CI corresponde a la propiedad TableName de la imagen anterior
Configuración
{
"classCMDB": [
{
"searchBy": [
""
],
"name": "",
"alias":"",
"fields": [
{
"unit":"",
"type": "",
"name": "",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": ""
}
]
}
],
"mapper": [
],
"dataReference": [
],
"classMapper": [
],
"classDevice": [
]
}
Para realizar la integración se registra en el JSON las siguientes propiedades:
Propiedades | Descripción |
---|---|
Fields | Lista de los atributos o propiedades de la clase registrada. ver Atributos de las clases CI |
Name | Nombre de la clase en ServiceNow. |
Alias | Dentro de la CMDB de ServiceNow, una clase CI puede servir para mapear diferentes CI, como es el caso de la clase “cmdb_ci_disk”, que sirve para mapear discos duros, memorias RAM, etc. El Alias es un seudónimo que se le da a la clase CI, para poder tener una relación 1:1 entre dispositivos de ADM y la CMDB de ServiceNow. |
SearchBy | Representa los campos por los que se puede buscar en la clase de ServiceNow |
Atributos de las clases CI (fields)
Los atributos de la clase CMDB son representados en la propiedad “fields” de “ClassCMDB”, estos representan la configuración mínima de los atributos necesarios para registrar datos en ServiceNow.
Las propiedades para configurar los atributos de la clase CI son:
{
"classCMDB": [
{
"fields": [
{
"unit":"",
"type": "",
"name": "",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": ""
}
]
}
]
}
Type
Representa el tipo de valor que acepta este campo en la CMDB, los tipos pueden ser:
- integer.
- decimal.
- boolean.
- date.
- array.
- string.
Name
Representa el nombre del campo en la CMDB de ServiceNow.
Unit:
Representa el tipo de unidad con la que se representa el atributo de la clase CI, sólo es válido para los tipo “integer” o “decimal”. El tipo de unidad puede ser:
- B,
- KB,
- MB,
- GB,
- TB,
- PB,
- YB
Como se puede ver en las propiedades RAM y Disk Space de la siguiente imagen:
MappingType
Los atributos de las clases de ServiceNow pueden contener valores que hagan referencia a otra entidad (clase) o su valor puede ser ingresado por el usuario. Los atributos que hacen relación a otras entidades son designados por ServiceNow como “reference” o su valor se puede obtener de un “select box” como se explica a continuación:
Atributos Sys_Choice y Reference: ServiceNow puede relacionar sus clases mediante dos tipos de atributos, de tipo “reference” y “sys_choice”. Los atributos de tipo reference se pueden encontrar como se muestra en la imagen en la columna type:
Mientras que el valor se pueda seleccionar de un “select box”, esta trabajando con atributos de tipo “sys_choice”, los valores contenidos se agregan a la clase “sys_choice” y se relacionan con la clase CI
Para la integración entre Aranda DEVICE MANAGEMENT ADM y ServiceNow se asigna el campo “mappingType” que tiene en consideración las diferentes formas como se obtendrá el valor del atributo. Este campo puede ocupar los siguientes valores:
Valores | Descripción |
---|---|
Mapper | El valor del atributo se obtiene directamente del dispositivo, se forma una relación 1:1 entre el nombre del atributo y el nombre de la propiedad del dispositivo. |
Data | El valor del atributo lo ingresa el usuario como un valor estándar para todos los dispositivos que se integren con ServiceNow, el valor se registrara en la propiedad DataReference ver Datos Referencia. |
SysChoice | Este valor sólo es válido para atributos con un “select box”; en caso de no existir en la CMDB de ServiceNow lo registra. |
Reference | Este valor sólo es válido para atributos de tipo “Reference”; en caso de no existir en la CMDB de ServiceNow lo registra |
None | Funciona igual que un SysChoice o un Reference, con la diferencia que si no existe el valor no será añadido a la CMDB de ServiceNow. |
MappingName: Representa el nombre hacia la referencia de ‘mapper’ o ‘dataReference’.
IsRequired: Representa si este atributo es requerido en la CMDB de ServiceNow, si el atributo es requerido y no se encuentra el atributo ya sea mapeándolo del dispositivo o asignándolo por el usuario en ‘dataReference’ no se creará y el valor será ‘null’
ClassReference: Representa el nombre de la clase a la que se referencia cuando el ‘MappingType’ es ‘Reference’.
Relación jerárquica entre clases ServiceNow
La relación entre clases de ServiceNow de forma jerárquica o relacion de componentes, como lo muestra la siguiente imagen:
Se realiza mediante una propiedad que referencie al padre o al componente que lo contiene, en el caso de los módulos de la memoria se relacionan mediante la propiedad “cmdb_ci” que referencia a la clase “cmdb_ci”:
En el archivo de configuración, debe escribir en la propiedad “classReference” la clase padre con la que se relaciona el componente. Para el ejemplo del módulo de memoria, ésta se relaciona con la clase “cmdb_ci_computer” que hereda de la clase “cmdb_ci” evitando escribir la definición completa de la clase “cmdb_ci”.
Para el ejemplo del campo “cmdb_ci” el campo quedaría de la siguiente forma:
{
"classCMDB": [
{
"fields": [
{
"type": "string",
"name": "cmdb_ci",
"mappingType": "Reference",
"mappingName": "Reference-Memory",
"isRequired": true,
"classReference": "cmdb_ci_computer"
}
]
}
]
}
Ver Configuración ServiceNow ↪