How to LibreNMS

NOTA: Estas instrucciones estan basadas en instrucciones oficiales de LibreNMS y fueron probadas con una instalación nueva de Ubuntu 14.04

1) Creando la base de datos 
 
$ sudo bash

Ahora instala mysql y configurarlo:
 
# apt-get install mysql-server mysql-client
# mysql -uroot -p

Si te pide una contraseña por el usuario root de mysql elige que quieres, pero tiene que estar 100% seguro que se la recuerdas. Si ya tiene una contraseña de usuario root de mysql usala ahora.

Crear la base de datos:
 
CREATE DATABASE librenms;
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost' IDENTIFIED BY '<tu_clave>';
FLUSH PRIVILEGES;
exit

2) Instalar LibreNMS

apt-get install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-snmp php-pear php5-curl snmp graphviz php5-mcrypt php5-json apache2 fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd mysql-client php-net-ipv4 php-net-ipv6 rrdtool git

2.1) Fijar la zona horaria

# editor /etc/php5/apache2/php.ini

Busque la línea que dice date.timezone y se ajusta a su zona horaria preferida. Puede ver http://php.net/manual/en/timezones.php o los archivos debajo /usr/share/zoneinfo por una lista de zonas horarias permitidas.

En el archivo encontrar la linea:
 
;date.timezone =

Y cambiala a:
 
date.timezone = Etc/UTC

Graba y salga del archivo.
Después que cambia la zona horaria graba el archivo y abre:
# editor /etc/php5/cli/php.ini 
y hacer el mismo cambio.
2.2) Clonación del código fuente de LibreNMS

cd /opt
sudo git clone https://github.com/librenms/librenms.git librenms
cd /opt/librenms


2.3) Interfaz web

Para prepara el interfaz web tiene que crear y cambiar los privilegios de dos directorios y, tambien, crear una definición de una host virtual por el servidor de Web Apache.

Primero creamos y cambianos los privilegios de los directorios:
 
 # cd /opt/librenms 
 # mkdir rrd logs 
 # chown www-data:www-data logs/ rrd/

Ahora creamos un archivo de configuración:
 
 # editor /etc/apache2/sites-available/librenms.conf

añadir las siguientes líneas:
 
<VirtualHost *:80>
  DocumentRoot /opt/librenms/html/
  ServerName  myServer
  CustomLog /opt/librenms/logs/access_log combined
  ErrorLog /opt/librenms/logs/error_log
  AllowEncodedSlashes NoDecode
  <Directory "/opt/librenms/html/">
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews
  </Directory>
</VirtualHost>

En Ubuntu 14.04 necesitamos un programa de php llamada mcrypt. Haz lo siguiente:
 
 # php5enmod mcrypt

Ahora habilitar el host virtual y reinicializar el servidor web Apache:
 
 # a2ensite librenms 
 # a2enmod rewrite 
 # service apache2 restart

2.4) Instalador Web

Se puede elegir de instalar a través la Web o en forma manual usando la línea de comandos. Vamos a usar el instalador web, que es mas facíl.
Para hacer la instalación mas facíl damos acceso al usuario www-data (que usa el servidor Web Apache) para que se puede escribir en el directorio /opt/librenms para crear el archivo de configuración.

Ejecute el siguiente comando
 
 # chown www-data /opt/librenms

Cambiaremos esta al usuario root mas adelante cuando terminamos (es más seguro). Ahora puede empezar con el instalador Web llendo a:

http://url_nuestro_servidor/install.php

Sigue las instrucciones en la pantalla (en Inglés):
  • Etapa 1 le pide por su configuración de base de datos. Tecla
    • DB Host: localhost
    • DB User: librenms
    • DB Pass: <CLASS_PASSWORD>
    • DB Name: librenms
  • Etapa 3: tecla un usuario, contraseña y dirección de correo. Esto será el usuario que usa para entrar el interfaz web.
Sugerimos que usa sysadm, y la contraseña del taller y su propio dirección de correo electrónico.
  • Etapa 5: ahora el interfaz web debería mostrar:
    "The config file has been created"
Nota: SI programa de instalación le dice que no se puede escribir al archivo de configuración puede ser que Ud. olvdio de correr chown www-data /opt/librenms.
Intenta de reparar el problema y recarga: http://url_nuestro_servidor/install.php.
Si todavía no funciona va a necesitar copiar la configuración generada desde la ventana de su navegador de web a un archivo nuevo /opt/librenms/config.php.

Ahora podemos asegurar el directorio /opt/librenms de nuevo:
 
 # chown root /opt/librenms


2.5) Configuración básica

Ahora haremos algunos cambios al archivo de configuración:
  • Cambiar la comunidad por defecto de SNMP
  • Permitir detección automática xDP (CDP/LLDP) de la red
  • Decir a LibreNMS cual redes se puede escanear y/o descubrir
2.5.1) Configurando la comunidad de SNMP

Cambiamos la comunidad que LibreNMS intenta de usar cuando se descubre dispositivos nuevos.
Editar el archivo /opt/librenms/config.php, y encontrar la línea:
 
 $config['snmp']['community'] = array("public");

Y cambiarla a:
 
 $config['snmp']['community'] = array("NetManage");

2.5.2) Habilitando detección automática de XDP

Todavía en el archivo /opt/librenms/config.php, y debajo la línea:
 
 $config['snmp']['community'] = array("NetManage");

... añadir el siguiente:
 
 $config['autodiscovery']['xdp'] = TRUE;

2.5.3) Indicarle a LibreNMS las subredes a escanear

Para ser seguro y no escanear el Internet por error, LibreNMS necesitar saber cuales subredes se puede escanear por dispositivos nuevos.
Todavía en el archivo /opt/librenms/config.php, encuentra la línea:
 
 #$config['nets'][] = "10.0.0.0/8";

... y remover el # al principo de la línea para que se vea así:
 
 
 $config['nets'][] = "10.0.0.0/8";

Graba el archivo y sale - casí terminamos!

2.5.4) Agregamos un host

Agregamos localhost (su servidor virtual) usando los siguientes comandos. Más tarde lo haremos usando el interfax web:
    # cd /opt/librenms
    # php addhost.php localhost NetManage v2c
 
2.6) Configuración final

2.6.1) Prueba poller

Tenemos que decir a LibreNMS descubrir a localhost y "poll" (preguntalo) por la primera vez. Puede hacer esto en la línea de comando para ver si esta funcionando bien.
 
 # cd /opt/librenms 
 # php discovery.php -h all && php poller.php -h all

2.6.2) Crear el cronjob

Crear el cronjob que va a correr las tareas periódicas que son requeridos por LibreNMS:
 
 # cd /opt/librenms 
 # cp librenms.cron /etc/cron.d/librenms

2.7) Instalación completada

Esto es todo! Ahora puede ir a http://url_servidor/ y hacer un login. Por favor, nota que no hemos hablado de configuración de HTTPS - así su instalación de LibreNMS no es seguro. Por favor que no lo expone al Internet público hasta que configura HTTPS y tiene su servidor configurado en forma segura.


Entradas más populares de este blog

How to install Smokeping