Cargando



Cómo instalar herramienta de monitoreo LibreNMS con Nginx en centOS 7

En este tutorial te explicamos todos los pasos para saber cómo instalar la herramienta de monitoreo LibreNMS con Nginx en Linux con centOS 7.


oct 16 2017 13:40
Profesional
Total de Apartados : 8
oct 16 2017 13:41

Sabemos muy bien que al usar distros de Linux tenemos la posibilidad de implementar sobre ellas cientos, o quizás miles, de aplicaciones y programas de código abierto las cuales, aparte de ser gratuitas, aumentaran de forma drástica las capacidades de nuestros equipos.

 

Existen aplicaciones desarrolladas para cada área de una organización y es por ello que hoy Solvetic analizará en detalle como instalar la herramienta LibreNMS y así permitir que como administradores tengamos a mano una poderosa herramienta de análisis y monitoreo permitiéndonos así estar al tanto de todos los cambios que afecten a la distro sobre la cual estamos trabajando.

 

Qué es LibreNMS
LibreNMS es una herramienta de monitoreo de código abierta basada en PHP, MYSQL y SNMP. LibreNMS es un sistema de monitoreo de red el cual incluye todas las funciones para una amplia gama de hardware de red y sistemas operativos, incluidos FreeBSD, Cisco, Linux, HP y más.

 

Al usar LibreNMS tendremos las siguientes características:

  • Descubrimiento automático, ya que permite descubrir automáticamente toda la red usando CDP, FDP, LLDP, OSPF, BGP, SNMP y ARP
  • Alertas configurables, permitiéndonos recibir alertas a través de correo electrónico, irc, slack y más
  • Acceso a través de API para administrar, graficar y recuperar datos de su instalación
  • Posee un sistema de cobranza mediante el cual podemos generar facturas de ancho de banda para los puertos de la red según el uso o la transferencia
  • Cuenta con actualizaciones automáticas
  • Altos niveles de escalabilidad
  • Posee aplicaciones para Android e iOS
  • Amplio soporte de dispositivos
  • Interfaz de usuario web amigable para dispositivos móviles
  • Agente de Unix
  • Puede ser integrado con NfSen, collectd, SmokePing, RANCID y Oxidized
  • Admite los métodos de autenticación de MySQL, HTTP, LDAP, Radius y Active Directory

 

Requisitos previos
Para instalar y usar LibreNMS será necesario contar con lo siguiente:

 


1. Instalación de los paquetes requeridos Linux


Antes de instalar LibreNMS en el CentOS 7, será necesario instalar algunos paquetes, incluidos ImageMagick, rrdtool, SNMP, git y más. Estos paquetes podrán ser instalados con el siguiente comando:
yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

 

Una vez concluida la instalación veremos lo siguiente:

 

 


2. Cómo instalar servidor Nginx


Nginx [engine x] es un servidor HTTP y proxy inverso, un servidor proxy de correo y un servidor proxy TCP / UDP genérico, escrito originalmente por Igor Sysoev. Durante mucho tiempo, se ha ejecutado en muchos sitios rusos muy cargados, incluidos Yandex, Mail.Ru, VK y Rambler y actualmente se usa como servidor HTTP a nivel mundial.

 

Paso 1

Antes de instalar Nginx, debemos instalar los repositorios epel para la instalación del servidor web Nginx. El repositorio EPEL (Paquetes adicionales para Enterprise Linux) es un repositorio adicional para OS basado en RPM, incluido CentOS 7. Ejecutaremos lo siguiente:
yum -y install epel-release

 

Paso 2

Ahora procedemos con la instalación del servidor Nginx con el siguiente comando:
yum -y install nginx

 

Paso 3

Una vez instalado Nginx en CentOS 7 veremos lo siguiente:

 

 

Paso 4

Después de la instalación de Nginx en CentOS 7, iniciaremos el servicio y lo habilitaremos para que se ejecute automáticamente durante el arranque mediante los siguientes comandos de systemctl:
systemctl start nginx
systemctl enable nginx

 

Paso 5

Por lo tanto, el servidor web Nginx se ha instalado en el sistema desde el repositorio EPEL y podemos comprobarlo ejecutando la siguiente línea:
netstat -plntu

 

Allí veremos los puertos mediante los cuales nos conectaremos con Nginx.

 


3. Cómo instalar y configurar de PHP-FPM

 

Paso 1

