GNU/Linux >> Tutoriales Linux >  >> Cent OS

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

LibreNMS es una herramienta de monitoreo de código abierto basada en PHP/MYSQL/SNMP. Es un sistema de monitoreo de red con todas las funciones que brinda soporte para una amplia gama de hardware de red y sistemas operativos, incluidos FreeBSD, Cisco, Linux, HP y más.

En este tutorial, le mostraremos cómo instalar y configurar LibreNMS utilizando Nginx como servidor web y MariaDB como base de datos. Usaremos el servidor CentOS 7 como nuestro servidor principal.

Lo que haremos

  1. Instalar los paquetes necesarios
  2. Instalar servidor web Nginx
  3. Instalar y configurar PHP-FPM
  4. Instalar y configurar MariaDB
  5. Descargar y configurar LibreNMS
  6. Instalación basada en web de LibreNMS
  7. Configuración final

Requisito previo

  • Servidor CentOS 7
  • Privilegios de raíz

Paso 1:instalar los paquetes necesarios

Antes de instalar LibreNMS en el servidor, necesitamos instalar algunos paquetes, incluido ImageMagick , herramientarrd , SNMP , git , y más. El siguiente comando debería hacer lo necesario:

yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

Si todo va bien, continúe con el siguiente paso.

Paso 2:instalar el servidor web Nginx

En este paso, instalaremos epel-repository para la instalación del servidor web nginx. El repositorio EPEL (Extra Packages for Enterprise Linux) es un repositorio adicional para sistemas operativos basados ​​en rpm, incluido CentOS 7.

Instale el repositorio EPEL usando el yum comando a continuación.

yum -y install epel-release

Ahora instala nginx.

yum -y install nginx

Después de la instalación de nginx, inicie el servicio y permita que se ejecute automáticamente en el momento del arranque usando el siguiente systemctl comandos.

systemctl start nginx
systemctl enable nginx

Entonces, el servidor web Nginx se instaló en el sistema desde el repositorio de EPEL.

Paso 3:instalar y configurar PHP-FPM

Antes de continuar, aquí hay información que vale la pena compartir:

Usaremos PHP-FPM versión 7 para la instalación de LibreNMS. Todos los paquetes de PHP 7 para CentOS 7 están disponibles en un repositorio de terceros y utilizaremos la versión de PHP 7 del repositorio 'webtatic'.

Así que comencemos.

Agregue el repositorio webtatic de PHP 7 al sistema usando el siguiente comando rpm.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Instale PHP 7 y todas las extensiones necesarias desde el repositorio de wetatic usando yum.

yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt

Ahora actualice el repositorio de PEAR e instale algunas extensiones de PEAR (repositorio de aplicaciones y extensiones de PHP) usando pear comando.

pear channel-update pear.php.net
pear install Net_IPv4-1.3.4
pear install Net_IPv6-1.2.2b2

Entonces, de esta manera, puede instalar todos los paquetes PHP necesarios.

A continuación, configure PHP-FPM para la instalación de LibreNMS. Necesitamos definir la zona horaria predeterminada en el archivo php.ini y asegurarnos de que la zona horaria coincida con la zona horaria actual utilizada por el sistema. Puede verificar la zona horaria actual utilizada por su sistema a través del siguiente comando.

timedatectl

La siguiente captura de pantalla muestra el comando anterior en acción:

Así que estamos usando 'Europa/París ' zona horaria.

Ahora, edite el archivo '/etc/php.ini' usando vim.

vim /etc/php.ini

A continuación, elimine el comentario de la línea 'date.timezone' y proporcione un valor con la zona horaria del servidor 'Europa/París'.

data.timezone = Europe/Paris

Del mismo modo, elimine el comentario de la línea cgi y cambie el valor a '0 '.

cgi.fix_pathinfo=0

Eso es todo. Ahora guarde los cambios y salga del editor.

A continuación, debemos definir cómo se ejecuta PHP-FPM en el sistema. En nuestro caso, PHP-FPM se ejecutará bajo el archivo 'sock' en lugar del puerto del servidor.

Edite el archivo 'www.conf' con vim para configurar el PHP-FPM.

vim /etc/php-fpm.d/www.conf

Cambie la línea del puerto 'escuchar' al archivo sock como se muestra a continuación.

listen = /var/run/php-fpm/php7.0-fpm.sock

Quite el comentario de la línea 'escuchar' para el propietario, el grupo y el permiso del archivo sock como configuración a continuación.

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Eso es todo. Ahora guarde los cambios y salga del editor.

Así que la configuración de PHP-FPM ahora está completa. Inicie el servicio y permita que se ejecute automáticamente en el momento del arranque con los siguientes comandos.

