Controllo dello stato delle macchine Citrix VDA con Centreon
Tutti noi che lavoriamo con ambienti Citrix conosciamo la criticità delle macchine VDA, un modo molto semplice per conoscere il loro stato di salute, sarà monitorandole con Centreon. Potremo conoscere lo stato dell'agente VDA delle macchine, ottenendo da un lato le macchine VDA che hanno problemi di registrazione con il Delivery Controller, e anche interessante se ne abbiamo qualcuna in modalità manutenzione.
Non male, lo faremo molto semplicemente, con 2 script di PowerShell, uno per identificare le macchine che sono in modalità manutenzione e un altro per quelle che non sono registrate. Questi script li lasceremo nel Delivery Controller e li eseguiremo da Centreon tramite NRPE. Se hai dubbi su cosa è necessario installare per avere NRPE nel Delivery Controller o su come 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
[Codice sorgente]Asnp Citrix.*
$m = Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.InMaintenanceMode -eq ‘True’} | fl DNSName | measure
se ($m.Count -gt 0) {
echo "Hay algun VDA en modo mantenimiento"
Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.InMaintenanceMode -eq ‘True’} | fl DNSName
uscita 2
}
echo "Todas las VDAs trabajando"
uscita 0[/Codice sorgente]
vdas_registrados.ps1
[Codice sorgente]Asnp Citrix.*
$m = Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.RegistrationState -eq ‘Unregistered’} | fl DNSName | measure
se ($m.Count -gt 0) {
echo "Hay algun VDA sin registrar"
Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.RegistrationState -eq ‘Unregistered’} | fl DNSName
uscita 2
}
echo "Todas los VDAs estan registrados"
uscita 0[/Codice sorgente]
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:
[Codice sorgente][/Impostazioni/Script esterni/Script]
vdas_mantenimiento = cmd /c echo scripts\\vdas_mantenimiento.ps1; uscita($lastexitcode) | powershell.exe -executionpolicy bypass -command –
vdas_registrados = cmd /c echo scripts\\vdas_registrados.ps1; uscita($lastexitcode) | powershell.exe -executionpolicy bypass -command –
…
[/Impostazioni/Script esterni/Alias]
vdas_mantenimiento = vdas_mantenimiento
vdas_registrados = vdas_registrados[/Codice sorgente]
Salviamo il file e riavviamo il servizio di NSClient++,
Dopo di che, Registriamo il servizio come di consueto nella configurazione di Centreon, Normalmente contro il comando check_nrpe e inseriamo nell'Argomento l'Alias che abbiamo definito nel file .ini. Come al solito, Esportiamo la configurazione di Centreon e potremo osservare che abbiamo già monitorato questi servizi, Se rimane qualche VDA in modalità Manutenzione lo sapremo, Così come se un VDA non si è registrato correttamente sul sito di Citrix.









































