Created
June 2, 2018 14:17
-
-
Save mnofresno/f607d196da8ad19ab67bc30fa04dae0b to your computer and use it in GitHub Desktop.
Informe automático del estado de un servidor
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function TotalDisco($disco) | |
{ | |
} | |
function UsadoDisco($disco) | |
{ | |
} | |
function DiscoEnGB($disco) | |
{ | |
$total = disk_total_space($disco)/pow(2,30); | |
$libre = disk_free_space($disco)/pow(2,30); | |
$usado = $total - $libre; | |
return array("total"=> $total,"libre"=>$libre,"usado"=>$usado); | |
} | |
function Espacio($total,$usado,$libre,$etiqueta) | |
{ | |
echo $etiqueta.":<br><br>"; | |
echo "Total: ".Formatear($total)." GB<br>"; | |
echo "Usado: ".Formatear($usado)." GB<br>"; | |
echo "Libre: ".Formatear($libre)." GB<br><br>"; | |
} | |
function TempDisco($disco) | |
{ | |
exec("sudo hddtemp ".$disco, $out); | |
return $out[0]; | |
} | |
function Formatear($valor) | |
{ | |
return number_format( $valor,2,",","."); | |
} | |
function T($id,$output) | |
{ | |
return str_replace("clean","limpio", | |
str_replace("files","archivos", | |
str_replace("blocks","bloques", | |
str_replace("crit","critico", | |
str_replace("high","elevado", | |
str_replace("power1: ","", | |
str_replace("temp1: ","",$output[$id]))))))); | |
} | |
function ChequeoDisco($disco) | |
{ | |
exec("sudo fsck -n ".$disco,$out); | |
return T(3,$out); | |
} | |
exec("sensors", $temperaturas); | |
$load = sys_getloadavg(); | |
$link = new mysqli("yourmysqldatabaseserver","yourmysqldatabaseuser","yourmysqldatabasepassord", "yourmysqldatabasename") or die("Error " . mysqli_error($link)); | |
$discoSistema = DiscoEnGB("/"); | |
$discoDatos = DiscoEnGB("/home"); | |
$fecha = date("d/m/Y")." a las ".date("H:m"); | |
$sistema_total = $discoSistema["total"]; | |
$sistema_usado = $discoSistema["usado"]; | |
$sistema_libre = $discoSistema["libre"]; | |
$datos_total = $discoDatos["total"]; | |
$datos_usado = $discoDatos["usado"]; | |
$datos_libre = $discoDatos["libre"]; | |
$temperatura_microprocesador = T(11,$temperaturas); | |
$temperatura_motherboard = T(2,$temperaturas); | |
$temperatura_disco1 = TempDisco("/dev/sda"); | |
$temperatura_disco2 = TempDisco("/dev/sdb"); | |
$potencia_microprocesador = T(7,$temperaturas); | |
$chequeo_disco1 = ChequeoDisco("/dev/md0"); | |
$chequeo_disco2 = ChequeoDisco("/dev/md2"); | |
$uso_microprocesador_1min = ($load[0]*100); | |
$uso_microprocesador_5min = ($load[1]*100); | |
$uso_microprocesador_15min = ($load[2]*100); | |
$insertar = array( | |
"fecha" => trim($fecha), | |
"sistema_total" => trim($sistema_total), | |
"sistema_usado" => trim($sistema_usado), | |
"sistema_libre" => trim($sistema_libre), | |
"datos_total" => trim($datos_total), | |
"datos_usado" => trim($datos_usado), | |
"datos_libre" => trim($datos_libre), | |
"temperatura_microprocesador" => floatval(trim($temperatura_microprocesador)), | |
"temperatura_motherboard" => floatval(trim($temperatura_motherboard)), | |
"temperatura_disco1" => floatval(trim(explode(":",$temperatura_disco1)[2])), | |
"temperatura_disco2" => floatval(trim(explode(":",$temperatura_disco2)[2])), | |
"potencia_microprocesador" => trim(explode("W",$potencia_microprocesador)[0]), | |
"chequeo_disco1" => trim($chequeo_disco1), | |
"chequeo_disco2" => trim($chequeo_disco2), | |
"uso_microprocesador_1min" => trim($uso_microprocesador_1min), | |
"uso_microprocesador_5min" => trim($uso_microprocesador_5min), | |
"uso_microprocesador_15min" => trim($uso_microprocesador_15min) | |
); | |
$campos = array_keys($insertar); | |
$valores = array_values($insertar); | |
$sQuery = "INSERT INTO informe_rendimiento (".implode(", ",$campos).") VALUES ('".implode("', '",$valores)."');"; | |
$link->query($sQuery); | |
//echo $sQuery; | |
echo "<br>Informe general, estado de salud del servidor<br>".$fecha."<br><br>"; | |
echo "Espacio en disco:<br><br>"; | |
Espacio($sistema_total,$sistema_usado,$sistema_libre,"Particion del sistema"); | |
Espacio($datos_total,$datos_usado,$datos_libre,"Particion de datos"); | |
echo "Temperaturas:<br><br>"; | |
echo "Microprocesador: ".$temperatura_microprocesador."<br>"; | |
echo "Motherboard: ".$temperatura_motherboard."<br><br>"; | |
echo "Discos rigidos:<br>"; | |
echo "<br>".$temperatura_disco1."<br>"; | |
echo "<br>".$temperatura_disco2."<br>"; | |
echo "<br>"; | |
echo "Potencia microprocesador: ".$potencia_microprocesador."<br>"; | |
echo "<br>Chequeo de discos:<br>"; | |
echo "<br>".$chequeo_disco1."<br>"; | |
echo $chequeo_disco2."<br><br>"; | |
echo "<br><br>Uso promedio del MICROPROCESADOR el ".$fecha."<br>"; | |
echo "Durante el ultimo minuto: ".$uso_microprocesador_1min." %<br>"; | |
echo "Durante los ultimos cinco minutos: ".$uso_microprocesador_5min." %<br>"; | |
echo "Durante los ultimos quince minutos: ".$uso_microprocesador_15min." %<br>"; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment