1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
<?PHP
/* FICHIER D'IMPORATION
Moniteur de performances (journaux CSV) <<----->> MySQL */
for ($a = 0; $a < 24; $a++)
{
// Si l'heure est inférieure à 10, on rajoute un 0
if ($a < 10)
$heure = '0'.$a;
else
$heure = $a;
/* On construit ici le nom de notre journal avec la date d'hier. Eh oui, car avec la date d'aujourd'hui, un nouveau journal est créé, donc ça ne marche plus. */
$hier = date('d') - 1;
// Par contre, si nous sommes le 1er février, difficile de faire le 0 février. :) Donc on prend le mois précédent.
if ($hier < 1) {
// On prend le timestamp d'hier à 23h59
$timestamp_hier = mktime(date('m'), date('d'), date('Y'), 0, 0, 0) - 1;
$mois = date('m',$timestamp_hier);
$hier = date('d',$timestamp_hier);
}
else
$mois = date('m');
// On construit le chemin du journal
$chemin_du_fichier = 'C:\PerfLogs\serveurtest_'.$mois.$hier.$heure.'.csv';
// Si le fichier existe bien
if (file_exists($chemin_du_fichier))
{
// Connexion au serveur MySQL
$db = mysql_connect('localhost', 'root', '');
// Séléction de base de données
mysql_select_db('test',$db);
// Requête d'enregistrement
mysql_query("LOAD DATA INFILE '$chemin_du_fichier'
INTO TABLE `test`
FIELDS TERMINATED BY ','
ENCLOSED BY '\"'
ESCAPED BY '/'
LINES TERMINATED BY '\r\n';") or die (mysql_error());
// On supprime les lignes où CPU ne vaut rien (bugs ^^)
mysql_query("DELETE FROM test WHERE cpu = 0");
// Gros bisous MySQL !
mysql_close();
}
else
{
// On affiche une erreur
echo "Un journal n'a pas été trouvé, heure ".$heure." --> ".$chemin_du_fichier."<br />";
}
}
echo '<table><tr style="font-weight: bold"><td>Date/Heure</td><td>Débit upload</td><td>RAM libre</td><td>%CPU</td></tr>';
$retoursql = mysql_query('SELECT STR_TO_DATE(test.date, "%m%d%Y %H:%i:%s") AS date, output, ram, cpu FROM test') or die (mysql_error());
while ($array = mysql_fetch_array($retoursql))
{
// On formate l'upload, ne pas oublier de diviser par 1024 et non par 1000 !
$output = number_format($array[1] / 1024, 0, ',', ' ');
// On arrondit aussi l'indicateur CPU
$cpu = round($array[3], 1);
// JAUGE CPU
// On définit les couleurs
if ($cpu < 25)
$couleur = "rgb(0,255,0)";
elseif ($cpu < 50)
$couleur = "yellow";
elseif ($cpu < 75)
$couleur = "orange";
else
$couleur = "red";
// JAUGE CPU
echo '<tr>
<td>'.$array[0].'</td>
<td style="text-align: right">'.$output.' Ko/s</td>
<td style="text-align: right">'.$array[2].' Mo</td>
<td style="width: 50%"><div style="height: 15px; width: '.$cpu.'%; background-color: '.$couleur.'">'.$cpu.'%</div></td>
</tr>';
}
echo '</table>';
?> |
Partager