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é, ho farem molt senzillament, amb 2 scripts de PowerShell, un per identificar les màquines que estan en mode manteniment i un altre per les que no estiguin registrades. Aquests scripts els deixarem al Delivery Controller i els executarem des de Centreon mitjançant NRPE. Si tens dubtes sobre què cal instal·lar per tenir NRPE al Delivery Controller o com configurar-lo, fes-hi un cop d'ull a aquest capítol.

Us deixo els 2 scripts que utilitzarem, los ponemos como sabemos en ‘%ProgramFiles%\NSClient++\scripts\’:

 

vdas_manteniment.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_registrats.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ó de Centreon y podremos observar que ya tenemos monitorats dichos services, si se nos queda alguna VDA en modo Mantenimiento lo sabremos, así como si un VDA no se ha registrat correctament contra el lloc de Citrix.

 

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!