Librenms una herramienta de monitoreo de red totalmente destacada para Linux

Librenms una herramienta de monitoreo de red totalmente destacada para Linux

Librenms es un sistema de monitoreo de red basado en PHP de código abierto, potente y rico en funciones que utiliza el protocolo SNMP. Admite una amplia gama de sistemas operativos que incluyen Linux, FreeBSD, así como dispositivos de red que incluyen Cisco, Juniper, Brocade, Foundry, HP y muchos más.

Características de Librenms:

  1. Descubre automáticamente una red completa utilizando estos protocolos: CDP, FDP, LLDP, OSPF, BGP, SNMP y ARP.
  2. Tiene una interfaz de usuario web amigable con los dispositivos móviles, con paneles personalizables.
  3. Admite un agente de Unix.
  4. Admite la escala horizontal para expandirse con su red.
  5. Admite un sistema de alerta altamente flexible y personalizable; envía notificaciones a través del correo electrónico, IRC, Slack y más.
  6. Admite una API para administrar, graficar y recuperar datos de su sistema.
  7. Ofrece un sistema de facturación de tráfico.
  8. También es compatible con las aplicaciones de Android e iOS que ofrecen funcionalidades centrales.
  9. Admite la integración con NFSEN, Collectd, Smoking, Rancid y Oxidised.
  10. Admite múltiples métodos de autenticación como MySQL, HTTP, LDAP, RADIUS y Active Directory.
  11. Permite la actualización automática y muchas otras características.

Una demostración en línea está disponible para que lo pruebe antes de instalar Librenms en sistemas Linux.

URL de demostración: https: // demostración.librenms.org/ Nombre de usuario: demo Contraseña: demo 

Entorno de prueba:

  1. Ubuntu 16.04 con pila Lemp
  2. CentOS 7 con pila Lemp

En este tutorial aprenderemos a instalar Herramienta de monitoreo de red de Librenms en un recién instalado Ubuntu o Cento Linux (las mismas instrucciones también funcionan Debian y Rhel distribuciones basadas).

NOTA: Todas estas instrucciones en este artículo deben ejecutarse como el raíz El usuario, si no lo está, use el comando sudo para obtener privilegios de usuario root.

Paso 1: Instale los paquetes requeridos

1. Primero inicie instalando todos los paquetes requeridos utilizando el Administrador de paquetes predeterminado como se muestra.

En Ubuntu/Debian

$ sudo apt instalación compositor fping git graphviz imagemagick mariadb-client mariadb-server mtr-stiny nginx-full nmap php7.0-Cli PHP7.0-CURL PHP7.0-FPM PHP7.0-GD PHP7.0-MCRYPT PHP7.0-mysql php7.0-SNMP PHP7.0-xml PHP7.0-zip python-memcache python-mysqldb rrdtool snmp snmpd whois 

En CentOS/RHEL

# yum instalación EPEL -Release # RPM -UVH https: // Mirror.webtático.com/yum/el7/webtatic-libe.rpm # yum instalación compositor cronie fping git imagemagick jwhois mariadb mariadb-server mtr mysql-python net-snmp net-snmp-usils nginx nmap php72w php72w-cli php72w-common php72w-curl php72w-fpm php72w php72wwmon php72w-cure PHP72W-SNMP PHP72W-XML PHP72W-ZIP Python-Memcached Rrdtool 

2. Una vez que se instalan todos los paquetes, nginx, Php-FPM, mariada y SNMP Los servicios se iniciarán y habilitarán para iniciar automáticamente en el momento del arranque (este es normalmente el caso con Ubuntu), de lo contrario, puede ejecutar los comandos a continuación para iniciarlos y habilitarlos.

------------ En Debian/Ubuntu ------------ $ sudo systemctl nginx inicio php7.0-FPM MySQL SNMP $ sudo SystemCTL Habilitar Nginx Php7.0-FPM MySQL SNMP ------------ En CentOS/RHEL ------------ # SystemCTL Nginx Inicio PHP-FPM Mariadb SNMPD # SystemCTL Habilitar NGINX PHP-FPM MARIADB SNMPD 

Paso 2: Instalar la herramienta de monitoreo de Librenms

3. A continuación, cree un usuario del sistema llamado librenms, con el comando UserAdd; donde el -METRO Flag deshabilita la creación del directorio de inicio del usuario, y -riñonal habilita la creación de una cuenta del sistema. Luego agregue el librenms usuario para el grupo datos www (en Ubuntu) o nginx (en Cento) como sigue.