systemctl start php-fpm
systemctl enable php-fpm

Ahora PHP-FPM se ejecuta bajo el archivo sock. Puede verificarlo con el comando netstat.

netstat -pl | grep php

Asegúrese de tener el resultado del archivo '/var/run/php-fpm/php7.0-fpm.sock'.

Paso 4:instalar y configurar MariaDB

LibreNMS está utilizando la base de datos MySQL para almacenar todos los datos. Para esta guía, utilizaremos la versión de la base de datos MariaDB. Está disponible en el repositorio y necesitamos 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.

Instale MariaDB usando el comando yum a continuación.

yum -y install mariadb mariadb-server

Inicie el servicio MariaDB y permita que se inicie automáticamente en el momento del arranque.

systemctl start mariadb
systemctl enable mariadb

Ahora configure la contraseña raíz de MariaDB usando el comando 'mysql_secure_installation' a continuación.

mysql_secure_installation

Se le preguntará acerca de la nueva contraseña raíz para la base de datos MariaDB junto con otras preguntas.

Escriba 'Y' y presione Entrar para confirmar.

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

Así que se ha instalado MariaDB. Ahora necesitamos crear una nueva base de datos y un nuevo usuario para LibreNMS. Inicie sesión en la línea de comandos de mysql shell usando el cliente mysql y con su nueva contraseña.

mysql -u root -p

Cree una nueva base de datos llamada 'librenms ', un nuevo usuario 'librenms ' con contraseña 'hakase-labs123 '.

Créelo todo utilizando las consultas de MySQL a continuación.

CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;

Se ha creado un nuevo usuario y base de datos para la instalación de LibreNMS.

Ahora necesita editar el archivo my.cnf para agregar una nueva configuración de mysql. Edite el archivo '/etc/my.cnf' usando vim.

vim /etc/my.cnf

Pegue la siguiente configuración adicional en '[mysqld] ' sección.

innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0

Guarde y salga de vim, y luego reinicie el servidor mariadb.

systemctl restart mariadb

Paso 5:descarga y configura LibreNMS

En este paso, configuraremos el sistema para la instalación de LibreNMS.

- Agregar usuario y descargar el código fuente de LibreNMS

Cree un nuevo usuario del sistema llamado 'librenms', luego defina el directorio de inicio para el usuario en el directorio '/opt/librenms' y finalmente agregue el usuario 'librenms' al grupo 'nginx'.

useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms nginx

Vaya al directorio '/opt/' y descargue el código fuente de LibreNMS usando git clone comando como se muestra a continuación.

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

Cree un nuevo directorio para registros de LibreNMS y archivos rrd.

mkdir -p /opt/librenms/logs/
mkdir -p /opt/librenms/rrd/
chmod 775 /opt/librenms/rrd/

Ahora cambie la propiedad de todos los archivos y directorios en el directorio '/opt/librenms' al usuario y grupo 'librenms'.

chown -R librenms:librenms /opt/librenms/


- Configurar host virtual LibreNMS

LibreNMS es una aplicación basada en web y estamos usando un servidor web Nginx para alojarla.

Cree un nuevo archivo de host virtual 'librenms.conf' en el directorio nginx 'conf.d'.

vim /etc/nginx/conf.d/librenms.conf

Pegue la configuración a continuación.

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;
    }
}

Eso es todo. Ahora guarda y sal de Vim.

Pruebe la configuración de nginx y asegúrese de que no haya ningún error. Luego reinicie el servidor web.

nginx -t
systemctl restart nginx

- Configuración del cortafuegos

Asegúrese de que el firewalld Los paquetes están instalados en su sistema. Si no, puede instalar firewalld usando el siguiente comando yum.

yum -y install firewalld

Iniciar cortafuegos y habilítelo para que se ejecute en el momento del arranque usando los siguientes comandos systemctl.

systemctl start firewalld
systemctl enable firewalld

Abra un nuevo puerto HTTP, HTTPS y SNMP 161/udp con el comando firewall-cmd como se muestra a continuación.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-port=161/udp --permanent

Aplique la configuración recargando firewalld y verifique todos los servicios.

firewall-cmd --reload
firewall-cmd --list-all

Asegúrese de que los servicios HTTP y HTTPS estén en la lista.

Paso 6:instalación basada en web de LibreNMS

Abra su navegador web y escriba la URL de LibreNMS en la barra de direcciones.

http://librenms.hakase-labs.me/

Será redirigido a la página de instalación 'install.php'.

- Comprobar la compatibilidad con el módulo PHP

Asegúrese de que todos los módulos y extensiones php necesarios estén instalados en el sistema.

Luego haga clic en 'Siguiente etapa' para continuar.

