Je veux obtenir le processeur du serveur et RAM utilisation en php. Le script devrait fonctionner sur Windows et Linux.
Comment ferais-je ça?
La première fonction renverra l'utilisation de la mémoire du serveur:
function get_server_memory_usage(){
$free = Shell_exec('free');
$free = (string)trim($free);
$free_arr = explode("\n", $free);
$mem = explode(" ", $free_arr[1]);
$mem = array_filter($mem);
$mem = array_merge($mem);
$memory_usage = $mem[2]/$mem[1]*100;
return $memory_usage;
}
Cette fonction renverra l'utilisation du processeur du serveur:
function get_server_cpu_usage(){
$load = sys_getloadavg();
return $load[0];
}
Je vous conseille d'utiliser PHP SNMP
http://www.php.net/manual/en/book.snmp.php
Cela fournira une solution unifiée pour Windows et Linux sans avoir à jouer avec les commandes exec.
Vous devrez bien sûr installer un démon/service SNMP Windows sur vos serveurs Windows et Linux
Pour Linux, utilisez simplement Net-SNMP, par exemple CentOS
Sudo yum install net-snmp
Sudo service snmpd start
Sudo chkconfig snmpd on
Net-SNMP est également disponible pour Windows: