LibreNMS, es un fork de Observium, un sistema de monitorización muy fácil de instalar y de configurar. Orientado a la monitorización de infraestructuras no muy grandes. Es capaz de monitorizar por SNMP los hosts y se pueden monitorizar los servicios nagios style. También es capaz de pintar el mapa de red según las conexiones y se pueden crear alertas personalizadas para generar avisos mediante diferentes herramientas como telegram.
Es una alternativa perfectamente valida a sistemas como centreon que aun que son muy completos, el configurarlo lleva mucho trabajo.
Servidor
Instalación
MariaDB
Instalar mariaDB
apt -y install mariadb-server mariadb-client
Crear la tabla de librenms
mysql -u root -p CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci; GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost' IDENTIFIED BY '<password>'; FLUSH PRIVILEGES; exit
Apache2
Instalar apache2
apt -y install apache2
PHP7
Añadir los repositorios de PHP7
echo "deb http://packages.dotdeb.org jessie all" >> /etc/apt/sources.list
Añadir clave
wget https://www.dotdeb.org/dotdeb.gpg && apt-key add dotdeb.gpg
Actualizar los repositorios
apt update
Instalar los paquetes de php necesarios
apt -y install libapache2-mod-php7.0 php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-mcrypt php7.0-json php-net-ipv4 php-net-ipv6
Configurar timezone
vim /etc/php/7.0/apache2/php.ini date.timezone = "Europe/Madrid" vim /etc/php/7.0/cli/php.ini date.timezone = "Europe/Madrid"
Activar módulos de apache y php
a2enmod php7.0
a2dismod mpm_event
a2enmod mpm_prefork
phpenmod mcrypt
a2enmod rewrite
Extras
Instalar
apt -y install snmp graphviz fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd rrdtool git
Configuración
Crear usuario librenms
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
Clonar el repositorio de librenms
cd /opt && git clone https://github.com/librenms/librenms.git librenms
chown -R librenms:librenms /opt/librenms cd /opt/librenms mkdir rrd logs chmod 775 rrd ln -s /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms ln -s /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms chown -R librenms:librenms /opt/librenms/.git/index chmod u+s /usr/bin/fping6 chmod u+s /usr/bin/fping
vim /etc/apache2/sites-available/librenms.conf
<VirtualHost *:80>
DocumentRoot /opt/librenms/html/
ServerName monitorizacion.ichasco.com
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>
Habilitar el site de librenms y deshabilitar el de default de apache
a2ensite librenms.conf a2dissite 000-default
Reiniciar apache
systemctl restart apache2
Configurar web
Ir a la web
http://monitorizacion.ichasco.com

Como librenms no tiene permisos de root, nos dirá lo siguiente, para esto hay que añadir la conf que nos pone en /opt/librenms/config.php
Comprobación de que todo está bien
cd /opt/librenms ./validate.php
AutoDiscovery
El autodiscovery viene muy bien cuando tienes varios hosts en la red y no quieres añadirlos de uno en uno. Para configurar esto, hay que hacerlo de la siguiente manera
Editar el archivo de configuración
vim /opt/librenms/config.php
#Configurar la default community
$config['snmp']['community'] = array("ichasco_community");
#Configurar la red
$config['nets'][] = "192.168.0.0/24";
Lanzar el escáner SNMP
cd /opt/librenms/ ./snmp-scan.php -r 192.168.0.0/24
Mapa de Red
El mapa de red, pinta un mapa con todos los dispositivos de la red. Actualmente las corelaciones las puede hacer mediante la MAC o mediante XDP
Para empezar editar el archivo de configuración y añadir lo siguiente
vim /opt/librenms/config.php
$config['network_map_items'] = array('mac','xdp');
$config['network_map_vis_options'] = '{
layout:{
randomSeed:2
},
"edges": {
"smooth": {
enabled: false
},
font: {
size: 12,
color: "red",
face: "sans",
background: "white",
strokeWidth:3,
align: "middle",
strokeWidth: 2
}
},
"physics": {
"forceAtlas2Based": {
"gravitationalConstant": -800,
"centralGravity": 0.03,
"springLength": 50,
"springConstant": 0,
"damping": 1,
"avoidOverlap": 1
},
"maxVelocity": 50,
"minVelocity": 0.01,
"solver": "forceAtlas2Based",
"timestep": 0.30
}
}';
Fuente:
http://docs.librenms.org/Installation/Installation-Ubuntu-1604-Apache/






