Hola, tengo varios servidores de virtualización VMware ESX en clúster con vCenter. Estoy tratando de obtener el número de alarmas lanzadas y su descripción, lo que quiero es poder monitorizar este dato que es importante con Pandora FMS. Lo estoy intentando con PowerCLI pero no consigo sacar las alarmas lanzadas.
Publicado:
Lun Jun 15, 2015 9:51 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Alarmas lanzadas VMware vCenter y ESX
Anuncios
varios escribió:
Hola, tengo varios servidores de virtualización VMware ESX en clúster con vCenter. Estoy tratando de obtener el número de alarmas lanzadas y su descripción, lo que quiero es poder monitorizar este dato que es importante con Pandora FMS. Lo estoy intentando con PowerCLI pero no consigo sacar las alarmas lanzadas.
Puedes usar el siguiente código en tu fichero PowerCLI, al final generará el código XML para Pandora FMS:
Código:
# Alarmas en servidores ESX del vCenter
$descripcion = "Alarmas lanzadas ESX"
$numAlarmas = 0
$servidoresESX = Get-VMHost | Get-View # Obtenemos los servidores ESX del vCenter
foreach ($servidorESX in $servidoresESX) # Recorremos cada servidor ESX
{
foreach ($alarmaLanzada in $servidorESX.TriggeredAlarmState) # Recorremos cada alerta lanzada
{
$definicionAlarma = Get-View -Id $alarmaLanzada.Alarm # Obtenemos información de la alarma
$descripcionAlarma += " [Alerta] " + $definicionAlarma.Info.Name
$numAlarmas = $numAlarmas + 1
}
}
if ($numAlarmas -gt 0)
{
$descripcion = $descripcionAlarma
}
(cambiando lógicamente IP_VCenter por la IP del servidor donde tengamos instalado VMware vCenter, usuario y contraseña por un usuario y contraseña del vCenter con permisos suficientes)
Nos devolverá tanto el número de alarmas de cada tipo, para los host ESX y para los datastores, como la descripción de la alarma. Para que en Pandora FMS puedas lanzar una alerta, obtenemos el número de alarmas y en Pandora FMS configurarías que si es superior a 1 pasaría a estado crítico.
Publicado:
Lun Jun 15, 2015 9:58 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Alarmas lanzadas VMware vCenter y ESX
Anuncios
Muchas gracias, me funciona muy bien.
Solo tengo una duda, en el vCenter me aparece una alarma donde el "Object" no es ni un datastore ni un host ESX y no aparece en el script que me has pasado, el resto de alarmas sí ¿se pueden obtener TODAS las alarmas de cualquier tipo?
Publicado:
Lun Jun 15, 2015 10:05 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Alarmas lanzadas VMware vCenter y ESX
Anuncios
varios escribió:
Muchas gracias, me funciona muy bien.
Solo tengo una duda, en el vCenter me aparece una alarma donde el "Object" no es ni un datastore ni un host ESX y no aparece en el script que me has pasado, el resto de alarmas sí ¿se pueden obtener TODAS las alarmas de cualquier tipo?
Puedes utilizar el siguiente código, te devolverá todas las alarmas del vCenter, de cualquier tipo de objeto:
Código:
# Alarmas en el vCenter
$descripcion = "Alarmas lanzadas en vCenter"
$numAlarmas = 0
$carpetasVCenter = Get-Folder # Obtenemos los contenedores de objetos del vCenter
# Recorremos cada carpeta y cada alarma del vCenter
foreach ($alarmaLanzada in $carpetasVCenter.ExtensionData.TriggeredAlarmState)
{
$definicionAlarma = Get-View -Id $alarmaLanzada.Alarm # Obtenemos información de la alarma
$entidadObjeto = Get-View $alarmaLanzada.Entity
$entidadObjetoTipo = $entidadObjeto.GetType().Name
$descripcionAlarma += " [Alerta][" + $entidadObjetoTipo + "]" + $definicionAlarma.Info.Name
$numAlarmas = $numAlarmas + 1
}
if ($numAlarmas -gt 0)
{
$descripcion = $descripcionAlarma
}
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A