Una vez, en una galaxia distante, distante, había una compañía que había crecido durante mucho tiempo desde una startup, pero que seguía siendo bastante compacta y eficiente. La compañía alojó (en su hardware) cientos de servidores de Windows, y esto tuvo que ser monitoreado de alguna manera. Incluso antes de llegar a él, se eligió NetIQ como la solución.
Me ordenaron configurar NetIQ, y el que hizo esto antes que yo no dijo una sola palabra al respecto. Impreso Pronto me di cuenta por qué. Steve Jobs probablemente esté girando en la tumba, mirando una interfaz similar:
En una línea, la lógica de los "pájaros" es positiva (evento de aumento). En otro negativo (no plantear evento). Cómo "Solo generar eventos cuando" funciona con un conjunto diferente de casillas de verificación, generalmente entendí solo experimentalmente (y ya lo olvidé).
Sin embargo, una característica mucho peor de NetIQ fue su fragilidad. Su agente, que estaba instalado en cada servidor, era significativamente más vulnerable que el propio Windows. ¿No tienes suficiente memoria? El agente salió volando. CPU 100%? El agente no responde. Quedan 0 bytes en el disco, ¿qué pensarías? Para enviar un mensaje, el agente primero debe crearlo en el disco, como un archivo ... Bueno, ya entiendes.
Sin embargo, de alguna manera vivieron con él hasta que la compañía fue comprada por la compañía aún más. Cuando un monstruo come una pequeña empresa, esa empresa se disuelve como una gota en el mar. En nuestro caso, nosotros mismos, según los estándares de TI, fuimos solo un poco menos que los que nos compraron, y fue inmediatamente obvio que el proceso de fusión sería muy difícil. Tan complicado que durante algún tiempo no nos tocó en absoluto y, internamente, todos los procesos permanecieron igual. Este estado fue similar al momento en que el Anillo de omnipotencia cayó sobre la lava, pero aún no ha comenzado a derretirse:

Mientras tanto, actualicé NetIQ de la versión 7 a la 8 y luego a la 9, cuando comenzaron nuestros problemas. NetIQ supervisó solo algunas cosas: la disponibilidad del servidor en sí, la memoria, la CPU, el disco y, lo más importante, los servicios. Si nuestros servicios escritos por usted estuvieran en Automático, entonces deberían haber funcionado. Esto no debería ser así:
Estos eventos en la mayoría de los casos y dejaron de monitorear NetIQ. Después de una semana de experimentos y una semana de trabajo con soporte, descubrimos que “esto no es un error, es una característica” y que se genera una alerta solo con un cierto código de salida. Y nuestros servicios a veces cayeron con cualquier código.
Pasó mucho tiempo y ya era demasiado tarde para retroceder. Como comprenderá, al descubrir que nuestra infraestructura crítica no está siendo monitoreada, inmediatamente ... uh ... no hicimos nada. Porque en este momento, la "disolución" de nuestra compañía en una parte más grande había entrado en la fase activa, y se parecía a esto:
Me llegaron truenos lejanos, gritos, relámpagos, y parecía que el destino del mundo estaba siendo decidido, y estaba escalando con algún tipo de problema técnico menor ... Pero no podía dormir tranquilo, sabiendo que nuestro monitoreo era medio ciego.
Al darme cuenta de que no había ningún lugar para esperar ayuda, decidí escribir rápidamente un escáner de servicio que omitiera todos los servidores y enviar un correo electrónico si algo no era como NetIQ. ¿Probablemente crees que usé Powershell? No Si tiene un martillo en sus manos, entonces todo es clavo, y si ha estado usando DBA y trabajando con SQL desde la versión 6.0, entonces ... Un breve extracto del código para que pueda entender de qué se trata:
Lo hice en unas pocas horas. Durante los días siguientes, se realizó una auditoría de mensajes, parámetros y otras ventajas. Después de leer sobre el comando WMIC, no pude parar. Luego un par de semanas en la niebla. Desperté cuando todo lo que usamos en NetIQ fue reescrito y funcionó con una explosión.
La funcionalidad no solo se copió: realicé todas mis fantasías, todo lo que me gustaría de ese sistema. LOWDISK: también obtiene un gráfico de cómo se comportó el espacio libre en el disco últimamente, si este crecimiento es normal o si algo salió mal. No hay suficiente memoria: esta es la programación y la lista de procesos y cuánto tardan, y para w3wp.exe terminaremos el nombre del grupo de aplicaciones, recordatorios inteligentes y mucho más. Por cierto, el sistema podría tomar la lista de servidores por su cuenta de VMware. Un vistazo rápido a los temas de alertas en el teléfono fue suficiente para comprender lo que estaba sucediendo:

Los programadores modernos están tan acostumbrados a pensar de manera abstracta que no pueden escribir un sistema de monitoreo que no sea "para el servidor, ejecutamos un conjunto de scripts de monitoreo abstractos, y no nos importa lo que hay dentro", mientras monitorea cada estado (disco, memoria, CPU, servicios) a su manera son únicos Al darse cuenta de esto "de manera abstracta", lo está haciendo igualmente mal para cada caso, y esto es lo que sucede: (Esta es una captura de pantalla del correo electrónico de SCOM. Seguramente se hace estrictamente de acuerdo con los TOR)
Una gran ventaja del nuevo sistema era que no tenía agente, respectivamente, no había problemas con la instalación del agente, sus bloqueos, simplemente no había nada que caer allí. El sistema era simple y confiable como un martillo.
Los siguientes meses vine a trabajar por la mañana, me paré frente a mi creación, como un artista frente a un lienzo, y apliqué un par de trazos, lo que lo hizo aún más ideal. Como no tenía plazos, la deuda técnica se redujo al mínimo. En algún momento, todavía me obligué a parar.
NetIQ todavía funcionó, pero a todos les gustó más el nuevo tipo de alertas, y gradualmente transferí a todos a alertas del nuevo sistema, sin embargo, sin apagar el anterior. Mientras tanto, el proceso de "fusión" ha entrado en su etapa final:
Bueno, se suponía que el cuento de hadas debía terminar. Yo mismo estaba sorprendido de poder divertirme tanto en una gran empresa burocrática. Después de un mes de preparación, me dijeron que en una semana extinguimos NetIQ y cambiamos a SCOM. Apagué NetIQ (lo admito, lo odié tanto que estaba muy contento) y comencé a esperar a SCOM. Pero a la hora señalada no estaba allí. No después de una semana, y después de un mes.
SCOM apareció solo seis meses después: alguien olvidó cuántos servidores tenemos y cuántas licencias necesitamos para SCOM. En seis meses, muchos sistemas comenzaron a depender de mi sistema, que comenzó a mantener inventarios, métricas y mucho más, que silenciosamente permaneció en segundo lugar, no oficial. Para los auditores, hay SCOM, y todo lo realmente útil está en el segundo sistema.
A veces los gerentes de diferentes niveles se preguntan: ¿de dónde provienen estos correos electrónicos automatizados? Recientemente, les describí en detalle la historia que expuse en este artículo, y se rieron alegremente. Aunque a veces todavía es muy divertido para mí, cómo en una gran empresa burocrática puedes "arrastrar en una muerde silenciosa" muchas cosas. Sí, y es bueno escribir el código, como en los viejos tiempos.