GESTIÓN INTEGRADA VÍA WBEM/CIM Oliver Aguirre Díaz, Adrián Huertes Baños y Rodrigo Mota Martín 21 de mayo de 2010 Resumen: Este documento tiene por objetivo ilustrar cómo configurar e interactuar con una aplicación de gestión con interfaz Web. Esto se va a lograr a través del uso de tecnologías estándar para la gestión de redes, como son respectivamente: la arquitectura de gestión empresarial basada en web, WBEM (Web Based Enterprise Management), y el Modelo Genérico de Información, CIM (Common Information Model), sobre el entorno visual para Windows WMI. Palabras clave: gestión integrada, WBEM, CIM, WMI, instancia, clase y qualifier. principales. En el primero, se tratará de gestionar desde una máquina, aspectos de sí misma de forma local. En el segundo, por el contrario, se pretenderá mostrar aspectos de gestión de una máquina remota. En ambos casos se tratará de solicitar información. Introducción En la actualidad toda entidad tiene sus datos informatizados. Surge por tanto, la necesidad de crear redes. En este contexto, uno se puede preguntar: ¿cómo se organiza esa red?, sus recursos, ¿cómo están organizados?, ¿cómo una persona se puede hacer cargo de una estructura heterogénea de máquinas y sistemas operativos?. El sistema operativo elegido para el desarrollo de ambos escenarios ha sido Windows XP, por ser el más extendido en la actualidad. Nace el concepto de gestión, entendida como: ”Planificación, organización, supervisión y control de los recursos que forman parte de un sistema en red, para garantizar un nivel de servicio de acuerdo a un coste.” [1]. Resuelto esto, queda aún por afrontar el problema de la heterogeneidad de los recursos. Así, aparece el concepto de gestión integrada. Se busca normalizar la comunicación entre distintos recursos y distintas interfaces de usuario. En este informe se pretende poner de manifiesto un ejemplo de gestión integrada de datos y operaciones. Para ello, se simularán dos escenarios Al igual que en otros ámbitos relacionados con las ciencias de la información y de la comunicación, se 1 hace imprescindible definir una serie de estándares, un conjunto de protocolos que marquen las pautas para ayudar a conseguir el objetivo de la gestión integrada. 2. CIM (Common Information Model) “La arquitectura CIM proporciona los bloques básicos para intercambiar información de gestión entre la plataforma de gestión.”[3] Con esta cita, queda de manifiesto que la arquitectura CIM se encarga de la descripción de los datos, entendida ésta como uno de los tres pilares básicos para lograr la gestión integrada. En este sentido, se puede destacar, el estándar WBEM (Web Base Enterprise Management), definido para gestionar sistemas. Su peculiaridad es que se apoya en el uso del protocolo HTTP (HyperText Transfer Protocol) para la visualización y el manejo de la información. Al mismo tiempo, éste estándar emplea el protocolo CIM (Common Information Model) para describir los datos a manejar. Además, se empleó la herramienta WMI (Windows Managemet Instrumentation) como interfaz de WBEM, para poder desarrollar los dos escenarios anteriormente descritos. La información de transporte en WBEM se codifica empleando el lenguaje XML (eXtensible Markup Language). Es necesario, por tanto, definir algunos conceptos clave de CIM: Esquema: crea un lenguaje para comunicarse con la estructura de las cosas. Es considerado como esencial cuando existe la necesidad de modelar las cosas que existen en el mundo real y otras que podemos entender cuando nos referimos a cosas reales. En definitiva, formaliza todo concepto en un lenguaje de un tipo determinado. Finalmente, y tras la realización de varias pruebas en los entornos planteados, se puede apreciar la aplicación práctica, la utilidad, y las posibilidades de desarrollo de estas tecnologías orientadas a la gestión. Namespace: dentro de cada esquema, el namespace es la unidad de propiedad de un conjunto de clases. En otras palabras, una manera de agrupar las clases de acuerdo a unas características comunes. 1. WBEM (Web Base Enterprise Management) WBEM [2], es por un lado una iniciativa y por otro una tecnología. Como iniciativa, WBEM incluye estándares para la gestión local y remota de sistemas, redes, usuarios, aplicaciones y bases de datos entre otros, utilizando las tecnologías de Internet. Como tecnología, WBEM proporciona una forma para que las aplicaciones de gestión compartan datos independientemente del protocolo, sistema operativo o estándar de gestión. Clase: es un mecanismo para clasificar las cosas reales. Define los objetos a manejar en un entorno determinado. Las características de una clase se dividen en dos grupos: propiedades y métodos. Las propiedades describen los datos y los métodos describen el comportamiento de las clases. En definitiva las clases representan la unidad básica de gestión. A modo de ejemplo: la clase módem representa todos los módems presentes en el sistema. El DMTF [4] ha desarrollado un conjunto de estándares que componen a WBEM, el cual incluye un modelo de datos, el estándar CIM. 2 Instancia: son los miembros de una clase, el conjunto de valores que quedan unívocamente identificados. Qualifier: Es el mecanismo que permite suministrar datos específicos de la implementación y permite al usuario conocer como los datos pueden ser utilizados. CIMOM: es una capa intermedia entre los medios de comunicación de software en las interacciones entre las aplicaciones de administración de nivel superior, y los niveles inferiores de instrumentación. Es el encargado de asegurar que los datos proporcionados por los proveedores hijo, sean presentados en las aplicaciones de administración de forma uniforme e independiente del proveedor. 4. Aplicación práctica de gestión integrada A continuación, se expondrán los distintos escenarios y pruebas realizadas para poner de manifiesto la utilidad de la gestión integrada. Como se comentó en el apartado introductorio, el sistema operativo con el que se trabaja es Windows XP y la aplicación gestora empleada WMI CIM STUDIO [5]. En primer lugar, es necesario instalar la herramienta software con la que se pretende trabajar. Ésta puede descargarse en [6]. 3. Windows Management Instrumentation (WMI) WMI es la implementación de Microsoft para la gestión basada en WBEM. WMI utiliza el “Modelo de Información Común” (CIM) para representar sistemas, aplicaciones, redes, dispositivos y otros componentes administrativos. La utilidad de WMI reside en la capacidad para obtener la gestión de datos de equipos remotos. Las conexiones remotas en WMI se hacen a través del protocolo DCOM. WMI proporciona una interfaz uniforme para todas las aplicaciones locales o remotas, o secuencias de comandos, que obtienen datos de gestión de un sistema informático, una red, o una empresa. Esta interfaz permite que cualquier script corra tanto local como remotamente sin necesidad de llamar a una gran cantidad de APIs para operar. La aplicación WMI no deja de ser una interfaz gráfica con la que interactuar con diferentes protocolos de gestión, es aquí donde se pone de manifiesto el concepto de gestión integrada. A pesar de que se interactuará con WMI, a nivel más bajo, los distintos componentes se comunicarán empleando el protocolo SNMP. El objetivo de cada una de las pruebas en los distintos escenarios es solicitar información de diferentes MIBs. Por este motivo, es imprescindible instalar un proveedor SNMP y configurarlo, para poder acceder a la información de la MIB RFC1213 que mantiene el router de la ETSIT. Éste, era uno de los escenarios planteados a En el siguiente diagrama se puede ver la relación entre la infraestructura y los proveedores WMI, así como con los agentes WMI. 3 priori, sin embargo, debido a que el administrador de la red de la ETSIT no permite conectar directamente máquinas no pertenecientes a la red de la escuela, no se pudo tener acceso al router de la misma. El acceso se tenía que realizar vía wifi a través de los routers de la UVA. La interfaz WMI permite acceder a los diferentes namespaces y acceder a las clases del protocolo SNMP. Se pretende modificar el qualifier "AgentAddress" para indicar la dirección del agente a gestionar, y así extraer la información de la instancia MIB RFC1213. En este qualifier, se incluye la dirección localhost, para pedir la información de la propia máquina. Por ejemplo: la tabla de encaminamiento o la caché ARP entre otros. Finalmente, los escenarios planteados son: 4.1 Gestión local Durante el desarrollo de esta prueba, cabe reseñar, que se comenzó utilizando una máquina con sistema operativo Windows Vista, pero en el momento de la modificación de los qualifiers, se comprobó que las directivas de seguridad no lo permitían. Se tuvo que recurrir a utilizar el ya mencionado Windows XP que sí permite realizar modificaciones en los qualifiers. En este apartado se pretende mostrar como gestionar desde una máquina sus propios recursos. Se solicitará información de MIBs. dentro de la propia máquina. En este escenario la máquina utilizada será a la vez gestor y agente. 4.1.2 Instalación y compilación de MIBs no incluidas por defecto Puesto que el agente SNMP de la máquina ya tiene instalado por defecto la MIB RFC 1213, se plantea si es posible o no instalar otras MIBS. La tarea de compilación e instalación de otra MIB no es demasiado ardua. Se pueden seguir los siguientes pasos: Es necesario, por tanto, instalar adecuadamente el agente SNMP de nuestra máquina. En primer lugar se descargó la MIB RFC1514. Concretamente un fichero con extensión “.mib”. Posteriormente se procede a utilizar la herramienta Smi2smir. Esta herramienta permite generar el fichero “.mof”. La extensión “.mof” permite almacenar la descripción orientada a objetos de clases e instancias. Tras compilar el fichero “.mof” con la herramienta mofcomp incluida en WMI CIM Studio, se crea una nueva instancia correspondiente a la MIB RFC1514. 4.1.1 Acceso a la información de la MIB RFC 1213 Se procederá a pedir información de la MIB RFC1213. El agente SNMP de la máquina ya está instalada por defecto. Es ahora cuando se pone de manifiesto la importancia de los conceptos de CIM descritos en el apartado 2 del presente documento. 4 nivel IP y se obtuvo la dirección deseada. 4.2 Gestión remota En este apartado se pretende mostrar como desde una máquina se pueden gestionar recursos de otra. A pesar de seguir la pauta ya descrita, cuando se pidieron las instancias no hubo respuesta alguna. Se solicitará información de MIBs. de un agente SNMP instalado en una máquina remota. Era necesario, por tanto, localizar cuál era el problema. Para ello, se instaló un gestor de agentes SNMP (SYSUP TIME) en la máquina desde dónde se pretendía pedir la información, para comprobar si había o no conectividad a nivel SNMP con la máquina remota. Así, vimos que efectivamente, el problema era a nivel SNMP. Operando con este gestor se descubrió que era necesario, no sólo especificar la dirección de destino, sino que también se debía especificar el nombre de comunidad al que pertenecía el agente a gestionar. Para no tener ningún inconveniente con la seguridad del sistema, a la comunidad creada se le otorgaron los permisos de lectura y escritura. Para crear la estructura que se ve en el gráfico superior, se creó una red local wifi entre las dos máquinas. 4.2.1 Acceso a la información de la MIB RFC 1213 de una máquina remota Solucionado el problema de conectividad a nivel SNMP, se repitió el procedimiento. En esta ocasión, además del qualifier "AgentAddress" con dirección de destino la de la máquina remota, se modificó también el qualifier “AgentReadCommunityName”. En esta ocasión, el resultado fue el esperado obteniendo la información pedida de la MIB RFC1213 de la máquina remota. Para pedir información de la MIB RFC1213 se procederá igual que en el caso de acceso local. En primer lugar, se modificó el qualifier "AgentAddress", aunque en este caso, en lugar de indicar como máquina destino localhost, se incluyó la dirección de la máquina remota. Se probó a hacer un ping* desde la consola de Windows con dirección de destino el nombre de usuario de la otra máquina. Tras recibir la respuesta se comprobó que realmente existía conectividad a 5. Conclusiones El estudio realizado pretende poner de manifiesto el concepto de la gestión integrada así como la utilidad y viabilidad de los recursos, protocolos y estándares ya existentes. * Ping es una utilidad que envía tráfico a una máquina destino elegida. Nos permite comprobar el estado de la conexión con un equipo remoto por medio de los paquetes de solicitud de eco y de respuesta de eco (definidos en el protocolo ICMP). Es útil para diagnosticar los errores en redes o routers IP. Uno de los principales problemas frente a los que se encuentra un administrador de redes, es la heterogeneidad de los recursos, protocolos y arquitecturas que 5 se pueden implementar. Tal y como se indicó en el apartado introductorio, la diversidad de sistemas operativos es más que patente, así como la diversidad de protocolos de gestión para poder comunicarse con los distintos agentes. SNMP, CMIP... son sólo algunos ejemplos. Windows, se hubiera podido llegar a pedir información del elemento a gestionar. También se podría haber intentado no sólo pedir información de otra máquina, sino intentar modificar algún parámetro. Como ya se ha puesto de manifiesto, todo pasa por conocer el qualifier que se pretende modificar y rellenar los campos de manera correcta, siendo esto algo no excesivamente complejo y laborioso. Parece inviable, por tanto, plantear que una sola persona sea capaz de retener y conocer todas las diferentes arquitecturas y protocolos. Si se extrapolara todo lo observado a una red mucho más grande y con más elementos a gestionar como routers, ordenadores, impresoras, sistemas de almacenamiento... se pondría de manifiesto las grandes ventajas del modelo de gestión basado en el estándar WBEM/CIM. Con las sencillas prácticas realizadas, se ve cómo no existe necesidad alguna de conocer cómo opera el protocolo SNMP. Todas las operaciones realizadas a más bajo nivel de la arquitectura WBEM eran completamente transparentes al nivel de aplicación con el que se estaba trabajando. Es más, no era necesario que las máquinas de la red tuvieran el mismo sistema operativo instalado. También mencionar la comodidad que proporciona la visualización de la información por medio del navegador web en la máquina en la que se realiza la gestión. La extensión y alcance que actualmente tiene el protocolo HTTP (HyperText Transfer Protocol) dota a este estándar de unas posibilidades de expansión y generalización impresionantes. Se podrían haber planteado otros escenarios o haber interaccionado con diferentes niveles de conexión entre la máquina en la que se pretende gestionar y los diferentes agentes a ser gestionados. Por ejemplo: en el apartado 4.2.1 del presente informe, proveedor y agente estaban en máquinas distintas, pero, ¿y si en vez de realizar la separación en ese punto, se hubiera realizado una gestión a más alto nivel con el CIMOM de la otra máquina?. Probablemente, tras superar algún que otro inconveniente con el DCOM* de 6. Agradecimientos Los autores de este informe quieren agradecer a los miembros del grupo WMI B: José Antonio Álvarez, Ana Matrán y Laura García, por haber colaborado activamente en el desarrollo de las pruebas así como permitir que se realizaran las mismas en su máquina, la única con sistema operativo Windows XP, permitiendo realizar las modificaciones pertinentes de los qualifiers. * DCOM Distributed Component Object Model o Modelo de Objetos de Componentes Distribuidos. Es una tecnología de Microsoft para desarrollar componentes software distribuidos sobre varios ordenadores y que se comunican entre sí. Proporciona el sustrato de comunicación entre la infraestructura del servidor de aplicaciones de Microsoft. Por otro lado agradecer también la ayuda prestada por el profesor de la asignatura D. Juan Ignacio Asensio, así como por facilitar el acceso a la 6 documentación necesaria para el desarrollo de los objetivos del presente informe. 7. Referencias [1] Juan Ignacio Asensio Pérez, “Gestión integrada de sistemas en red: conceptos, objetivos, ámbito”, diapositivas teóricas de la asignatura Complementos Telemáticos II, ETSIT-UVA. [2] Descripción del estándar WBEM en Web oficial del DMTF (Distributed Management Task Force) http://www.dmtf.org/standards/wbem/ [3] Wiston Bumtus, John W. Sweitzer, Patrick Thompson, Andrea R. Weterinen, Raymond C. Williams, “Common information model”. [4] Web oficial del DMTF (Distributed Management Task Force) http://www.dmtf.org/ [5] Descripción de WMI en la web oficial de Microsoft. http://msdn.microsoft.com/enus/library/ms811553.aspx [6] Web oficial de Microsoft. http://www.microsoft.com/downloads/deta ils.aspx?FamilyID=6430f853-1120-48db8cc5-f2abdc3ed314&DisplayLang=en [7] Descripción del estándar CIM en Web oficial del DMTF (Distributed Management Task Force) http://www.dmtf.org/standards/cim/ 7