Para este caso, usaremos la versión 7 de PHP-FPM para la instalación de LibreNMS. Todos los paquetes de PHP 7 para CentOS 7 están disponibles en el repositorio de terceros, y haremos uso de la versión de PHP 7 del repositorio 'webtatic'.
Para ello, en primer lugar adicionaremos el repositorio webtático PHP 7 al sistema usando el siguiente comando rpm:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

 

Paso 2

Luego, instalaremos PHP 7 y todas las extensiones necesarias del repositorio húmedo usando yum:
yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt

 

Paso 3

Una vez descargadas e instaladas, actualizaremos el repositorio PEAR e instalaremos algunas extensiones PEAR (Extensión PHP y Repositorio de aplicaciones) usando el comando pear:
pear channel-update pear.php.net
pear install Net_IPv4-1.3.4
pear install Net_IPv6-1.2.2b2

 

A continuación, configuraremos PHP-FPM para la instalación de LibreNMS.

 

Paso 4

En primer lugar será necesario definir la zona horaria predeterminada en el archivo php.ini y asegurarnos de que la zona horaria coincida con la zona horaria actual usada por el sistema. Podremos verificar la zona horaria actual utilizada por su sistema a través del siguiente comando:
timedatectl

 

Paso 5

Una vez definamos la zona horaria procedemos a editar el archivo php.ini en la siguiente ruta: /etc/php.ini, esto lo podemos hacer con cualquier editor como nano o vim:
nano /etc/php.ini
En el archivo que será desplegado realizaremos los siguientes cambios:

 

Descomentaremos la línea date.timezone y agregaremos la zona desplegada por el comando timedatectl

 

 

Descomentaremos la línea cgi.fix_pathinfo y asignamos su valor en cero (0)

 

Guardamos los cambios usando la combinación de teclas Ctrl + O y salimos del editor usando Ctrl + X.

 

Paso 6

El siguiente paso consiste en definir cómo se ejecuta PHP-FPM en el sistema. En este caso, PHP-FPM se ejecutará bajo el archivo 'sock' en lugar del puerto del servidor. Edite el archivo 'www.conf' con nano para configurar PHP-FPM:
nano /etc/php-fpm.d/www.conf
Allí cambiaremos la línea listen, la cual tiene el valor por defecto es 127.0.0.1:9000, a lo siguiente:
listen = /var/run/php-fpm/php7.0-fpm.sock

 

Paso 7

En el mismo archivo descomentaremos las siguientes líneas. Guardamos los cambios en el servidor.
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
PHP-FPM ya está completo, podremos iniciar el servicio y habilitarlo para que se ejecute automáticamente en el arranque mediante los siguientes comandos:
systemctl start php-fpm
systemctl enable php-fpm
Comprobaremos que PHP-FPM se ejecuta bajo el archivo de sock esto puede verificarse con el comando netstat:
netstat -pl | grep php

 


4. Cómo instalar y configurar MariaDB

 

Paso 1

LibreNMS está haciendo uso de la base de datos MySQL para almacenar todos los datos. En este caso, usaremos la versión de la base de datos MariaDB la cual está disponible en el repositorio, y será necesario instalar y agregar alguna configuración para la instalación de LibreNMS, incluida la adición de la base de datos y el usuario para LibreNMS.

 

Instalaremos MariaDB ejecutando lo siguiente:

yum -y install mariadb mariadb-server

 

Paso 2

Una vez instalado, iniciaremos el servicio MariaDB y lo habilitaremos para que se inicie automáticamente en el arranque:
systemctl start mariadb
systemctl enable mariadb

 

Paso 3

Podremos comprobar el servicio con su respectivo puerto ejecutando lo siguiente:
netstat -plintu

 

Paso 4

Ahora debemos configurar la contraseña de root de MariaDB usando el comando 'mysql_secure_installation': En las preguntas desplegadas responderemos lo siguiente:
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

 

De esta forma MariaDB ha sido instalado.

 

Paso 5

El siguiente paso consiste en crear una nueva base de datos y un nuevo usuario para LibreNMS. Inicie sesión en la línea de comandos del shell mysql usando el cliente mysql y con la nueva contraseña asignada:
mysql -u root -p
Cree una nueva base de datos llamada 'librenms', un nuevo usuario 'librenms' con contraseña 'password123'
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
Salimos de MariaDB ejecutando el comando exit.

 

 

 

 


5. Cómo configurar MySQL


