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.
Em princípio, basear-nos-emos num script de PowerShell que normalmente executaremos a partir do servidor que é o que armazena os perfis. Este script lerá todo o conteúdo do diretório que indicarmos e fornecer-nos-á um resumo por cada utilizador, o seu número de ficheiros, e o espaço que a sua pasta ou perfil ocupa. Além disso, o script está totalmente preparado e a saída será gerada corretamente para ter métricas de cada utilizador. Como de costume, Isto será executado remotamente com NRPE, portanto, se ainda não sabes como funciona ou como o instalar, echa un vistazo antes a Este post velho.
Se descarregarmos o seguinte script de PowerShell e modificarmos a linha 15, que é o caminho da pasta a analisar, está pronto para testar!
# Variáveis vazias, eu sei porque.. :) $Objetos = "" $Tamanho = "" $Perfil = "" $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($Tamanho,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){ $Perfil = $($line.Profile) $TotalObjects = $($line.TotalObjects) -as [int] $SizeMB = $($line.SizeMB) -as [int] $Todos =$Profile.replace(' ','') + "_tamano=" + $SizeMB + " " + $Profile.replace(' ','') + "_ficheros=" + $TotalObjects + " " + $Tudo # Mais de 1000 objetos If ($TotalObjects -gt 1000){ $Objetos = $Profile.replace(' ','') + ", " + $Objetos } # Más de 100Mb (100) Se ($SizeMB -gt 200){ $Tamano = $Profile.replace(' ','') + ", " + $Tamano } } Se ($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_perfiles’ que indicamos en el nsclient.ini, podemos acompañarlo de ‘ -P 15000 -t 120’ como argumentos extra, Isso é, si necesitamos ampliar el número de caracteres o el timeout a algo específico, en plan ‘ñapa’ por 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!











































