Servidor de gráficas
De Guifi.net - Wiki Hispano
Un servidor de gráficas es un servicio que corre permanentemente en una máquina, haciendo llamadas a la red a través del protocolo snmp para crear gráficas que, entre otras cosas, proveen disponibilidad de máquinas, tiempos de respuesta y tasas de transferencias de datos.
Es una herramienta esencial para llevar a cabo un seguimiento de la evolución de la red y detectar en qué momento y lugar es necesario ampliarla.
El software que genera las gráficas es el paquete llamado snpservices.
Contenido
Instalación
Existen varios métodos para instalar un servidor de gráficas, aquí explicaremos dos: a partir de apt configurando el virtualhost de apache y el método a partir de dpkg, ambas para Debian/Ubuntu. Existe una tercer método que es a partir de la distro Guinux la cual ya provee, entre otros, un servidor de gráficas.
A partir de apt + virtualhost
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.
Entramos por ssh a la máquina y añadimos los repositorios de apt de guifi en el fichero /etc/apt/sources.list.
# vi /etc/apt/sources.list #repo guifi deb http://repo.vic.guifi.net/debian/ ./
actualizamos el repositorio:
# apt-get update
e instalamos el paquete snpservices
# apt-get install snpservices
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. 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
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
Ahora ya sólo faltará añadir a la web de guifi nuestro servidor de gráficas.
Si no tenemos ningún servidor en nuestro nodo, lo añadimos en la página del nodo:
Servidor computador. 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.
Rellenamos la información: Nombre del servicio: Servidor de Gràfiques de Marsupi – BCNRossello208 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.
En este punto podemos acceder al servicio snpservices via web en la siguiente url:
http://ipdelservidor/snpservices
ahí nos saldran todo de letritas con algo de información del servicio y tal.
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.
<VirtualHost *:80> ServerAdmin marsupi@marsupi.org ServerAlias graf1.marsupi.org *.graf1.marsupi.org ServerName graf1.marsupi.org DocumentRoot /var/www/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 /var/www/snpservices> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>
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.
# vi /etc/snpservices/config.php $SNPGraphServerId = 35207;
A partir de ahora cuando configuremos nuestros nodos podremos usar este servidor de gráficas.
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
A partir de dpkg
Podemos descargar el paquete snpservices
desde:
wget http://repo.vic.guifi.net/debian/snpservices_0.2.1-18_all.deb
Tras descargar el paquete, lo instalamos:
dpkg -i snpservices_0.2.1-18_all.deb
Nos dará error de dependencias. Las instalamos
apt-get -f install
La instalación nos pedirá que introduzcamos el ID del servidor de gráficas. Ese número lo obtendremos del nodo que hemos creado en la web, en este caso de guifi.net/es/node/24562, es decir, 24562 (para otros lugares será un número distinto).
También nos preguntará si queremos recuperar en este momento el archivo mrtg.cfg. Aceptamos. Una vez instalado no tendremos que configurar nada más en el servidor, comenzará a servir gráficas inmediatamente.
Debemos modificar el nodo del servicio de gráficas para añadirle la URL del mismo, que será del tipo maquina/snpservices. También hay que establecer la versión 2.0.
Resolución de problemas habituales
Al connectar un dispositivo por cable ponerlo en Lan o en la ubicacion que sea, sino puede que no grafique correctamente.
Referencias
Enlaces externos
- Manual extenso (en catalán)