Überprüfen des Zustands von Citrix VDA-Maschinen mit Centreon
Todos los que trabajamos con entornos Citrix sabemos de la criticidad de las máquinas VDA, una manera muy sencilla de conocer su salud, será monitorizándos con Centreon. Podremos conocer el estado del agente VDA de las máquinas, obteniendo por un lado las máquinas VDA que tienen problemas de registro con el Delivery Controller, y también interesante si tenemos alguna en modo mantenimiento.
Nicht schlecht, lo haremos muy sencillamete, mit 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
[Quellcode]Asnp Citrix.*
$m = Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.InMaintenanceMode -eq ‘True’} | fl DNSName | measure
wenn ($m.Count -gt 0) {
echo "Hay algun VDA en modo mantenimiento"
Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.InMaintenanceMode -eq ‘True’} | fl DNSName
Ausgang 2
}
echo "Todas las VDAs trabajando"
Ausgang 0[/Quellcode]
vdas_registrados.ps1
[Quellcode]Asnp Citrix.*
$m = Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.RegistrationState -eq ‘Unregistered’} | fl DNSName | measure
wenn ($m.Count -gt 0) {
echo "Hay algun VDA sin registrar"
Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.RegistrationState -eq ‘Unregistered’} | fl DNSName
Ausgang 2
}
echo "Todas los VDAs estan registrados"
Ausgang 0[/Quellcode]
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:
[Quellcode][/Einstellungen/Externe Skripte/Skripte]
vdas_mantenimiento = cmd /c echo scripts\\vdas_mantenimiento.ps1; Ausgang($LastExitCode) | powershell.exe -executionpolicy bypass -command –
vdas_registrados = cmd /c echo scripts\\vdas_registrados.ps1; Ausgang($LastExitCode) | powershell.exe -executionpolicy bypass -command –
…
[/Einstellungen/Externe Skripte/Alias]
vdas_mantenimiento = vdas_mantenimiento
vdas_registrados = vdas_registrados[/Quellcode]
Grabamos el fichero y reiniciamos el servicio de NSClient++,
Danach, 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. Wie gewöhnlich, 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.