------------ En Debian/Ubuntu ------------ $ sudo useradd librenms -d /opt /librenms -m -r $ sudo usermod -a -g librenms www -data ------------ En CentOS/RHEL ------------ # UserAdd Librenms -D /Opt /Librenms -M -R # usermod -a -g librenms nginx 

4. Luego instalar Librenms a través de compositor comando como se muestra.

------------ En Debian/Ubuntu ------------ $ cd /opt $ sudo composer create-project --no-dev --ekeeke-vcs librenms /librenms librenms dev-master ------------ En CentOS/RHEL ------------ # cd /opt # composer create-project-no-dev --ekeeke-vcs librenms /librenms librenms dev-master 

Paso 3: Crear base de datos de Librenms

5. Antes de que pueda comenzar a usar el Mariada servidor, debe asegurar su instalación, ejecutar el script de seguridad proporcionado en el paquete binario. Le preguntará establecer una contraseña de root, eliminar a los usuarios anónimos, deshabilitar el inicio de sesión raíz de forma remota y eliminar la base de datos de prueba.

Puede iniciar el script emitiendo el siguiente comando y responder todas las preguntas con Si.

$ sudo mysql_secure_installation [on Debian/Ubuntu] # mysql_secure_installation [en CentOS/RHEL] 

6. Luego inicie sesión en Mariada base de datos para crear una base de datos para librenms (recuerde usar una contraseña fuerte/segura en un entorno de producción).

$ sudo mysql -u root -p Mariadb [(ninguno)]> Crear base de datos Librenms de caracteres Conjunto UTF8 COLLATE UTF8_UNICODE_CI; Mariadb [(ninguno)]> CREAR USUARIO 'librenms'@' localhost 'identificado por'[correo electrónico protegido]!#@%$ libre'; Mariadb [(ninguno)]> Otorgar todos los privilegios en librenms.* A 'librenms'@'localhost'; Mariadb [(ninguno)]> Privilegios de descarga; Mariadb [(ninguno)]> salida 

7. Después, deshabilite Mysql Modo estricto por ahora (la compatibilidad con el modo estricto MySQL aún no se ha agregado).

$ sudo vim/etc/mysql/mariadb.confusión.servidor de d/50.CNF [ Debian/Ubuntu] # vi /etc /mi.CNF [ CentOS/RHEL] 

Dentro de [mysqld] Sección por favor agregue.

innodb_file_per_table = 1 Lower_case_table_names = 0 

Luego reinicie el servidor de la base de datos para efectuar los cambios.

$ sudo systemctl reiniciar mysql [en Debian/Ubuntu] # SystemCtl reiniciar mariadb [en CentOS/RHEL] 

Paso 4: Configurar e iniciar PHP-FPM

8. A continuación, configure su fecha.zona horaria en el php.ini a su zona horaria actual, por ejemplo "África/Kampala", Como se muestra en la siguiente captura de pantalla.

------------ En Debian/Ubuntu ------------ $ sudo vim/etc/php/7.0/fpm/php.ini $ sudo vim/etc/php/7.0/CLI/PHP.ini ------------ En CentOS/RHEL ------------ # vi /etc /php.ini 
Establecer la zona horaria en el archivo PHP

9. Siguiente habilitar el mechón Módulo php en Ubuntu y reiniciar Php-FPM como se muestra.

------------ En Debian/Ubuntu ------------ $ sudo phpenmod mcRypt $ sudo systemctl reiniciar PHP7.0-FPM 

10. En CentOS/RHEL Necesita hacer los siguientes cambios en Php-FPM archivo de configuración.

# vi /etc /php-fpm.D/www.confusión 

Hacer los siguientes cambios.

; user = apache user = nginx group = apache; Mantenga el grupo como apache; escuchar = 127.0.0.1: 9000 Listen =/var/run/php-fpm/php7.2-FPM.calcetín escucha.propietario = Nginx escuchar.grupo = nginx escuchar.modo = 0660 

11. Reanudar Php-FPM Servicio como se muestra.

# SystemCTL reiniciar PHP-FPM 

Paso 5: Configurar Nginx para librenms

12. En este paso, debe configurar un Nginx bloque de servidor para librenms Para acceder a la interfaz de usuario web. Crear un .confusión Archivo para ello como se muestra.

$ sudo vim/etc/nginx/conf.D/Librenms.confirmar Debian/Ubuntu] # vi/etc/nginx/conf.D/Librenms.confirmar CentOS/RHEL] 

Agregue lo siguiente configuración, editar nombre del servidor según sea necesario.

