
Perdón por el muro de texto a continuación.
En mi lugar de trabajo tenemos bastantes servidores Exchange y controladores de dominio de soporte, todos actualmente monitoreados por SCOM. He configurado ciertos elementos de monitoreo además de lo que SCOM puede hacer en un sitio web ASP.net, respaldado por una base de datos SQL.
Estoy interesado en monitorear los servidores más de cerca para que podamos:
Baseline the servers better for historical comparison
If a problem occurs we can pull out more raw data.
Con este fin, quiero extraer más datos de los contadores de Perfmon. Sé que SCOM puede extraer algunos datos de Perfmon, y lo hace, pero nuestra implementación de SCOM es bastante grande y los chicos que la administran no quieren que aumente la frecuencia de los contadores para que sean lo suficientemente frecuentes como para resultar útiles en ocasiones.
Además, consultar datos en la base de datos SCOM significa que realmente no puedo cambiar los índices, controlar los tiempos límite para los datos que necesito o controlar realmente lo que podría necesitar.
Mi pregunta aquí es realmente una más sobre cómo debería abordar esto, no cómo extraigo los datos y los inserto, ya que ya tengo scripts que pueden extraer datos e insertarlos en SQL.
En términos generales, tenemos divisiones de servidores de la siguiente manera:
Exchange 2007 in Domain1.com
Exchange 2010 in Domain2.com
Los servidores se dividen lógicamente de la siguiente manera para Exchange 2007/2010:
Mailbox Servers
Client Access Servers
Hub Transport Servers
Domain Controllers
Me gustaría obtener contadores de los conceptos básicos de todos los servidores anteriores y luego profundizar más en tipos de servidores específicos, por ejemplo, extraer la latencia promedio de RPC de los servidores de buzones de correo, la cantidad de conexiones de los servidores CAS, los mensajes enviados por segundo para Servidores HT, etc.
Entonces, lo que quiero hacer es crear 4 tipos de scripts, uno para cada clase de servidor, y luego ejecutarlos desde cada servidor en un horario para registrar algunos datos, conectarme a mi base de datos SQL y luego insertar los registros en las tablas.
Para mis tablas SQL, ¿debería crear una por clase de servidor o simplemente colocar todos los registros en una sola tabla?
¿Es una idea terrible ejecutar un script local en cada servidor que arroje todos los datos en la tabla SQL? Consideré recopilar los datos de forma remota, pero si solo quiero capturar un poco de datos cada pocos minutos, encontré tiempos muy variables causados por la latencia de la red u otros factores que alteraron el tiempo.
También me encantaría conocer posibles soluciones de archivo, como cómo mantener registros más frecuentes de los últimos días (tal vez cada 5 minutos para todos los contadores durante 5 días), pero mantener registros menos frecuentes en el tiempo.
Respuesta1
Al final, simplemente ejecuté una recopilación remota, pero para un conjunto limitado de datos, y configuré el intervalo aproximadamente una vez cada 5 minutos, lo que parece correcto hasta ahora. Necesito pensar en la retención de datos, la eficiencia de las consultas, etc., pero mientras tanto respondí mi propia pregunta, nadie propuso nada.