Ahora necesitamos editar el archivo my.cnf para agregar una nueva configuración mysql. Editaremos el archivo /etc/my.cnf usando nano:
nano /etc/my.cnf
En el archivo desplegado pegaremos lo siguiente bajo la sección [mysqld]:
innodb_file_per_table=1
 sql-mode=""
 lower_case_table_names=0

 

Guardamos los cambios. Ahora reiniciaremos el servicio de MariaDB ejecutando lo siguiente:

systemctl restart mariadb

6. Cómo descargar y configurar LibreNMS


Con todo lo anterior configurado, el siguiente paso consiste en preparar el sistema para LibreNMS y para ello realizaremos lo siguiente.

 

Paso 1

En este punto crearemos un nuevo usuario del sistema llamado 'librenms', luego definiremos el directorio de inicio para el usuario en el directorio /opt/librenms y finalmente agregaremos el usuario librenms al grupo nginx:
useradd librenms -d /opt/librenms -M -rusermod -a -G librenms nginx
Una vez creado el usuario y agregado al grupo respectivo, iremos al directorio /opt/ y descargaremos el código fuente LibreNMS usando el comando git clone de la siguiente forma:
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms nginx

 

Paso 2

Crearemos un nuevo directorio para los registros de LibreNMS y los archivos rrd:
mkdir -p /opt/librenms/logs/
mkdir -p /opt/librenms/rrd/
chmod 775 /opt/librenms/rrd/

 

Ahora cambiaremos la propiedad de todos los archivos y directorios en el directorio /opt/librenms al usuario y grupo librenms ejecutando lo siguiente:

chown -R librenms:librenms /opt/librenms/

7. Cómo configurar el host virtual de LibreNMS


LibreNMS es una aplicación basada en la Web y hasta este punto estamos usando un servidor web Nginx para alojarlo.
Crearemos un nuevo archivo de host virtual librenms.conf en el directorio nginx conf.d ejecutando lo siguiente:
nano /etc/nginx/conf.d/librenms.conf
En este nuevo archivo pegaremos lo siguiente:
server {

	 # Add your own domain name
	 listen	  80;
	 server_name librenms.irsyadf.me;

	 # LibreNMS Webroot directory
	 root	    /opt/librenms/html;
	 index	   index.php;

	 # LibreNMS logs
	 access_log  /opt/librenms/logs/access_log;
	 error_log   /opt/librenms/logs/error_log;
	
	 # Enabling Gzip compression on Nginx
	 charset utf-8;
	 gzip on;
	 gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
	
	 location / {
		 try_files $uri $uri/ /index.php?$query_string;
	 }
	
	 location /api/v0 {
		 try_files $uri $uri/ /api_v0.php?$query_string;
	 }

	 # PHP-FPM handle all .php files requests
	 location ~ \.php {
		 include fastcgi.conf;
		 fastcgi_split_path_info ^(.+\.php)(/.+)$;
		 fastcgi_pass unix:/var/run/php-fpm/php7.0-fpm.sock;
	 }

	 location ~ /\.ht {
		 deny all;
	 }
 }

 

Podemos guardar los cambios usando las teclas Ctrl + O y salir del editor usando Ctrl + X. Ahora podemos probar la configuración de Nginx ejecutando lo siguiente:

nginx -t

 

Reiniciaremos el servicio de Nginx ejecutando:

systemctl restart nginx

8. Cómo configurar Firewall en CentOS 7


Debemos validar que los paquetes firewalld estén instalados en su sistema, en caso de no ser así, podremos instalar firewalld con el siguiente comando yum:
yum -y install firewalld
Una vez instalado, iniciaremos firewalld y lo habilitaremos para que se ejecute en el arranque con los siguientes comandos de systemctl:
systemctl start firewalld
systemctl enable firewalld
Una vez habilitado agregaremos las siguientes líneas para habilitar los respectivos servicios:
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-port=161/udp –permanent
Aplicamos los cambios recargando firewalld con el siguiente comando:
firewall-cmd –reload
Podemos listar las reglas para confirmar que los servicios han sido agregados de forma correcta:
firewall-cmd --list-all

 

Accederemos desde cualquier navegador ingresando la dirección IP del servidor, ingresaremos las credenciales y este será el entorno de LibreNMS:

 

 

Desde allí podremos realizar toda la gestión de los dispositivos asociados.

 

Te enseñamos cómo instalar y configurar Nginx en CentOS 7 de forma completa.


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X