Bonjour,

j'essaie depuis quelques jours déjà de superviser un serveur pour avoir quelques informations de mon serveur tournant sous Microsoft Windows avec PHP.

Pour cela j'utilise les journaux et alertes de performances de windows.
Un fichier ".csv" est créé toute les heures (voici un des fichier créé --> http://yoboss13.free.fr/serveurtest_011717.csv )

J'ai développé ensuite une page web en php afin de découper les informations contenus dans le fichier journal, de les stocker dans une base de donnée MySQL
et enfin de les exploiter en les affichant dans un tableau (indiquant par exemple : % d'utilisation du processeur, de la RAM, etc...)

Malheureusement mon script PHP ne fonctionne pas, j'ai beau chercher je ne trouve pas pourquoi . Pouvez m'aider, svp ?

Voici le contenu de ma table (test) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
CREATE TABLE `test` (
  `date` varchar(256) NOT NULL,
  `output` int(11) NOT NULL,
  `ram` int(11) NOT NULL,
  `cpu` float NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Voici le code source :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>';
 
 
?>
Et voici l'erreur que j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
File 'C:PerfLogsserveurtest_011700.csv' not found (Errcode: 2)
J'ai bien vérifié le fichier existe. Au faite j'utilise EasyPHP 1.8.0.1.

Merci d'avance pour l'aide que vous pourrez m'apporter .