Cosas de CMDB: Integrando nuestra CMDB con System Center
Introducción:
Ojala todas las CMDB fueran la de System Center Service Manager (SCSM) todo seria muy sencillo como vimos en este post: https://blogs.technet.com/b/dmatey/archive/2010/12/10/la-cmdb-en-system-center.aspx
Sin embargo SCSM lleva poco tiempo aun en el mercado y es por tanto mas que común que nos encontremos con CMDBs materializadas en productos de BMC, HP y otros.
A medida que la madurez en el gobierno de IT crece, la CMDB se convierte cada vez en un elemento mas importante y es entonces donde se empiezan a requerir cada vez mas integraciones con la CMDB.
System Center esta pensado para ser un elemento estratégico para las empresas en la eficiencia y ahorro de costes en gestión de los sistemas así que como no, también os facilita este tipo de integraciones.
Que vamos a ver en este articulo:
Os voy a enseñar dos ejemplos que atienden a dos necesidades muy comunes:
1- Agrupar servidores o componentes de servicio en SCOM en base a atributos de dichos servidores en la CMDB
2-Alimentar atributos de las VMs en SCVMM en base a sus atributos en la CMDB
No quiero hacerlo usando SCSM que seria lo mas fácil así que como no tengo una CMDB de CA, BMC o HP a mano voy a hacerlo con una simple base de datos.
Ejemplo 1: Agrupando objetos en SCOM en base a sus atributos en la CMDB
En la CMDB cada servidor esta relacionado con el servicio que presta, seria fantástico poder usar esta información en SCOM para realizar diagramas de forma automática o aplicar configuraciones de monitorización en base a este atributo.
Para conseguir nuestro objetivo de la forma mas sencilla y potente vamos a usar Opalis (cuya próxima versión será System Center Orchestator), ya hemos hablado mucho de Opalis en este blog para los que no lo conozcáis aquí tenéis una introducción
Opalis que esta incluido sin cargo adicional en la suite de System Center incluye conectores, llamados integration packs o IPs para las CMDB mas importantes así como IPs genéricos que harán el trabajo si no existe un integration pack para vuestra CMDB o estáis usando simplemente una BD genérica como CMDB.
Como decía no tenemos una CMDB a mano que no sea la de SCSM así que voy a usar una CMDB falsa en una BD.
Desde Opalis podría conectarme sin problemas a otras CMDB, por ejemplo aquí tenéis algunas de las acciones que podemos usar para integrarnos con la CMDB de BMC:
Como siempre hay muchas formas de hacerlo, cuando lo hacemos en producción la forma mas elegante es crear un management pack y extender el objeto de SCOM con las propiedades del servicio y el owner por ejemplo.
Para este articulo lo voy a hacer mas sencillo.
1-Crear un management pack en SCOM:
2- Crear los atributos
Le damos al atributo el nombre que queramos
Lo vamos a guardar en nuestro management pack, como target seleccionaremos Windows Computer, como esta clase esta dentro de un management pack sellado no podemos utilizarla tal cual, al seleccionarla en el asistente este creara automáticamente una copia de esta clase en nuestro management pack y extenderá sus atributos con el nuevo atributo que estamos creando.
Ahora tenemos que indicar que es lo que queremos mirar en el registro, en nuestro caso nos vamos a crear un valor propio que será una cadena donde diremos el servicio según lo que indique la CMDB, así que esa será el valor que miraremos en el registro.
60 segundos es demasiada frecuencia pero para una demo es lo mas adecuado, en producción una vez al día será mas que suficiente para la mayoría de los casos.
Hacemos lo mismo creando un atributo para el owner del servidor.
Desde la consola de SCOM en discovered inventory ya podemos ver que todos los servidores tienen los nuevos atributos, obviamente vacíos.
Ahora es el momento de ponernos con Opalis.
Creamos una nueva política.
El primer objeto de nuestro workflow va a ser un Monitor Date/Time que nos permita correr automáticamente el workflow una vez al día como queremos.
El segundo será la query a la BD
A partir de ahí lo que haremos será:
- En cada maquina que exista en la CMDB:
- Mirar si existe la clave en el registro
- Si no existe crearla
- Guardar el valor del servicio
- Indicar en el eventlog del servidor de Opalis si ha habido algún error o se ha terminado con éxito
El workflow terminara como veis:
Con este workflow cada servidor en la CMDB tendrá alimentado en el registro quien es su dueño y a que servicio pertenece.
Ahora solo necesitamos crearnos los grupos en el SCOM, podríamos hacerlo también desde Opalis cada vez que se encuentre un servicio en la CMDB que no esta en SCOM pero lo voy a hacer a mano para este ejemplo.
Vamos a crear una pequeña jerarquía de grupos como ya visteis en este articulo sobre crear modelos de salud:
Vamos a usar miembros dinámicos por supuesto, si no nos valdría para nada.
Como veis en cuanto seleccionamos nuestra clase ya nos salen los atributos.
Ahora simplemente vamos a crearnos un grupo que contenga como hijos todos los grupos que vienen de la CMDB
Listo, si Opalis ha hecho su trabajo ya podréis ver el diagrama del grupo
Fijaros como en el diagrama la salud no sube por la jerarquía, para conseguirlo tendréis que crear los monitores adecuados como explico aquí: articulo sobre crear modelos de salud:
Es estupendo por que ya podemos usar estos grupos para overrides, permisos, como objetivos de reglas, etc., seguro que os da mucho juego.
También podemos crearnos nuestras vistas:
Ejemplo 2: Incorporar a SCVMM información de la CMDB
Otra necesidad muy común es reflejar información en las VMs que esta registrada en la CMDB, voy a usar como ejemplo el centro de coste.
El workflow de Opalis queda así:
En esencia es un workflow muy parecido al que ya explique aquí: https://blogs.technet.com/b/dmatey/archive/2010/12/06/extendiendo-ssp-2-0-en-la-nube-privada-ii-integrando-ssp-y-scvmm-con-opalis.aspx
Ahora ya podras ver tus VMs agrupadas por servicio, ejecutar acciones en todas las VM de un servicio, o sacar informes sobre el uso de los recursos por servicio:
Conclusiones:
Se me ocurren muchas otras formas de conseguir este mismo objetivo con System Center, os he mostrado una y espero que con ello hayáis visto lo flexible y potente que es System Center y como incorporar la información de la CMDB a nuestras herramientas de gestión puede facilitarnos mucho las cosas en el día a día.
Un saludo a todos!