Monitorizar los Servicios, y 4

Monitorizar el rendimiento del servicio


Hemos monitorizado los servicios en cuanto a su disponibilidad y su fiabilidad, pero nos falta algo, ¿podemos llevar a cabo alguna monitorización que nos ayude a impedir los fallos?.


Una estrategia de monitorización que nos ayude a hacer lo siguiente:



  • Determinar porqué se ha detenido el servicio. ¿Se queda sin memoria?, ¿Demasiados usuarios accediendo? ¿Algún cuello de botella en los discos o la red?
  • Predecir los fallos con antelación. Con ciertos servicios puede que seamos capaces de predecir su fallo si el servicio excede de un umbral específico. Aquí podemos servirnos de un script que monitorice las operaciones por segundo que realiza el servicio. Cuando el valor se aproxime al umbral específico, el script puede o limitar el número de conexiones simultáneas o encaminar a los usuarios hacia otros servicios iguales en otros equipos.

¿Cómo podríamos monitorizar el rendimiento?



  • Monitorizar el proceso del servicio. Cada servicio tiene un proceso responsable del mismo. Si lo monitorizamos podemos asegurarnos que utiliza la memoria y otros recursos adecuadamente. Sin embargo no podemos saber si el servicio está llevando a cabo su función eficientemente. El servicio podría tener un montón de memoria disponible, simplemente porque ya no responde solicitudes de los usuarios.
  • Llevar a cabo un test estándar. Para algunos servicios, podemos realizar un test y entonces medir el tiempo de respuesta del servicio. Comparando el tiempo de respuesta con el tiempo que tenemos como base podemos hacernos una idea sobre si el servicio está dentro del los límites esperados.
  • Monitorizar el rendimiento mediante el uso de contadores. Los contadores representan la mejor forma de monitorizar el rendimiento actual de un servicio.

Los contadores de rendimiento están incluidos para muchos servicios en Windows Server 2003 y Windows XP Professional, como DHCP, DNS, WINS y IIS. Sin embargo, muchos de los servicios, especialmente los que no vienen con el propio sistema operativo, no incluyen contadores de rendimiento. Esto significa que no seremos capaces de usar contadores de rendimientos para monitorización de todos los servicios en nuestra red.


Para realizar la monitorización podemos utilizar scripts de Shell (TypePerf.exe y Logman.exe) o de WMI (Win32_PerfFormattedData), pero aún así, los contadores pueden usarse desde el monitor de rendimiento, tanto en tiempo real como ir guardando los datos en un archivo.


Un Script para el servicio Web:



   1:  
   2: StrComputer = «.»
   3: Set objWMIService = GetObject(«winmgmts:» & «{impersonationLevel=Impersonate}!\» & strComputer & «rootcimv2»)
   4: Set objRefresher = CreateObject(«wbemscripting.SWbemRefresher»)
   5: Set ColW3SVC = objRefresher.AddEnum (objWMIService, «win32_PerfFormattedData_W3SVC_WebService»).ObjectSet
   6: objRefresher.Refresh
   7: For i = 1 to 60
   8:   For each objW3SVC in ColW3SVC
   9:     Wscript.Echo «Conexiones  en  este momento: « & objW3SVC.CurrentConnections & _
  10:     VbCrLf & «Usuarios anónimos    por segundo: « & objW3SVC.AnonymousUsersPerSec & _
  11:     VbCrLf & «Intentos de conexión por segundo: « & objW3SVC.ConnectionAttemptsPerSec & _
  12:     VbCrLf & «Usuarios anónimos     conectados: « & objW3SVC.CurrentAnonymousUsers & _
  13:     VbCrLf & «Archivos servidos    por segundo: « & objW3SVC.FilesPerSec & _
  14:     VbCrLf & «Conexiones  máximas simultáneas : « & objW3SVC.MaximumConnections
  15:   Next
  16: wscript.Sleep 1000
  17: objRefresher.Refresh
  18: Next

 


Como hago lo mismo con el monitor de rendimiento:



  1. Abro el complemento Rendimiento.
    monitorizaciónrendimiento01 
  2. Quito los contadores por defecto.
    monitorizaciónrendimiento02 monitorizaciónrendimiento03
  3. Añado los que quiero y del servicio que quiero, en este caso Web Service.
    monitorizaciónrendimiento04 monitorizaciónrendimiento05
  4. El monitor muestra información. En concreto, una línea indica el máximo de conexiones permitidas (le he indicado al servicio web sólo 2) y los usuarios anónimos conectados, he conectado desde otro equipo dos ventanas de IE al mismo servicio(2) y es lo que indica.
    monitorizaciónrendimiento06

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *