Bonjour,
J'ai déjà posté un message concernant ma CGI en bash/html, je me permets donc de resolliciter votre aide pour un autre problème :
Pour redétailler la demande, je dois faire une cgi qui :
- Propose des graphiques avec la consommation de RAM/CPU de clusters. ( Cette étape est validée avec succès en utilisant Gnuplot ).
- Propose des informations sur des FRAME/LPARS, en ayant la possibilité de choisir de voir ces informations soit par date, soit par nom de FRAME, soit par nom de LPARS.
Ma CGI ressemble à cela pour le moment :
J'ai exactement 278 fichier csv contenant des informations sur des FRAMES/LPARS, avec environ 1000 lignes pour chaque fichiers. Les fichiers sont tous configurés de la même manières, avec le même nombre de colonnes, rangées dans le même ordre :
FRAME_NAME;LPARS_NAME;Running;OS;21;0.3;2;DefaultPool;shared;uncap;128
Les nom des fichiers sont de ce type :
PowerSys-LPARmap-20181114.csv
J'ai réussi à récupérer la liste de noms des Frames et LPARS afin de les mettre dans un menu déroulant. J'arrive aussi à récupérer le nom sélectionné par l'utilisateur quand il clique sur générer.
Le but étant que dès qu'un utilisateur clique sur générer, la liste des FRAMES apparaissent, avec la RAM, le CPU et la date :
1 2 3 4 5 6
|
FRAME : XXXX
DATE : XXXX
RAM : XXXX
CPU 1 : XXXX
CPU 2 : XXXX |
J'y arrive en ajoutant utilisant ce petit script :
1 2 3 4 5 6 7 8 9
| #!/bin/bash
awk -F ';|,' '{
print "FRAME : " $1
print "RAM : " $5
print "CPU : " $6
print "CPU 2 : " $7
print " "
} ' PowerSys-LPARmap-20181114.csv |
Voici mon problème : imaginons que j'ai un FRAME1 dans plusieurs csv parmis les 278, sachant que les noms des csv sont composés de leur date de création, comment savoir que dans liste qui va apparaître avec les éléments demandés, tel FRAME1 est de cette date et non d'une autre ? Et évidemment, il n'y a pas de colonne date dans les fichiers csv. ( Je ne sais pas si c'est bien clair... ).
Du coup l'idée est de rajouter une ligne " DATE " pour qu'on puisse savoir de quand date ces informations. J'ai d'abords pensé à récupérer la date de chaque nom de fichiers csv avec la commande suivante dans le répertoire où sont stockés les csv :
1 2 3
| ls*.csv | cut -d'-' -f3 | cut -d'.' -f1
Résultat : 20181114 |
L'idée serait de faire quelque chose du style :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| DATE : 20181111
FRAME : FRAME1
DATE : XXXX
RAM : XXXX
CPU 1 : XXXX
CPU 2 : XXXX
DATE : 20181112
FRAME : FRAME1
DATE : XXXX
RAM : XXXX
CPU 1 : XXXX
CPU 2 : XXXX |
Ce que je n'arrive pas à visualiser, c'est le fait de savoir que tel frame vient de tel fichier et donc, de telle date. La date correspondant à celle se trouvant dans le nom du fichier et en les récupérant avec la commande citée plus haut, il y a peut être une solution, non ?
Ne sachant pas si mes explications sont bien claires, mais si jamais elles le sont, si vous avez une idée, je suis preneur ! Et si vous ne comprenez pas... Dites le moi, je rexpliquerai !
Merci d'avance !
Partager