Servidor de gráficas
De Guifi.net - Wiki Hispano
Definicion
El servidor de gráficas se baas en el servicio de GUIFI llamado SNPServices. El servidor SNPServices, y para ser mas exactos cliente SNPServices es un servidor linux, con php, apache, mrtg y rrdtool, no necesita nada mas. Le llamamos cliente porque el servidor Master SNPServices es un servidor que nos enviará informacion a nuestro servidor cliente SNPServices. Aqui tienes un esquema que te hará ver claro esta definicion.
El cliente SNPServices consulta al Master snpservices la lista de nodos a monitorear, con php se parsea la lista y formatea scripts mrtg y los ejecuta (pings y trafico) para generar un rrd y con sonsultas http, se ejecuta un php que convierte los .rrd en imagenes y las muestra.
El servidor WEB de guifi.net conoce la url del servidor de graficas de la zona de un nodo, y cuando visitas un nodo en la web se muestran las graficas/imagenes remotas que hay en los servidores SNPServices cliente.
Manuales
- Servidor de gráficas 1 (Debian/Ubuntu) método apt + configuración virtualhost apache
- Servidor de gráficas 2 (Debian/Ubuntu) método dpkg
- Servidor de gráficas 3 (Debian/Ubuntu) extendido
Como trabaja el cliente SNPServices
El cliente SNPServices tiene varios passos a realizar para poder recopilar datos y hacer un escaneo en las direcciones cercanas. <?php
$rootZone = 52771;
- 3671;
$minX = 999; $minY = 999; $maxX = -999; $maxY = -999;
$members = array();
$hlastnow = @fopen("http://guifi.net/guifi/refresh/maps", "r") or die('Error reading changes\n');
$last_now = fgets($hlastnow);
fclose($hlastnow);
$hlast= @fopen("/tmp/last_update.cnml", "r");
if (($hlast) and ($last_now == fgets($hlast))) {
fclose($hlast);
echo "No changes.\n";
exit();
}
echo "Getting CNML file\n";
$hcnml = @fopen("http://guifi.net/guifi/cnml/".$rootZone."/detail", "r");
$wcnml = @fopen("guifi.cnml", "w+");
while (!feof($hcnml)) {
$buffer = fgets($hcnml, 4096);
fwrite($wcnml,$buffer);
}
fclose($hcnml);
fclose($wcnml);
$hlast= @fopen("/tmp/last_update.cnml", "w+") or die('Error!');
fwrite($hlast,$last_now);
fclose($hlast);
?>
PMF
- Regenerar los ficheros rrd
- tener en cuenta que al connectar un dispositivo por cable ponerlo en Lan o en la ubicacion que sea, sino puede que no grafique correctamente.