Cómo instalar Icinga 2 e Icinga Web 2 en Ubuntu 16.04

Icinga 2 es un sistema de monitoreo de recursos de red de código abierto ampliamente utilizado, e Icinga Web 2 es la interfaz web oficial de Icinga 2.

En este tutorial, explicaré cómo instalarlos en un servidor Ubuntu 16.04.

Prerrequisitos

  • Una instancia de servidor Vultr Ubuntu 16.04 recientemente implementada.
  • Un usuario de sudo. Para obtener más información sobre cómo crear un usuario sudo en Ubuntu, consulte las instrucciones sobre Debian en otro tutorial de Vultr .

Paso 1: actualiza el sistema

Inicie sesión desde un terminal SSH como usuario de sudo y luego actualice el sistema al último estado estable utilizando los siguientes comandos:

sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now

Después del reinicio, use el mismo usuario de sudo para iniciar sesión.

Paso 2: instalar Apache

Instala Apache usando el siguiente comando:

sudo apt-get install apache2 -y

Elimine la página de bienvenida predeterminada de Ubuntu Apache:

sudo rm /var/www/html/index.html

Por motivos de seguridad, debe prohibir a Apache que exponga los archivos y directorios dentro del directorio raíz web /var/www/htmla los visitantes:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf

Inicie el servicio Apache e inícielo en el arranque:

sudo systemctl start apache2.service
sudo systemctl enable apache2.service

Paso 3: Configurar el firewall UFW

De manera predeterminada, el firewall UFW está deshabilitado en una instancia de servidor Vultr Ubuntu 16.04 recientemente implementada. Use los siguientes comandos para habilitar el firewall UFW y permitir el tráfico entrante de SSH, HTTP y HTTPS:

sudo ufw app list
sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"
sudo ufw enable

Paso 4: instalar MariaDB

4.1) Use el siguiente comando para instalar MariaDB:

sudo apt-get install mariadb-client mariadb-server -y

4.2) Inicie el servicio MariaDB:

sudo systemctl start mysql.service
sudo systemctl enable mysql.service

4.3) Asegure la instalación de MariaDB:

sudo /usr/bin/mysql_secure_installation

Durante el proceso interactivo, responda las preguntas una por una de la siguiente manera:

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
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

Nota : Reemplace <your-password>con su propia contraseña de root de MySQL.

4.4) Modifique el complemento de autenticación del rootusuario MySQL :

sudo mysql -u root -p

Use la contraseña de root de MariaDB que estableció anteriormente para iniciar sesión.

En el shell de MySQL:

UPDATE mysql.user SET authentication_string=PASSWORD('<your-password>'), plugin='mysql_native_password' WHERE user='root';
FLUSH PRIVILEGES;
EXIT;

Nota : Reemplace <your-password>con su propia contraseña de root de MySQL.

Paso 5: Instalar PHP

Instale PHP 7.0 y varias extensiones para Icinga 2 e Icinga Web 2:

sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-gd php7.0-intl php7.0-xml php7.0-ldap php7.0-mysql php7.0-pgsql php-imagick -y

Instale la versión actual de Composer:

cd
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Nota : los comandos anteriores pueden estar desactualizados en el futuro, por lo que siempre debe obtener la última versión del sitio web oficial de Composer .

Como una cuestión de conveniencia, mover el guión Compositor composer.pharde /usr/local/biny cambie su nombre composer:

sudo mv ~/composer.phar /usr/local/bin/composer

Instalar zip y descomprimir:

sudo apt-get install zip unzip -y

Instale el componente ZendFramework Db usando Composer:

composer require zendframework/zend-db

Luego, debe configurar la zona horaria adecuada para su máquina, que se puede determinar desde el sitio web oficial de PHP . Por ejemplo, si su instancia de servidor reside en el centro de datos Vultr Los Angeles, entonces el valor de la zona horaria es America/Los_Angeles.

Abra el archivo de configuración de PHP con el editor vi:

sudo vi /etc/php/7.0/apache2/php.ini

Encuentra la línea:

;date.timezone =

Cámbielo a:

date.timezone = America/Los_Angeles

Guardar y Salir:

:wq!

Reinicie el servicio Apache para que la nueva configuración surta efecto:

