Català  

Servidor de gráficas 1

De Guifi.net - Wiki Hispano

Introducción

snpservices con un conjunto de herramientas que permitirán capturar las gráficas de los nodos y supernodos que estén configurados a este servidor. Esta máquina tendrá que tener así salida a guifi.net y a internet. Para leer las gráficas, el servidor de guifi.net preguntará a nuestro servidor vía web las gráficas de los nodos que están configurados con este servidor.

Creación del servicio en la web de guifi

Previamente tendremos que haber añadido un dispositivo tipo servidor en nuestro supernodo y asignarle una IP de guifi (dispositivo del supernodo > editar > sección de conexiones por cable > Rango de IPs destinado a los servers (se crea si no existe) > enchufe > Enlaza un dispositivo > create > Guardar y continuar modificando.


  1. Crear contenido
  2. servicio guifi.net
    1. Service name: Servidor de Gráfiques BCNRossello208
    2. Nombre corto: BCNRossello208-GRAF
    3. Contactar: mail de contacto del administrador
    4. Dispositivo: empezamos a escribir el nombre de nuestro servidor y van a salir el nombre de los servidores que empiezan así
    5. Servicio: SNP Graph Server
    6. Estado: Estado del servicio
  3. Guardar

Una vez Guardado volvemos a modificar y cambiamos los valores:

  1. versión: 2.0
  2. url: URL a la que se accede a la aplicación web de las gráficas, normalmente http://ipdelservidor/snpservices
  3. Guardar

Metodología

Entramos por ssh a la máquina que vamos a destinar como servidor de gráficas y añadimos los repositorios de apt de guifi:

e instalamos el paquete snpservices

# apt-get install snpservices

Nos saldrá un menú de configuración que nos pedirá algunos datos:

  • SNP Graph Server Id. (Default: bandoler=6559) El numero de id del servicio que hemos creado en la web de guifi
  • rootZone: which is the ROOT zone. (Default: 3671) Dejamos el valor por defecto 3671
  • SNPDataServer_url: without ending backslash, the url where the data is. (Default: http://snpservices.guifi.net) Dejamos el valor por defecto http://snpservices.guifi.net
  • MRTGConfigSource: mrtg csv data. (Only URL, Graph Server Id will be concatenated) Dejamos el valor por defecto http://www.guifi.net/snpservices/graphs/cnml2mrtgcsv.php?server=
  • CNMLSource: url for CNML node query, use sprintf syntax. Dejamos el valor por defecto http://www.guifi.net/snpservices/common/qnodes.php?nodes=%s_
  • rrddb path. Dejamos el valor por defecto /var/lib/snpservices/rrdb/
  • rddimg path. Dejamos el valor por defecto /var/lib/snpservices/rrimg/
  • rddtool version. Dejamos el valor por defecto 1.3
  • Force to fetch mrtg.cfg now. Yes

Y empezará a descargar el fichero mrtg.cfg correspondiente al servidor de gráficas establecido en el punto 1.

En este punto podemos acceder al servicio snpservices via web en la siguiente url:

http://ipdelservidor/snpservices

Si no funciona comprueba que tengas un link simbólico en /var/www que se llame snpservices y apunte a /usr/share/snpservices, si no exite, créalo

# ln -s /usr/share/snpservices /var/www/snpservices

Ampliación

El servidor va guardando la información que le mandan los nodos mediante unos scripts que vemos en /etc/cron.d/snpservices

fermat:~# cat /etc/cron.d/snpservices
*/30 *  * * *   root    if [ -x /var/www/snpservices/graphs ]; then cd /var/www/snpservices/graphs ; fi; if [ -x /usr/bin/php ] && [ -r /var/www/snpservices/graphs/mrtgcsv2mrtgcfg.php ]; then env LANG=C /usr/bin/php mrtgcsv2mrtgcfg.php >> /var/log/snpservices/mrtgccfg.log 2>&1;fi
*/5 *   * * *   root    if [ ! -x /var/lock/mrtg ]; then mkdir /var/lock/mrtg ; fi; if [ -x /usr/bin/mrtg ] && [ -r /var/lib/snpservices/data/mrtg.cfg ]; then env LANG=C /usr/bin/mrtg /var/lib/snpservices/data/mrtg.cfg --lock-file /var/lock/mrtg/guifi_l >> /var/log/snpservices/mrtg.log 2>&1; fi

El snpservices de nuestra máquina está configurado para consultarle a la web de guifi qué nodos tiene que guardar las gráficas. Los scripts se ejecutan cada 5 minutos para recolectar los datos y cada media hora para saber qué nodos graficar.

Si queremos hacer backup de los datos que está recolectando el servidor de graficas copiamos el contenido del directorio /var/lib/snpservices. En /usr/share/snpservices están los ficheros de la aplicación.


Configurar un virtualhost de apache para el servicio

Como nos gusta complicar las cosas (o dejarlas un poco ordenadas), vamos a crear un subdominio en nuestro dominio llamado graf1, voy al DNS y apunto el subdominio a la ip de internet de esta máquina y configuro el virtualhost en la máquina apuntando al directorio snpservices que es un link simbólico (atención añadir la opción FollowSymLinks). Este paso es opcional.

# vi /etc/apache2/sites-available/graf1.marsupi.org
<VirtualHost *:80>
ServerAdmin marsupi@marsupi.org
ServerAlias graf1.marsupi.org *.graf1.marsupi.org
ServerName graf1.marsupi.org

DocumentRoot /usr/share/snpservices

#habilitar en cas de debugging
#ErrorLog /var/log/apache2/graf1.marsupi.org_error.log
#LogLevel warn
#CustomLog /var/log/apache2/graf1.marsupi.org_access.log combined

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /usr/share/snpservices>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

Cargamos el fichero de configuración a apache

# a2ensite graf1.marsupi.org

Y reiniciamos el servicio

# service apache2 restart

Agradecimientos

Thnks Zunbado y Locke.

Herramientas personales