CentreonとGrafanaによるCitrixプロファイルの監視

Este documento lo utilizaremos para monitorizar con Centreon el tamaño y número de ficheros que tienen nuestros perfiles móviles de Citrix, claro está que podemos utilizarlo para monitorizar otras carpetas.

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. いつも通り, 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 この投稿 おじいさん.

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]::丸い($大きさ,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) -として [整数] 
$SizeMB = $($line.SizeMB) -として [整数]

$Todos =$Profile.replace(' ','') + "_tamano=" + $SizeMB + " " + $Profile.replace(' ','') + "_ficheros=" + $TotalObjects + " " + $すべての

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

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

もし ($Objetos.length -gt 0 -And $Tamano.length -gt 0){
   Write-Host "危うい - Muchos archivos en" $Objetos + "Perfil grande en" $Tamano"|"$Todos
   exit 2
}
ElseIf ($Objetos.length -gt 0){
   Write-Host "危うい - Muchos archivos en" $Objetos"|"$Todos
   exit 2
}
ElseIf ($Tamano.length -gt 0){
   Write-Host "危うい - Perfil grande en" $Tamano"|"$Todos
   exit 2
}
然も無くば {
   Write-Host "わかりました - 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:

[/設定/NRPE/サーバー]
タイムアウト = 120
payload length = 15000

[/設定/外部スクリプト]
タイムアウト = 120

[/設定/外部スクリプト/スクリプト]
check_perfiles = cmd /c echo scripts\\Tamano_Perfiles_UPM.ps1; 出口($ラストイグジットコード) | powershell.exe -コマンド -

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, これは, si necesitamos ampliar el número de caracteres o el timeout a algo específico, en plan ‘ñapapor no tocar el Comando.

以上です! 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.

そして何もない, 覚えておくために, 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, 思い出す この他の文書.

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

おすすめの投稿

著者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 私に連絡することを躊躇しないでください, できる限りお手伝いします, シェアリングは生きていること ;) . ドキュメントを楽しむ!!!