sudo systemctl restart apache2.service

Paso 6: Instale Icinga 2 y sus complementos

Configure el repositorio Icinga APT:

cd
wget -O - http://packages.icinga.org/icinga.key | sudo apt-key add -
sudo add-apt-repository 'deb http://packages.icinga.org/ubuntu icinga-xenial main'
sudo apt-get update

Instale Icinga 2 y varios complementos utilizando el repositorio Icinga APT:

sudo apt-get install icinga2 nagios-plugins -y

Para obtener más información sobre los complementos de Icinga 2, visite el sitio web del Proyecto de complementos de supervisión .

Inicie el servicio Icinga 2:

sudo systemctl start icinga2.service
sudo systemctl enable icinga2.service

Por defecto, el programa Icinga 2 habilitará tres funciones: comprobador, registro principal y notificación. Puede confirmarlo con el siguiente comando:

sudo icinga2 feature list

Paso 7: Configurar los módulos Icinga 2 IDO

7.1) Instalar los módulos IDO (Icinga Data Output) para MySQL

sudo apt-get install icinga2-ido-mysql

En el Configuring icinga2-ido-mysqlasistente, cuando se le pregunte si desea habilitar la función ido-mysql de Icinga 2, elija <No>. Habilitaremos manualmente esta función más adelante.

Cuando se le pregunte si desea configurar una base de datos para icinga2-ido-mysql, elija <No>. En su lugar, puede crear manualmente una base de datos como se explica en el paso 7.2.

7.2) Crear una base de datos para Icinga 2

Inicie sesión en el shell de MySQL como root:

sudo mysql -u root -p

Use la contraseña raíz de MariaDB que configuró en el paso 4 para iniciar sesión.

En el shell de MySQL, cree una base de datos con nombre icingay un usuario de base de datos icingacon la contraseña icinga, y luego otorgue privilegios en esta base de datos a este usuario de base de datos.

CREATE DATABASE icinga;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
FLUSH PRIVILEGES;
EXIT;

7.3) Importar el esquema IDO de Icinga 2

sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Cuando se le solicite, ingrese la contraseña raíz de MariaDB para finalizar el trabajo.

7.4) Habilitar el módulo IDO MySQL

sudo vi /etc/icinga2/features-available/ido-mysql.conf

Encuentra estas líneas:

user = "icinga2",
password = "",
host = "localhost",
database = "icinga2"

Modifíquelos de la siguiente manera:

user = "icinga"
password = "icinga"
host = "localhost"
database = "icinga"

Guardar y Salir:

:wq!

Habilite la función ido-mysql:

sudo icinga2 feature enable ido-mysql
sudo systemctl restart icinga2.service

Paso 8: Instale Icinga Web 2

8.1) Configurar el tubo de comando externo

sudo icinga2 feature enable command
sudo systemctl restart icinga2.service
sudo icinga2 feature list

Para poder enviar comandos a Icinga 2 mediante una interfaz web, debe agregar el www-datausuario al icingacmdgrupo:

sudo groupadd icingacmd
sudo usermod -a -G icingacmd www-data

Use el siguiente comando para confirmar su configuración:

id www-data

8.2) Instalar paquetes Icinga Web 2

sudo apt-get install icingaweb2 icingaweb2-module-monitoring icingaweb2-module-doc icingacli -y

Apunte el directorio raíz web de Apache a una ubicación especificada por Icinga Web 2:

sudo icingacli setup config webserver apache --document-root /usr/share/icingaweb2/public
sudo systemctl restart apache2.service

8.3) Configurar la base de datos Icinga Web 2

sudo mysql -u root -p

CREATE DATABASE icingaweb2;
EXIT;

8.4) Cargue el esquema de la base de datos Icinga Web 2

mysql -u root -p icingaweb2 < /usr/share/icingaweb2/etc/schema/mysql.schema.sql

8.5) Genere un token de configuración para su uso posterior en el asistente de instalación web de Icinga Web 2

sudo icingacli setup token create

8.6) Inicie el asistente de instalación de Icinga 2 en la interfaz web

Apunte su navegador web a la siguiente URL:

http://<your-serve-ip>/icingaweb2/setup

