Monitoramento de perfis Citrix com Centreon e Grafana

Usaremos este documento para monitorar com o Centreon o tamanho e o número de arquivos que nossos perfis de roaming Citrix têm, Claro, podemos usá-lo para monitorar outras pastas.

En principio nos basaremos en un script de PowerShell que normalmente ejecutaremos desde el servidor que es el que almacena los perfiles. Este script leerá todo el contenido del directorio que indiquemos y nos sacará un resumen por cada usuario, su número de ficheros, y lo que ocupa su carpeta o perfil. Además el script está totalmente preparado y el output lo hará correctamente para tener métricas de cada usuario. Como de costume, esto lo ejecutaremos de manera remota con NRPE, así que si todavía no sabes cómo funciona o cómo instalártelo, echa un vistazo antes a Este post velho.

Si nos descargamos el siguiente script de PowerShell y modificamos la línea 15, que es la ruta de la carpeta a analizar lo tenemos listo para probar!

# Vacio variables, yo que se pq.. :)
$Objetos = ""
$Tamano = ""
$Profile = ""
$TotalObjects = ""
$SizeMB = ""
$lines = ""
$line = ""
$Todos = ""
$Files = ""
$Size = ""

# Exporta a CSV las carpetas con su tamaño y total de objetos
(Get-Culture).NumberFormat.NumberDecimalSeparator = '.'
Get-ChildItem -path "F:\PerfilesCitrixUPM*" | Foreach {
$Files = Get-ChildItem $_.FullName -Recurse| Where-Object { -not $_.PSIsContainer } -ErrorAction SilentlyContinue
$Size = (( $Files | Measure-Object -Property Length -Sum).Sum /1MB)
$Size = [math]::redondo($Size,2)

[PSCustomObject]@{Profile = $_.Name ; TotalObjects = "$($Files.Count)" ; SizeMB = $Size}
} | Export-CSV "perfiles-size.csv" -NoTypeInformation

# Formatea estilo Nagios
$lines = Get-Content .\perfiles-size.csv | Select -skip 1 | ConvertFrom-Csv -Header Profile,TotalObjects,SizeMB
ForEach ($line in $lines){
$Profile = $($line.Profile)
$TotalObjects = $($line.TotalObjects) -as [int] 
$SizeMB = $($line.SizeMB) -as [int]

$Todos =$Profile.replace(' ','') + "_tamano=" + $SizeMB + " " + $Profile.replace(' ','') + "_ficheros=" + $TotalObjects + " " + $Tudo

# Más de 1000 objetos
If ($TotalObjects -gt 1000){
   $Objetos = $Profile.replace(' ','') + ", " + $Objetos
}

# Más de 100Mb (100)
If ($SizeMB -gt 200){
   $Tamano =  $Profile.replace(' ','') + ", " + $Tamano
}
}

If ($Objetos.length -gt 0 -And $Tamano.length -gt 0){
   Write-Host "CRÍTICO - Muchos archivos en" $Objetos + "Perfil grande en" $Tamano"|"$Todos
   exit 2
}
ElseIf ($Objetos.length -gt 0){
   Write-Host "CRÍTICO - Muchos archivos en" $Objetos"|"$Todos
   exit 2
}
ElseIf ($Tamano.length -gt 0){
   Write-Host "CRÍTICO - Perfil grande en" $Tamano"|"$Todos
   exit 2
}
Else {
   Write-Host "OKEY - Perfiles correctamente |"$Todos
   exit 0
}

Y ahora damos de alta como ya conocemos, en el fichero nsclient.ini la configuración necesaria para ejecutar ese script desde la máquina de Centreon, lo único y a tener en cuenta, si tenéis muchos ficheros y tarda mucho en hacer la consulta, le podemos subir el timeout o el número de caracteres si fuese necesario, algo como esto nos serviría:

[/configurações/NRPE/servidor]
tempo limite = 120
payload length = 15000

[/configurações/scripts externos]
tempo limite = 120

[/configurações/scripts externos/scripts]
check_perfiles = cmd /c echo scripts\\Tamano_Perfiles_UPM.ps1; sair($código de saída de última hora) | powershell.exe -command -

Y si ese fuera nuestro caso, a la hora de crear el servicio en Centreon tras pasarle el argumento ‘check_perfilesque indicamos en el nsclient.ini, podemos acompañarlo de ‘ -P 15000 -t 120como argumentos extra, Isso é, si necesitamos ampliar el número de caracteres o el timeout a algo específico, en plan ‘ñapapor no tocar el Comando.

E é isso! Tras exportar la configuración ya tendremos controlado la jauría de perfiles Citrix UPM o si utilizamos otro tipo de perfil móvil, o si queremos monitorizar cualquier otra carpeta para ver su tamaño, o número de archivos.

E nada, Para lembrar, aunque esta gráfica sea super chunga, pero era por dar una idea, que podéis integrarlo con Grafana, que es muy sencillo, si quieres saber cómo montártelo, recuerda Este outro documento.

Espero que haya servido de utilidad, un saludo a tod@s!

Postagens recomendadas

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Não hesite em contactar-me, Vou tentar ajudá-lo sempre que puder, Compartilhar é viver ;) . Desfrute de documentos!!!