Überwachung von Citrix-Profilen mit Centreon und Grafana

Wir werden dieses Dokument verwenden, um mit Centreon die Größe und Anzahl der Dateien zu überwachen, über die unsere Citrix Roaming-Profile verfügen, Natürlich können wir damit andere Ordner überwachen.

Im Prinzip basieren wir auf einem PowerShell-Skript, das wir normalerweise von dem Server ausführen werden, der die Profile speichert. Dieses Skript liest den gesamten Inhalt des von uns angegebenen Verzeichnisses und extrahiert eine Zusammenfassung für jeden Benutzer, die Anzahl der Dateien, und was Ihr Ordner oder Profil belegt. Darüber hinaus ist das Skript vollständig vorbereitet und die Ausgabe wird korrekt ausgeführt, um Metriken für jeden Benutzer zu haben. wie immer, Wir werden dies aus der Ferne mit NRPE ausführen, also wenn du immer noch nicht weißt wie es funktioniert oder wie du es installierst, schau mal vorher dieser alte Beitrag.

Wenn wir das folgende PowerShell-Skript herunterladen und die Zeile ändern 15, was ist der Pfad des zu analysierenden Ordners, wir haben ihn zum Testen bereit!

# Variables Vakuum, Ich weiß warum.. :)
$Objekte = ""
$Größe = ""
$Profil = ""
$TotalObjects = ""
$GrößeMB = ""
$Linien = ""
$Linie = ""
$Alle = ""
$Dateien = ""
$Größe = ""

# Exportieren Sie Ordner mit ihrer Größe und Gesamtanzahl der Objekte in CSV
(Get-Kultur).NumberFormat.NumberDecimalSeparator = '.'
Get-ChildItem -Pfad "F:\Profile CitrixUPM *" | Für jedes {
$Dateien = Get-ChildItem $_.FullName -Recurse| Wo-Objekt { -nicht $_.PSIsContainer } -ErrorAction SilentlyContinue
$Größe = (( $Dateien | Measure-Object -Eigenschaftslänge -Summe).Summe /1MB)
$Größe = [Mathematik]::runden($Größe,2)

[PSCustomObject]@{Profil = $_.Name ; TotalObjects = "$($Dateien.Anzahl)" ; GrößeMB = $Größe}
} | Exportieren-CSV "perfiles-size.csv" -NoTypeInformation

# Formatea estilo Nagios
$lines = Get-Content .perfiles-size.csv | Wählen Sie -überspringen 1 | ConvertFrom-Csv -Header-Profil,TotalObjects,GrößeMB
Für jedes ($Zeile in $zeilen){
$Profil = $($line.Profil)
$TotalObjects = $($line.TotalObjects) -wie [int] 
$GrößeMB = $($line.GrößeMB) -wie [int]

$Todos =$Profile.replace(' ',‚‘) + "_Größe =" + $GrößeMB + " " + $Profil.ersetzen(' ',‚‘) + "_files =" + $TotalObjects + " " + $alle

# mehr 1000 Gegenstände
Wenn ($TotalObjects -gt 1000){
   $Objekte = $Profile.replace(' ',‚‘) + ", " + $Objekte
}

# Mehr als 100 MB (100)
Wenn ($GrößeMB -gt 200){
   $Tamano = $Profile.replace(' ',‚‘) + ", " + $Größe
}
}

Wenn ($Objetos.length -gt 0 -Und $Tamano.length -gt 0){
   Schreib-Host "KRITISCH - Viele Dateien in" $Objekte + "Großes Profil in" $Größe"|"$Jeder
   Ausfahrt 2
}
SonstWenn ($Objetos.length -gt 0){
   Schreib-Host "KRITISCH - Viele Dateien in" $Objekte"|"$Jeder
   Ausfahrt 2
}
SonstWenn ($Tamano.Länge -gt 0){
   Schreib-Host "KRITISCH - Großes Profil in" $Größe"|"$Jeder
   Ausfahrt 2
}
Sonst {
   Schreib-Host "OK - Profile richtig |"$Jeder
   Ausfahrt 0
}

Und jetzt registrieren wir uns wie wir schon wissen, in der Datei nsclient.ini die erforderliche Konfiguration, um dieses Skript von der Centreon-Maschine auszuführen, das einzige was man beachten sollte, wenn Sie viele Dateien haben und die Abfrage lange dauert, Bei Bedarf können wir das Timeout oder die Anzahl der Zeichen hochladen, sowas würde uns helfen:

[/Einstellungen/NRPE/Server]
Auszeit = 120
Nutzlastlänge = 15000

[/Einstellungen/externe Skripte]
Auszeit = 120

[/Einstellungen/externe Skripte/Skripte]
check_perfiles = cmd / c echo scripts \ Profile_Size_UPM.ps1; Ausfahrt($Lastexitcode) | powershell.exe -Befehl -

Und wenn das bei uns der Fall wäre, beim Erstellen des Dienstes in Centreon nach Übergabe des Arguments „check_prfiles“’ die wir in der nsclient.ini . angeben, wir können dich begleiten mit ‘ -P 15000 -t 120’ als zusätzliche Argumente, nämlich, wenn wir die Anzahl der Zeichen oder das Timeout auf etwas Bestimmtes erweitern müssen, im Plan ‘ñapa’ dafür, dass du den Befehl nicht berührt hast.

und bereit! Nach dem Exportieren der Konfiguration haben wir das Paket der Citrix UPM-Profile kontrolliert oder wenn wir eine andere Art von Roaming-Profil verwenden, oder wenn wir einen anderen Ordner überwachen möchten, um seine Größe zu sehen, oder Anzahl der Dateien.

und nichts, daran zu erinnern,, obwohl diese Grafik super zwielichtig ist, aber es war um eine idee zu geben, dass Sie es mit Grafana integrieren können, das ist ganz einfach, wenn du wissen willst, wie man es anbringt, Rückrufe dieses andere Dokument.

Ich hoffe, es war nützlich, Grüße an alle!