Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Pandora e Hyper-V
#1
Hola, he instalado una maquina virtual en Hyper-V a partir del CD de instalacion basado en SuSE, y la verdad el producto me ha dejado maravillado.

Actualmente estoy monitorizando varios servidores Hyper-V tanto 2.0 como 3.0.
Entre dos servidores Windows 2012 estoy monitorizando la replicacion de diferentes maquinas virtuales con el siguiente script:

' WMIEstatHyperVReplica.vbs
' Check health of Hyper-V virtual machines with replica enabled.

Option Explicit
On Error Resume Next

' Variables
Dim strComputer, objWMIService, objItem, colItems, argc, argv, i

' Parse command line parameters
'argc = Wscript.Arguments.Count
'Set argv = CreateObject("Scripting.Dictionary")
'For i = 0 To argc - 1
'    argv.Add Wscript.Arguments(i), i
'Next

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\virtualization\v2")
Set colItems = objWMIService.ExecQuery( "SELECT * FROM Msvm_ComputerSystem",,48)
For Each objItem in colItems
If objItem.ReplicationMode = 1 Then
Wscript.StdOut.WriteLine "<module>"
Wscript.StdOut.WriteLine "    <name><![CDATA[" & objItem.ElementName & "]]></name>"
Wscript.StdOut.WriteLine "    <description><![CDATA[HyperV machine " & objItem.ElementName & " replication health]]></description>"
Wscript.StdOut.WriteLine "    <data><![CDATA[" & objItem.ReplicationHealth & "]]></data>"
Wscript.StdOut.WriteLine "</module>"

        Wscript.StdOut.flush
End If
Next


Estableciendo los min/max del Warning/Critical segun el valor de objItem.ReplicationHealth podemos disparar las alertas cuando una maquina deja de replicarse.

El resto de las maquinas virtuales que no se estan replicando, las monitorizo para saber si estan encendidas o apagadas con el siguiente script:

' WMIEstatHyperVM.vbs
' Check if Hyper-V virtual machines is running.

Option Explicit
On Error Resume Next

' Variables
Dim strComputer, objWMIService, objItem, colItems, argc, argv, i

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\virtualization\v2")
Set colItems = objWMIService.ExecQuery( "SELECT * FROM Msvm_ComputerSystem",,48)
For Each objItem in colItems
If objItem.ReplicationMode = 0 Then
Wscript.StdOut.WriteLine "<module>"
Wscript.StdOut.WriteLine "    <name><![CDATA[" & objItem.ElementName & "]]></name>"
Wscript.StdOut.WriteLine "    <description><![CDATA[HyperV machine " & objItem.ElementName & " status]]></description>"
Wscript.StdOut.WriteLine "    <data><![CDATA[" & objItem.EnabledState & "]]></data>"

'Wscript.StdOut.WriteLine "    <type><![CDATA[generic_data_string]]></type>"
'If objItem.EnabledState = 2 Then
' Wscript.StdOut.WriteLine "    <data><![CDATA[Enabled]]></data>"
'Else If objItem.EnabledState = 3 Then
' Wscript.StdOut.WriteLine "    <data><![CDATA[Disabled]]></data>"
'Else
' Wscript.StdOut.WriteLine "    <data><![CDATA[Other]]></data>"
'End if

Wscript.StdOut.WriteLine "</module>"

        Wscript.StdOut.flush
End If
Next

El asunto es que no encuentro la forma de pasar como dato un texto, en vez de un valor, ya que en la documentacion no hay informacion al respecto, pues me gustaria saber de manera legible (como aparece en la parte del script comentada) el estado de cada maquina.

Alguna idea?
Gracias
 Reply
Messages In This Thread
Pandora e Hyper-V - by jfcarpi - 03-14-2013, 12:48 PM
Re: Pandora e Hyper-V - by darode - 03-14-2013, 01:01 PM
Re: Pandora e Hyper-V - by jfcarpi - 03-14-2013, 02:38 PM
Re: Pandora e Hyper-V - Solucionado - by jfcarpi - 03-15-2013, 12:10 PM


Users browsing this thread: 1 Guest(s)


(c) 2006-2018 Artica Soluciones Tecnológicas. Contents of this wiki are under Create Common Attribution v3 licence. | pandorafms.com | pandorafms.org

Theme © MyBB Themes