servidor escuchar 80; nombre del servidor librenms.ejemplo.comunicarse; root/opt/librenms/html; índice índice.php; 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; ubicación / try_files $ uri $ uri / / index.php?$ QUERY_STRING;  Ubicación /API /V0 try_files $ uri $ uri / /api_v0.php?$ QUERY_STRING;  ubicación ~ \ \.PHP Incluya Fastcgi.conf; fastcgi_split_path_info ^(.+\.php) (/.+ps fastcgi_pass unix:/var/run/php/php7.0-FPM.calcetín;  ubicación ~ /\.ht negar todo;  

13. Luego guarde y salga del archivo. También elimine la configuración de bloque de servidor predeterminada y reinicie el servidor NGINX.

------------ En Debian/Ubuntu ------------ $ sudo rm/etc/nginx/sites-habilitado/predeterminado $ sudo systemctl reiniciar nginx ------------ En CentOS/RHEL ------------ # SystemCTL reiniciar nginx 

NOTA: En CentOS/RHEL, necesitará deshabilitar el sitio por defecto Sección, si este es el único sitio que está alojando. Eliminar la sección del servidor desde /etc/nginx/nginx.confusión archivo.

14. También en CentOS/RHEL, Necesitas instalar el herramienta de política para Selinux y configurar el contextos necesitado por librenms utilizando los siguientes comandos.

------------ En CentOS/RHEL ------------ # yum install PolicyCoreutils -Python # semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/logs (///.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t'/opt/libenms/logs (/.*)?' # Restorecon -rfvv/opt/librenms/logs/ # semanage fcontext -a -t httpd_sys_content_t'/opt/librenms/rrd (//.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t'/opt/libenms/rrd (/.*)?' # restaurecon -rfvv/opt/librenms/rrd/ # setsebool -p httpd_can_sendmail = 1 # setsebool -p httpd_execmem 1 

15. Permitir aturdimiento creando el archivo http_fping.TT con los siguientes contenidos.

En CentOS/RHEL
módulo http_fping 1.0; requiere type httpd_t; Capacidad de clase net_raw; clase rawip_socket getopt create setopt write Read;  #============= Httpd_t =============== Permitir httpd_t self: capacidad net_raw; Permitir httpd_t self: rawip_socket getopt create setopt write Read; 

dieciséis. Luego ejecuta estos comandos.

------------ En CentOS/RHEL ------------ # checkmodule -m -m -o http_fping.mod http_fping.TT # SEMODULE_PACKAGE -O http_fping.pp -m http_fping.mod # semodule -i http_fping.páginas 

17. Si estás usando firewall en CentOS/RHEL, Habilitar el acceso HTTP/HTTPS a través del firewall.

------------ En CentOS/RHEL ------------ # firewall-cmd --zone público --add-service http # firewall-cmd --Permanent --zone público --add-service http # firewall-cmd --zone public --add-service https # firewall-cmd- -Permanent-Zone Public-Adds-Service HTTPS 

Paso 6: Configurar SNMPD para librenms

18. Ahora use la configuración SNMP de muestra para crear su archivo de configuración y abrirlo para la edición, de la siguiente manera.

------------ En Debian/Ubuntu ------------ $ sudo cp/opt/librenms/snmpd.confusión.Ejemplo/etc/snmp/snmpd.conf $ sudo vim/etc/snmp/snmpd.confusión ------------ En CentOS/RHEL ------------ # cp/opt/librenms/snmpd.confusión.Ejemplo/etc/snmp/snmpd.conf # vi/etc/snmp/snmpd.confusión 

Encuentra la cadena RandomstringgoSe y cámbielo a su propia cadena comunitaria como se muestra en la captura de pantalla.

Establecer una cadena SNMP

19. A continuación, descargue un script de shell en su sistema, que ayuda a detectar qué sistema operativo y si es Linux, detectará qué distribución de Linux está utilizando:

------------ En Debian/Ubuntu ------------ $ sudo curl -o/usr/bin/distribuy https: // raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distribución $ sudo chmod +x/usr/bin/distribuy $ sudo systemctl reiniciar SNMPD ------------ En CentOS/RHEL ------------ # curl -o/usr/bin/distribuy https: // raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distribución # chmod +x/usr/bin/distribución # systemctl reiniciar SNMPD 

Paso 7: Crear cron y configurar logrotate

20. Ahora ejecute el comando a continuación para configurar un trabajo cron para Librenms.

# cp/opt/librenms/librenms.sin raiz.cron /etc /cron.D/Librenms 

21. A continuación, todos Librenms Los registros se registran en /Opt/Librenms/Logs, Puede necesitar configurar estos registros para que se roten automáticamente, utilizando el archivo de configuración de Logrotate proporcionado, como este.

# CP/Opt/Librenms/Misc/Librenms.logrotato /etc /logrotato.D/Librenms 

Luego establezca los permisos apropiados en el directorio raíz de instalación de Librenms y los archivos de registro.

------------ En Debian/Ubuntu ------------ $ sudo chown -r librenms: librenms/opt/librenms $ sudo setfacl -d -m g :: rwx/opt/librenms/rrd/opt/librenms/logs $ sudo setfacl -r -m g :: rwx/opt/librenms/rrd /Opt/Librenms/Logs ------------ En CentOS/RHEL ------------ # chown -r librenms: librenms/opt/librenms # setfacl -d -m g :: rwx/opt/librenms/rrd/opt/librenms/logs # setfacl -r -m g :: rwx/opt/librenms/rrd/opt/ librenms/registros 

Paso 8: Instalador web de Access Librenms

22. A continuación, use la siguiente URL para acceder al instalador web y siga las instrucciones en pantalla.

http: // librenms.tecmenta.LAN/Instalar.php 

Para que esta dirección funcione en una máquina local, debe configurar un DNS local utilizando el archivo hosts (/etc/huéspedes), para fines de resolución o prueba de dominio local antes de ir en vivo.

192.168.43.31 Tecmint.LAN 192.168.43.31 librenms.tecmenta.lan 
Configuración de DNS local para el dominio

23. Verá la página de bienvenida de instalación como se muestra en la siguiente captura de pantalla, haga clic en Siguiente etapa continuar.

Instalador web de Librenms

24. Luego ingrese la configuración (host de base de datos, puerto, nombre de usuario y contraseña de usuario) para la base de datos de Librenms y haga clic en Siguiente etapa para proceder.

Configuración de la base de datos de Librenms

25. El instalador web ahora comenzará a importar la base de datos MySQL, esto llevará algún tiempo. Tenga en cuenta que el proceso intentará detenerse en ciertos puntos, simple haga clic en Rever Continuar con el proceso de importación.

Importación de la base de datos de Librenms

26. Una vez que se completa la importación de la base de datos, debe ver el mensaje "La base de datos está actualizada!", Como se muestra en la captura de pantalla a continuación. Luego haga clic en GOTO Agregar usuario para proceder.

Base de datos de Librenms actualizada

27. A continuación, agregue un Librenms usuario, especifique el nombre de usuario, la contraseña y el correo electrónico, luego haga clic en Agregar usuario Para efectuar los cambios.

Agregar usuario de Librenms

28. Ahora haga clic en Crear el Librenms configuración para su sistema, haciendo clic en Generar configuración.

Generar la configuración de Librenms Configuración de librenms

29. Una vez que se genera la configuración, como se muestra en la pantalla de pantalla anterior, cótela y guárdela en el directorio raíz de su instalación, en un archivo llamado /opt/librenms/config.php.

# vi/opt/librenms/config.php 
Configuración de librenms
 

30. Guarde y cierre el archivo. Luego regrese al instalador web para continuar con el proceso de instalación, haciendo clic en Instalar acabado.

Finalizar la instalación de Librenms

31. Ahora tu Librenms La instalación está completa, puede hacer clic en "Valide su instalación y solucione cualquier problema", Debería aparecer la página de inicio de sesión.

Validar la instalación de Librenms

32. A continuación, ingrese sus credenciales de usuario para acceder a la página de validación.

Página de inicio de sesión de Librenms

33. Desde el proceso de validación de instalación, Librenms ha descubierto dos problemas, uno es que no se han agregado dispositivos (esta es una advertencia por ahora), y en segundo lugar, no hemos establecido el permiso apropiado en el archivo de configuración (/opt/librenms/config.php) que se agregó manualmente, como se muestra en la captura de pantalla a continuación.

Problemas de permiso de Librenms

Ahora ejecute el siguiente comando para establecer el permiso correcto en el archivo de configuración.

$ sudo chown -r librenms: librenms/opt/librenms/config.php 

34. Para agregar dispositivos, vaya a: http: // librenms.tecmenta.lan/addhost. Después de agregar dispositivos, puede ir a la página de inicio y agregar varios paneles.

Panel de Librenms

Eso es todo! Puede encontrar más información, incluida la instalación y la configuración en la documentación de Librenms en https: // docs.librenms.org/.

Librenms es un sistema de monitoreo de red totalmente destinado que admite una variedad de hardware de red. Esperamos que esta sea una guía de instalación lúcida, si tiene alguna pregunta, comuníquese con nosotros a través del formulario de comentarios a continuación.