- Configuración de la base de datos

Escriba los detalles de la base de datos a continuación:

  1. Usuario de base de datos:'librenms '
  2. Nombre de la base de datos:'librenms '
  3. Pase de base de datos:'hakase-labs123 '

Y haga clic en 'Siguiente etapa' para continuar.

- Importar base de datos MySQL

No cierre la página de instalación ya que mostrará la importación de la base de datos. Asegúrese de que no haya errores.

Cuando se complete el proceso, haga clic en 'Ir a Agregar usuario' para agregar un nuevo usuario administrador.

- Añadir usuario administrador

Escriba su usuario administrador, correo electrónico y contraseña.

Haga clic en 'Agregar usuario' para continuar con la instalación.

- Generar archivo de configuración

Haga clic en el botón 'Generar configuración' y verá una página similar a la siguiente.

Copie el código php que está en el cuadro y cree un nuevo archivo 'config.php' en el directorio '/opt/librenms/'.

cd /opt/librenms/
vim config.php

Pegue en el nuevo archivo el código que acaba de copiar y luego guarde y salga del editor. Ahora cambie los permisos de propiedad del archivo config.php al usuario y grupo 'librenms'.

chown librenms:librenms config.php

Regrese a su navegador y haga clic en el botón 'Finalizar instalación' presente en la parte inferior de la página. Verá un mensaje de bienvenida similar al siguiente.

En esta etapa, hemos terminado con la instalación basada en web. Regrese a la terminal/shell y agregue más configuración.

Paso 7 - Configuración final

En este paso, agregaremos alguna configuración para nuestra instalación de LibreNMS.

- Definir comando fping

Defina el comando 'fping' editando el archivo de configuración de LibreNMS. Vaya al directorio '/opt/librenms/' y edite el archivo config.php usando el editor vim.

cd /opt/librenms/
vim config.php

Agregue la siguiente línea al final del archivo.

$config['fping'] = "/usr/sbin/fping";

Guarde y salga del editor.

- Configuración SNMP

Haga una copia de seguridad del archivo snmp.conf predeterminado en el directorio '/etc/snmp/' y copie uno nuevo del directorio librenms.

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.asli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

Edite la nueva configuración.

vim /etc/snmp/snmpd.conf

Cambie el texto 'RANDOMSTRINGGOESHERE' con su propio nombre de comunidad como se muestra a continuación.

com2sec readonly  default         hakaselabs

Eso es todo. Guardar y salir de Vim.

A continuación, descargue el librenms-agent script para detectar qué sistema operativo ha agregado. Si agrega el sistema operativo Linux, el script también detectará la distribución específica de Linux.

Descarga el script usando curl y hazlo ejecutable.

curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro

Ahora reinicie el servicio SNMP usando el siguiente comando systemctl.

systemctl restart snmpd

- Configurar Logrotate para LibreNMS

LibreNMS proporciona configuración para la configuración de logrotate, y está en el directorio '/opt/librenms/misc'.

Copie la muestra de configuración en el directorio '/etc/logrotate.d'.

cp misc/librenms.logrotate /etc/logrotate.d/librenms

- Configuración del cronjob de LibreNMS

Vaya al directorio 'opt/librenms' y copie el archivo de script crontab 'librenms.nonroot.cron' en el directorio 'cron.d'.

cd /opt/librenms/
cp librenms.nonroot.cron /etc/cron.d/librenms

Espere unos minutos para que el script se ejecute automáticamente.

- Validar la configuración de LibreNMS

Para verificar la instalación, use validate.php texto. Vaya al directorio '/opt/librenms/' y ejecute el script.

cd /opt/librenms/
./validate.php

Suponiendo que no encuentre errores, debería ver un resultado similar al siguiente:

Esto completa la instalación de LibreNMS con el servidor web Nginx en CentOS 7.


Cent OS
  1. Cómo instalar WordPress con Nginx en CentOS 7

  2. Cómo instalar phpMyAdmin con Nginx en CentOS 7

  3. Cómo instalar la herramienta de monitoreo Cacti en CentOS 8 / RHEL 8

  4. Cómo instalar phpMyAdmin con Nginx en CentOS 7 / RHEL 7

  5. Cómo instalar Sitemagic CMS en CentOS 7 – Con Nginx

Cómo instalar la herramienta de monitoreo de recursos Bpytop en CentOS 8

Cómo instalar Nginx con ngx_pagespeed en CentOS

Cómo instalar Nginx con PHP-FastCGI en CentOS 6

Cómo instalar Magento con Nginx en CentOS 7

Cómo instalar la herramienta de monitoreo del sistema Glances en CentOS 7

Cómo instalar Laravel con Nginx en CentOS 8