Instrumentación de Administración Windows en monitorización
Dentro de las características de Pandora FMS se incluye la monitorización descentralizada, la cual descansa sobre varias normas y/o protocolos de uso común y abierto (SNMP v1 y v2 -v3 desde la versión 7.0 NG 727-, ICMP y WMI). En este artículo hablaremos sobre esto último, partiendo desde lo más sencillo y con referencias a cada uno de los artículos publicados aquí en vuestro blog, para cuando el tema o concepto sea más extenso.
Monitorización local y monitorización remota
La monitorización local se realiza por medio de programas propios del sistema operativo o de terceros, y guiones o programas almacenados en el firmware del dispositivo (enrutador, módem, etcétera) y que se ejecutan cada cierto tiempo. Los valores de respuesta serán guardados en su propio sistema de almacenamiento y de manera opcional podrán ser enviados -o consultados- a otros servidores encargados de recoger tales datos. Pandora FMS utiliza esta opción en el caso de los ordenadores con GNU/Linux y Microsoft Windows® -entre otros sistemas operativos- gracias al protocolo “Tentacle®”, incluso en entornos aislados.
La monitorización remota consiste en enviar mensajes desde un servidor, conteniendo consultas -e incluso nuestra identificación, contraseñas incluidas- acerca del estado de un dispositivo. El Protocolo Simple de Administración de Red (“Simple Network Management Protocol“, o SNMP por su abreviatura en idioma inglés) es la primera elección para estas tareas, pero como su nombre indica es algo muy básico.
GNU/Linux y SSH
El servidor central de Pandora FMS es ejecutado sobre GNU/Linux y una de las características de dicho sistema operativo es que podremos utilizar Secure SHell, mejor conocido como SSH, el cual es un protocolo que permite consultar de manera remota y segura a otros ordenadores con GNU/Linux. Dicha conexión contempla el envío de credenciales y garantiza una comunicación encriptada en ambas vías, por lo que al conectarnos podremos realizar todas las tareas de monitorización como si estuviéramos haciéndolo de manera local. Esto está muy bien para el mundo de la alta computación, ya que la gran mayoría, por no decir todos, de los servidores utilizan algún sucesor de Unix y su correspondiente POSIX. Pero, ¿cómo hacemos con el sistema operativo utilizado por la gran mayoría de los usuarios finales?
Instrumentación de Administración Windows
Con la irrupción del Internet en nuestras vidas la computación personal se afianzó y se descubrió la necesidad de administrar de forma remota los ordenadores. En 1992 nace el Grupo de Trabajo de Administración Distribuida (“Distributed Management Task Force“, DMTF por sus iniciales en idioma inglés), cuyos miembros fundadores son importantes empresas productoras de hardware y software de los Estados Unidos. Lograr un acuerdo entre tanta variedad de empresas es una tarea titánica, y las normas y protocolos dictados son sumamente profundos y no los describiremos aquí, pero haremos una excepción con dos de sus normativas: Gestión Empresarial Basada en Web (“Web-Based Enterprise Management“, 1996) y el Modelo de Información Común (“Common Information Model“, 1999); este último engloba todos los documentos emitidos por ese organismo. Una mención especial es la Interfaz de Gestión de Escritorio (“Desktop Management Interface” o DMI, 1998) que irrumpe de forma concreta en los ordenadores personales e incluye muchas funcionalidades, como por ejemplo atender una consulta SNMP devolviendo todos los valores MIB disponibles.
Para 1998, Microsoft Windows® lanza una de sus versiones más famosas y al finalizar el siglo XX evoluciona a Windows 2000®, un sistema operativo robusto que “absorbe” a Windows 98 SE® e incorpora las normativas de DMTF, como Instrumentación de Administración Windows (WMI). Aún hoy en día importantes fabricantes construyen equipos totalmente certificados con sus normas y son modelos muy importantes para el entorno empresarial de alta gama. El resto de los usuarios también nos vemos beneficiados de manera indirecta de la WMI, ya que los fabricantes también incluyen sus propios “controladores”; por ejemplo Windows 10® incluye 47 nuevos proveedores (“providers“), ¡tan solo para el servicio de manejo de dispositivos móviles!
La empresa Microsoft® también ha puesto a nuestra disposición una herramienta que funciona por línea de comandos, interfaz preferida por nosotros los Debianitas (y en general por todo Linuxero o Linuxera que se precie de ello), de manera tal de poder extraer cualquier dato disponible para la Instrumentación de Administración Windows.
La importancia que de manera subrepticia tiene toda esta teoría es que al ser hardware privativo y patentado se abre un camino de comunicación efectivo entre cada uno de los componentes y el sistema operativo Windows® (no confundir con los controladores de software, que permite su uso en diferentes sistemas operativos). Pero, ¿qué tiene todo esto que ver con Pandora FMS?
Ejemplo práctico con Instrumentación de Administración Windows
Hasta aquí os hemos dado la teoría de manera muy, pero muy básica, y en esta entrada publicada por una de nuestras colegas damos cuenta sobre cómo recoger la métrica de la temperatura del procesador con WMI. En general, podremos obtener cualquier otro valor.Veamos:
C:\Users\Jimmy>wmic
wmic:root\cli>path win32_processor get maxclockspeed
MaxClockSpeed
2194
wmic:root\cli>
Lo que hicimos fue abrir una ventana terminal e invocar el comando wmic.exec. Al tener el indicador de comando con la orden path establecemos dónde va a buscar la información, y con get preguntamos el valor específico, en este caso la velocidad del procesador con el que escribimos estas líneas. Para Pandora FMS, que cuenta con la habilidad de llevar un inventario de dispositivos, este es uno de los valores que podremos recoger y guardar en nuestra base de datos en el servidor central.
Si necesitamos montar un servidor web bajo Windows®, deberemos utilizar los Servicios de Información de Internet (“Internet Information Services“® o IIS) y en este aspecto, desde Windows Server 2008®, se incluyen más proveedores WMI útiles para su monitorización, sumados los servicios con Powershell® e incluso para obtener métricas sobre la virtualización.
Usos prácticos de la Instrumentación de Administración Windows
-
- De manera interna: si disponemos de un agente software de Pandora FMS instalado en un ordenador con Windows 2000® o superior, podremos tener acceso a infinidad de métricas, incluyendo la de componentes muy específicos que es imposible que el sistema operativo traiga por defecto instalado, ya que de lo contrario serían gigantescos los discos o descarga de instalación del sistema operativo. Si bien es cierto que los guiones de monitorización (módulos) para Pandora FMS son muy generales, también -siguiendo el mismo enfoque del sistema operativo- podremos tener nuestras propias rutinas para hardware conciso, en caso de necesitar su monitorización. Esto representa una gran ventaja y denota la flexibilidad de Pandora FMS.
- La herramienta wmic.exe cuenta también con la capacidad de agregar a otros equipos en la misma red de área local, por medio del comando “/node:nombre_de_equipo”, siempre teniendo en cuenta las credenciales y privilegios de acceso concedidos para el usuario que hace la consulta. Este concepto que indicamos opera de manera muy parecida a un agente intermediario (“broker agent“), pero utilizando WMI. Nota: debemos reseñar que necesitaremos primero establecer las credenciales debidas en todos los equipos con Windows® instalado y qué necesitamos monitorizar, y luego configurar Pandora FMS para que recoja cada métrica identificada con el equipo correspondiente. Esto que sugerimos es posible, pero no forma parte de la práctica normal de Pandora FMS (esa es la labor de nosotros, los que nos consideramos hackers: llevar más allá las posibilidades que presenta la tecnología).
- Para implementar y probar todas nuestras consultas WMI es recomendable utilizar la herramienta WBEMTest.exe. Aunque no es oficialmente un software de Microsoft®, en la práctica es muy utilizado para probar y depurar guiones en WMI.
- Para comunicar desde un equipo con GNU/Linux deberemos agregar un cliente especial para dicha tarea. En el software libre hay muchas alternativas, pero preferimos las escritas en lenguaje Python. Una de ellas es wmi_client_wrapper, el cual una vez instalado podremos pasar un programa como el siguiente:
import wmi_client_wrapper as wmi
wmic = wmi.WmiClientWrapper(
username=”Administrador”,
password=”contraseña”,
host=”192.168.1.149″,
)
output = wmic.query(“SELECT * FROM Win32_Processor”)
- De lo anterior también os debemos señalar que existe el Lenguaje de Consulta Estructurada para Instrumentación de Administración Windows, lo cual es muy largo de leer y se abrevia como SQL WMI o simplemente WQL. Esta funcionalidad permite a los programadores un ambiente familiar, tal como si estuviéramos trabajando con una base de datos. Esto denota la amplitud de la normativa, ya que con Python, disponible en muchas plataformas, permite conectar y SQL. De hecho, un lenguaje universal, con sus “dialectos”, posibilita conectar muchas empresas distintas. ¡Por supuesto que todo esto beneficia a Pandora FMS en sus tareas de monitorización!
- De manera remota tenemos otra posibilidad: por medio de SNMP y agregando la característica “Proveedor SNMP de WMI”, elemento que es aprovechado por otros software de monitorización que hemos reseñado. Ahora, Pandora FMS cuenta con soporte para SNMP v3, que incluye identificación y comunicación segura para obtener las métricas.
Registros en Instrumentación de Administración Windows
Por último queremos reseñar el manejo de registros en WMI, porque claro, podremos monitorizar el funcionamiento de WMI en sí mismo, así como también cualquier otro proveedor WMI que ya comentamos. No nos extenderemos mucho; los principales son:
- Wmiprov.log: contiene datos y eventos de WMI, incluyendo errores de compilación binarios si usamos el MOF.
- Ntevt.log: es el más importante y permite tener acceso a todo aquel que utilice el Proveedor de Registro de Eventos (Event Log Provider).
- Dsprovider.log: de capital importancia para el software escrito para este sistema operativo es el Directorio Activo (Active Directory); los registros podrán ser consultados por esta vía.
Sabemos que faltan muchísimas cosas más. Toda la información (en inglés) la hallaréis en este enlace web.
¿Necesitáis alguna orientación adicional sobre Pandora FMS? ¡Contacta con nosotros en este enlace!
Vuestros comentarios en este tema, o incluso solicitudes de artículos, ¡los podéis hacer aquí abajo!
Programador desde 1993 en KS7000.net.ve (desde 2014 soluciones en software libre para farmacias comerciales en Venezuela). Escribe regularmente para Pandora FMS y ofrece consejos en el foro. También colaborador entusiasta en Wikipedia y Wikidata. Machacador de hierros en gimnasios y cuando puede se ejercita en ciclismo también. Fanático de la ciencia ficción. Programmer since 1993 in KS7000.net.ve (since 2014 free software solutions for commercial pharmacies in Venezuela). He writes regularly for Pandora FMS and offers advice in the forum. Also an enthusiastic contributor to Wikipedia and Wikidata. Crusher of irons in gyms and when he can he exercises in cycling as well. Science fiction fan.