Català   English  

Diferencia entre revisiones de «Servidor de gráficas 1»

De Guifi.net - Wiki Hispano

(Página creada con '__TOC__ = Introducción = Nirinini… (entrando con la música de bricomanía)… Hoy vamos a montar un servidor de gráficas para graficar nuestros nodos y supernodos. El mot...')
 
m (language links)
 
(No se muestran 8 ediciones intermedias realizadas por 3 usuarios)
Línea 2: Línea 2:
  
 
= Introducción =
 
= Introducción =
Nirinini… (entrando con la música de bricomanía)…
+
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.
  
Hoy vamos a montar un servidor de gráficas para graficar nuestros nodos y supernodos. El motivo de este servidor es graficar los supernodos que están dentro de la red de xsf (cooperativa xarxa sense fils).
+
= 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.
  
= Metodología =
 
Lo primero de todo será escojer un servidor víctima, en este caso fermat, que ya es un servidor que se dedica a ofrecer otros servicios a guifi, como la wiki.
 
  
 +
# Crear contenido
 +
# servicio guifi.net
 +
## '''Service name:''' Servidor de Gráfiques BCNRossello208
 +
## '''Nombre corto:''' BCNRossello208-GRAF
 +
## '''Contactar:''' mail de contacto del administrador
 +
## '''Dispositivo:''' empezamos a escribir el nombre de nuestro servidor y van a salir el nombre de los servidores que empiezan así
 +
## '''Servicio:''' SNP Graph Server 
 +
## '''Estado:''' Estado del servicio
 +
# Guardar
  
Entramos por ssh a la máquina y añadimos los repositorios de apt de guifi en el fichero /etc/apt/sources.list.
+
Una vez Guardado volvemos a modificar y cambiamos los valores:
  
<pre># vi /etc/apt/sources.list
+
# '''versión:''' 2.0
#repo guifi
+
# '''url:''' URL a la que se accede a la aplicación web de las gráficas, normalmente http://ipdelservidor/snpservices
deb http://repo.vic.guifi.net/debian/  ./</pre>
+
# Guardar
 +
 
 +
= Metodología =
  
actualizamos el repositorio:
+
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:
  
<pre># apt-get update</pre>
+
* [[Configurar_Repositorio_apt_guifi|Configurar el Repositorio de apt de Guifi]]
  
 
e instalamos el paquete snpservices
 
e instalamos el paquete snpservices
Línea 24: Línea 35:
 
<pre># apt-get install snpservices</pre>
 
<pre># apt-get install snpservices</pre>
  
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, ya que hasta el momento el servidor de guifi.net es sólo accesible desde internet.
+
Nos saldrá un menú de configuración que nos pedirá algunos datos:
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.
+
  
El servidor va guardando la información que le mandan los nodos mediante unos scripts que vemos en /etc/cron.d/snpservices
+
* '''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
  
<pre>fermat:~# cat /etc/cron.d/snpservices
+
Y empezará a descargar el fichero mrtg.cfg correspondiente al servidor de gráficas establecido en el punto 1.
*/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</pre>
+
  
Ahora ya sólo faltará añadir a la web de guifi nuestro servidor de gráficas.
+
En este punto podemos acceder al servicio snpservices via web en la siguiente url:
  
Si no tenemos ningún servidor en nuestro nodo, lo añadimos en la página del nodo:
+
<pre>http://ipdelservidor/snpservices</pre>
  
Servidor computador.
+
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
Si tenemos un supernodo asignamos la ip en editar la radio del supernodo > editar > sección de conexiones por cable > 1 interfaz > wLan/Lan > ip/red > enchufe > Enlaza un trasto (Fermat) > create.
+
  
Con el servidor creado y con la ip si es posible, vamos al menú de arriba, crea contenidos y Guifi.net service.
+
<pre># ln -s /usr/share/snpservices /var/www/snpservices</pre>
  
Rellenamos la información:
+
= Ampliación =
'''Nombre del servicio:''' Servidor de Gràfiques de Marsupi – BCNRossello208
+
El servidor va guardando la información que le mandan los nodos mediante unos scripts que vemos en /etc/cron.d/snpservices
'''Nombre corto:''' BCNRossello208GRAF
+
'''Trasto:''' 23843-BCN, BCNrossello208 Fermat (este nombre lo generamos escribiendo el nombre de nuestro nodo, en mi caso BCNrossello208, y la ruedecilla de la derecha empezará a girar y saldrá en un menú desplegable los servidores disponibles en este nodo)
+
'''Servicio:''' SNP Graph server
+
'''Estado:''' Operativo
+
SNPgraphs configuración >
+
'''Versión:''' 2.0
+
'''url:''' http://graf1.marsupi.org (esta será la url por la que el servidor de guifi.net llegará a los datos de nuestro snmp, normalmente bajo /var/www/snpservices).
+
  
Guardamos y ahora en el nodo en la pestaña servicios vemos el servicio añadido.
+
<pre>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</pre>
  
En este punto podemos acceder al servicio snpservices via web en la siguiente url:
+
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.
  
<pre>http://ipdelservidor/snpservices</pre>
 
  
ahí nos saldran todo de letritas con algo de información del servicio y tal.
+
= 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'''.
 
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'''.
  
<pre><VirtualHost *:80>
+
<pre>
 +
# vi /etc/apache2/sites-available/graf1.marsupi.org
 +
<VirtualHost *:80>
 
ServerAdmin marsupi@marsupi.org
 
ServerAdmin marsupi@marsupi.org
 
ServerAlias graf1.marsupi.org *.graf1.marsupi.org
 
ServerAlias graf1.marsupi.org *.graf1.marsupi.org
 
ServerName graf1.marsupi.org
 
ServerName graf1.marsupi.org
  
DocumentRoot /var/www/snpservices
+
DocumentRoot /usr/share/snpservices
  
 
#habilitar en cas de debugging
 
#habilitar en cas de debugging
Línea 78: Línea 91:
 
AllowOverride None
 
AllowOverride None
 
</Directory>
 
</Directory>
<Directory /var/www/snpservices>
+
<Directory /usr/share/snpservices>
 
Options FollowSymLinks
 
Options FollowSymLinks
 
AllowOverride None
 
AllowOverride None
Línea 86: Línea 99:
 
</VirtualHost></pre>
 
</VirtualHost></pre>
  
Por ultimo tendremos que comprobar que el snpservices de este servidor esté identificado por el numero que nos da la web de guifi. Si vamos al servicio es el numero que tenemos en la URL.
+
Cargamos el fichero de configuración a apache
  
<pre># vi /etc/snpservices/config.php
+
<pre># a2ensite graf1.marsupi.org</pre>
$SNPGraphServerId = 35207;</pre>
+
  
A partir de ahora cuando configuremos nuestros nodos podremos usar este servidor de gráficas.
+
Y reiniciamos el servicio
  
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.
+
<pre># service apache2 restart</pre>
 
+
Si queremos hacer backup de los datos que está recolectando el servidor de graficas copiamos el contenido del directorio /var/lib/snpservices
+
  
 
= Agradecimientos =
 
= Agradecimientos =
Línea 101: Línea 111:
  
 
[[ca:Servidor de gràfiques 1]]
 
[[ca:Servidor de gràfiques 1]]
 +
[[en:Graphserver 1]]
 +
 +
[[Categoría:SNPServices]]

Última revisión de 23:10 20 abr 2014

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