Chequeando el estado de las machines VDA de Citrix con Centreon
Todos los que trabajamos con entornos Citrix sap de la crítica de les màquines VDA, una manera muy sencilla de conèixer su salud, serà vigilándos con Centreon. Podrem conèixer l'estat de l'agent VDA de las machines, obteniendo por un costat les màquines VDA que tenen problemes de registre amb el Delivery Controller, y también interesante si tenemos alguna en modo mantenimiento.
Bé, lo haremos muy sencillamete, amb 2 scripts de PowerShell, uno para identificar las máquinas que están en modo mantenimiento y otro para las que no estén registradas. Estos scripts los dejaremos en el Delivery Controller y los ejecutaremos desde Centreon mediante NRPE. Si tienes dudas de te hace falta instalar para tener NRPE en el Delivery Controller o cómo configurarlo, échale un vistazo a este capítulo.
Os dejo los 2 scripts que utilizaremos, los ponemos como sabemos en ‘%ProgramFiles%\NSClient++\scripts\’:
vdas_mantenimiento.ps1
[sourcecode]Asnp Citrix.*
$m = Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.InMaintenanceMode -eq ‘True’} | fl DNSName | measure
if ($m.Count -gt 0) {
echo "Hay algun VDA en modo mantenimiento"
Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.InMaintenanceMode -eq ‘True’} | fl DNSName
exit 2
}
echo "Todas las VDAs trabajando"
exit 0[/sourcecode]
vdas_registrados.ps1
[sourcecode]Asnp Citrix.*
$m = Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.RegistrationState -eq ‘Unregistered’} | fl DNSName | measure
if ($m.Count -gt 0) {
echo "Hay algun VDA sin registrar"
Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.RegistrationState -eq ‘Unregistered’} | fl DNSName
exit 2
}
echo "Todas los VDAs estan registrados"
exit 0[/sourcecode]
Modificamos el fichero nsclient.ini y añadimos la parte que nos queda, que sería definir un alias para cuando le llamemos desde Centreon y el comando que ejecutará. Añadimos algo como:
[sourcecode][/settings/external scripts/scripts]
vdas_mantenimiento = cmd /c echo scripts\\vdas_mantenimiento.ps1; exit($lastexitcode) | powershell.exe -executionpolicy bypass -command –
vdas_registrados = cmd /c echo scripts\\vdas_registrados.ps1; exit($lastexitcode) | powershell.exe -executionpolicy bypass -command –
…
[/settings/external scripts/àlies]
vdas_mantenimiento = vdas_mantenimiento
vdas_registrados = vdas_registrados[/sourcecode]
Grabamos el fichero y reiniciamos el servicio de NSClient++,
Després d'això, damos de alta como de manera habitual el Servicio en la configuración de Centreon, normalmente contra el comando check_nrpe e introducimos en el Argumento el Alias que hemos definido en el fichero.ini. Com sempre, exportamos la configuración de Centreon y podremos observar que ya tenemos monitorizados dichos servicios, si se nos queda algún VDA en modo Mantenimiento lo sabremos, así como si un VDA no se ha registrado correctamente contra el sitio de Citrix.









































