“CCU Usage” cheap logging

Parfois, nous souhaiterions pouvoir journaliser l’utilisation en CCU des fermes, ne serais ce que pour faire un peu de capacity planning ou tout simplement parce que la hiérarchie fini toujours par poser des questions embarrassantes… Mais malheureusement, nous n’avons pas de cacti-like disponible ni la possibilité d’en monter un. Comment nous en sortir sans rien installer de plus sur les serveurs ?

Récupérer les sessions ICA Actives

Citrix nous fourni le cmdlet get-xasession qui récupère l’ensemble des sessions de la ferme que nous allons filtrer sur l’état (Actif) et le Protocol (Ica). Nous allons envoyer le résultat dans un fichier de log avec le redirecteur “>>” qui permet de faire un append dans le fichier, bien sur, il le crée si nécessaire.

"$( Get-Date -Format  "MM/dd/yyyy HH:mm:ss");$(@(get-xasession |? { $_.State -eq "Active" -And $_.Protocol -eq "Ica" }).Count)" >> "$(Get-Date -Format "Lo\g_yyyy-MM.\tx\t")"

Le code précédent éxécuté à 12:00:24 le 10/9/2012 enverra la ligne “09/10/2012 10:00:21;24” dans le fichier “Log_2012-09.txt”. Pour finaliser notre montage, nous devons lancer régulièrement cette commande via ZCron (par exemple) ou les tâches planifiées.

Faire un graphe

Au bout d’un moment, nous allons atteindre la limite maximal du nombre de valeur des graphiques Excel. Le but étant de ne pas ajouter de logiciel nous allons utiliser l’API google graphs afin d’en générer un depuis nos données journalisées.

Nous allons utilisé powershell pour générer le fichier html avec le javascript nécessaire. Vu que nous utilisons le temps en abscisse, il nous faudra parser la date du CSV avec ParseExact et générer un constructeur javascript Date().

#Parser la date
$d = [datetime]::ParseExact($_.Horaire, "MM/dd/yyyy HH:mm:ss",$null)
#Ecrire le constructeur Date en JavaScript
"new Date($($d.Year), $($d.Month-1),$($d.Day),$($d.Hour),$($d.Minute),$($d.Second))"

Afin de nous simplifier la vie, nous allons utiliser un template HTML et juste générer le tableau de données en powershell.

Voici un exemple de graphe généré par ce biais

graph

Leave a Reply

Your email address will not be published. Required fields are marked *