8.7) En la página de bienvenida, ingrese el token de configuración que generó anteriormente y luego haga clic en el Nextbotón.

8.8) En la página Módulos, seleccione uno o más módulos que desea habilitar (al menos, Monitoringse requiere el módulo) y luego haga clic en el Nextbotón.

8.9) En la página Requisitos, asegúrese de que se cumplan todos los elementos requeridos y luego haga clic en el Nextbotón.

8.10) En la página Autenticación, debe elegir el método de autenticación al acceder a Icinga Web 2. Aquí puede elegir Databasey luego hacer clic en el Nextbotón.

8.11) En la página Recurso de la base de datos, complete todos los campos obligatorios como se muestra a continuación y luego haga clic en el Nextbotón.

  • Nombre del recurso *: icingaweb_db
  • Tipo de base de datos *: MySQL
  • Anfitrión *: localhost
  • Nombre de la base de datos *: icingaweb2
  • Nombre de usuario *: root
  • Contraseña *: <MariaDB-root-password>

8.12) En la página de backend de autenticación, usando el nombre de backend predeterminado icingaweb2, haga clic en el Nextbotón para continuar.

8.13) En la página de Administración, configure la primera cuenta administrativa de Icinga Web 2 (digamos que es icingaweb2admin) y la contraseña (digamos que es icingaweb2pass), y luego haga clic en el Nextbotón.

8.14) En la página Configuración de la aplicación, puede ajustar las opciones de configuración relacionadas con la aplicación y el registro para satisfacer sus necesidades. Por ahora, puede usar los valores predeterminados que se enumeran a continuación y hacer clic en el Nextbotón para continuar.

  • Mostrar Stacktraces: marcado
  • Tipo de almacenamiento de preferencias del usuario *: base de datos
  • Tipo de registro *: Syslog
  • Nivel de registro *: error
  • Prefijo de aplicación *: icingaweb2

8.15) En la página Revisar, verifique su configuración y luego haga clic en el Nextbotón.

8.16) En la página de bienvenida de Configuración del módulo de monitoreo, haga clic en el Nextbotón.

8.17) En la página Supervisión del backend, use el nombre icingay el tipo de backend predeterminados IDO, y luego haga clic en el Nextbotón.

8.18) En la página Monitoreo de recursos IDO, ingrese los detalles de la base de datos IDO que configuró anteriormente y luego haga clic en el Nextbotón.

  • Nombre del recurso *: icinga_ido
  • Tipo de base de datos *: MySQL
  • Anfitrión *: localhost
  • Nombre de la base de datos *: icinga
  • Nombre de usuario *: icinga
  • Contraseña *: icinga

8.19) En la página de transporte de comandos, aún use estos valores predeterminados que se enumeran a continuación. Haga clic en el Nextbotón para continuar.

  • Nombre de transporte *: icinga2
  • Tipo de transporte *: archivo de comando local
  • Archivo de comando *: /var/run/icinga2/cmd/icinga2.cmd

8.20) En la página Supervisión de seguridad, aún use el valor predeterminado:

  • Variables personalizadas protegidas: * pw *, * pass *, community

Haga clic en el Nextbotón para ir a la página siguiente.

8.21) En la página de revisión, verifique su configuración y luego haga clic en el Finishbotón.

8.22) ¡Enhorabuena! página, haga clic en el Login to Icinga Web 2botón para ir a la página de inicio de sesión de Icinga Web 2. Use la cuenta administrativa y la contraseña de Icinga Web 2 que configuró anteriormente para iniciar sesión. Siéntase libre de explorar el panel de control de Icinga Web 2.

Eso concluye nuestro tutorial. Gracias por leer.



Leave a Comment

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

A medida que la ciencia evoluciona a un ritmo rápido, asumiendo muchos de nuestros esfuerzos, también aumentan los riesgos de someternos a una singularidad inexplicable. Lea, lo que la singularidad podría significar para nosotros.

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

El impacto de la inteligencia artificial en la atención médica 2021

El impacto de la inteligencia artificial en la atención médica 2021

La IA en la salud ha dado grandes pasos desde las últimas décadas. Por tanto, el futuro de la IA en el sector sanitario sigue creciendo día a día.