Esta guía muestra cómo instalar y configurar la herramienta de monitoreo de infraestructura de red Icinga 2 en Debian 9.
¿Qué es Icinga 2?
Icinga es una aplicación de monitoreo de código abierto que puede usar para monitorear servicios y sistemas críticos en su servidor virtual. Icinga 2 puede monitorear hosts en la red o verificar protocolos de red externos, como el estado del HTTP servidor, servidor de correo, servicios de intercambio de archivos y otros.
Icinga 2 se puede configurar para monitorear el estado de los sistemas internos, para verificar la carga, la memoria, el disco libre space u otro host interno paraméteres. Icinga también se puede configurar para enviar notificaciones y alertas por correo electrónico o SMS a los administradores del sistema especificados en los contactos.
Requisitos iniciales
Muchos de los comandos de esta guía requieren privilegios de superusuario. Si no se encuentra un comando bash: sudo: al usar el comando sudo, debe activar el modo de superusuario, configurar el comando sudo y agregar su usuario al grupo sudo:
su -
apt-get install sudo -y
usermod -aG sudo yourusername
El LAMP La pila debe estar instalada en el servidor virtual.
Actualizar repositorios y paquetes locales:
sudo apt-get update && sudo apt-get upgrade
Uso de OPCache para aumentar la velocidad de descarga
Para aumentar la velocidad de carga de su aplicación utilizando el complemento OPCache disponible en PHP 7, agregue el siguiente OPCache parameters hasta el final del archivo de configuración de PHP:
vi /etc/php/7.0/apache2/php.ini
Inserte las siguientes líneas:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Reanudar Apache para que los cambios entren en vigencia:
systemctl restart apache2
Configuración de la base
Instale el DBMS requerido por la aplicación web Racing 2 para el monitoreo y la interfaz Icinga Web 2 para almacenar usuarios, contactos y otros datos recopilados. Ejecute el siguiente comando para instalar la base de datos MariaDB y el módulo PHP requerido para acceder al MySQL base de datos en Debian 9:
apt install php7.0-mysql mariadb-server mariadb-client
Inicie sesión en el MySQL consola y proteja la cuenta de superusuario de MariaDB:
mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit
A continuación, ejecuta el MySQL guión de seguridad:
sudo mysql_secure_installation
Inicie sesión en la consola de la base de datos y cree la base de datos para Icinga 2:
mysql -p
Cree un usuario con una contraseña segura para administrar la base de datos de la aplicación Icinga 2 ingresando los comandos a continuación. En este ejemplo, reemplace icingadb, icinga-user y strongpassword con el nombre y las credenciales de su base de datos:
create database icingadb;
grant all privileges on icingadb.* to 'icinga_user'@'localhost' identified by 'strongpassword';
flush privileges;
Crea un segundo MySQL base de datos utilizada por Icinga 2 Web para almacenar usuarios y grupos. Como en el paso anterior, reemplace el nombre de la base de datos y las credenciales. Puedes usar el mismo MySQL cuenta de usuario para administrar ambas bases de datos simultáneamente (icinga_user'@'localhost):
create database icinga_users;
grant all privileges on icinga_users.* to 'icinga_user'@'localhost' identified by 'strongpassword';
exit
Instalación de Icinga 2
Instale Icinga 2 y el Icinga 2 MySQL módulo para acceder a la base de datos MariaDB:
apt install icinga2 icinga2-ido-mysql
Durante la instalación, surge la cuestión de utilizar el MySQL módulo. Elija Sí en la línea de comando:
Después de instalar Icinga 2, inicie el servicio Icinga 2 y verifique el estado del demonio:
systemctl start icinga2.service
systemctl status icinga2.service
Instalación de la interfaz web de Icinga 2
Para controlar Icinga 2 a través de la interfaz web, instale la interfaz web y la interfaz de línea de comandos de Icinga 2 (CLI) paquetes:
apt install icingaweb2 icingacli
Reinicie el demonio Icinga 2 y verifique su estado:
systemctl restart icinga2.service
systemctl status icinga2.service
Se requiere una base de datos Icinga 2 para instalar el MySQL esquema:
mysql -u root icingadb -p < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Abre el Icinga 2 MySQL Archivo de configuración de IDO:
vi /etc/icinga2/features-enabled/ido-mysql.conf
Agregue las credenciales de la base de datos de Icinga 2 como se muestra en el siguiente ejemplo. Utilice las credenciales de la primera base de datos que creó en el paso anterior para crear la base de datos:
library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" {
user = "icinga_user",
password = "strongpassword",
host = "localhost",
database = "icingadb"
}
Guarde el archivo y reinicie el demonio Icinga 2:
systemctl restart icinga2.service
Cree el directorio de registro de Icinga Web 2 y agregue los permisos de sistema de archivos apropiados para otorgar permisos de escritura de grupo:
mkdir -p /var/log/icingaweb2/
chgrp -R icingaweb2 /var/log/icingaweb2/
chmod -R 775 /var/log/icingaweb2/
Configurar Icinga 2 a través de la interfaz web
Genere el token de instalación. Guárdelo en un lugar de fácil acceso. Deberá usarlo para acceder a la configuración de Icinga 2:
icingacli setup token create
La salida de este comando debería ser algo como esto:
The newly generated setup token is: c0f22932e763ac41
Nota: Para mostrar el token generado, si lo olvidó, puede usar el comando:
icingacli setup token show
Abra la HTTP puerto para conectarse a la interfaz web:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Abre tu navegador y ve a http://ejemploIP/icingaweb2/setup. Reemplace la IP de ejemplo con la dirección IP de su servidor virtual. En la primera etapa de la instalación, agregue el token creado anteriormente:
En la siguiente pantalla, verifique los módulos Doc y Monitoring y click Siguiente para continuar:
Icinga 2 verificará los requisitos de su sistema y los módulos PHP para garantizar que se cumplan todos los requisitos antes de continuar con el proceso de instalación y configuración. Si faltan algunos módulos, deben reinstalarse.
Desplácese hasta la parte inferior de la página y click Siguiente para continuar:
Para el tipo de autenticación, seleccione base de datos:
Utilice la información de la segunda base de datos que creó anteriormente para agregar las credenciales necesarias para acceder a la base de datos de Icinga 2 para almacenar usuarios y grupos.
Utilice icingaweb_db como nombre para este recurso.
host y puerto parameters deben ser localhost y 3306, respectivamente. No habilite las opciones persistentes y SSL. CliHaga clic en el botón Validar configuración para confirmar la base de datos. Después de verificar con éxito la base de datos, click Siguiente para ir al siguiente paso en el proceso de configuración de Icinga 2:
Defina un nombre para la base de datos de autenticación y click Siguiente:
Agregue un nombre de usuario con una contraseña segura para iniciar sesión en la interfaz web de Icinga 2 y click Siguiente:
A continuación, configure la aplicación y configure el registro de errores utilizando el siguiente paraméteres:
- Marque Mostrar seguimientos de pila;
- Tipo de almacenamiento = Base de datos;
- Tipo de registro = Archivo;
- Nivel de registro = Error;
- Ruta del archivo = /var/log/icingaweb2/icingaweb2.log
Ver el informe de información y, si no hay errores, click Siguiente para continuar:
En la siguiente ventana click Siguiente para continuar:
Agregue un nombre para Icinga 2 Backend, seleccione IDO como Tipo de backend y click Siguiente:
Agregue credenciales de base de datos para configurar el entorno de recursos de IDO. Después de agregar, cliHaga clic en el botón Validar configuración para verificar el recurso IDO de monitoreo de Icinga.
Después de que aparezca el mensaje Validado con éxito, click Siguiente:
Configure el módulo de transporte usando el siguiente paraméteres:
Transport Name = icinga2
Transport Type = Local Command File
Command File = /var/run/icinga2/cmd/icinga2.cmd
Configure las variables del entorno de seguridad de monitoreo (puede dejar los valores predeterminados):
La siguiente pantalla muestra un informe detallado de la configuración actual. Compruebe la configuración y click Finalizar para completar el proceso de instalación:
Una vez finalizado el proceso de instalación y configuración, aparece un mensaje que indica que Icinga Web 2 se ha configurado correctamente:
Inicie sesión en el panel de Icinga 2 en http://ejemploIP/icingaweb2/autenticación/inicio de sesión:
Será redirigido al panel de control de Icinga Web 2, donde verá los servicios y recursos del servidor virtual que Icinga 2 monitorea actualmente:
Ha instalado y configurado con éxito la aplicación de monitoreo Icinga 2 y la interfaz Icinga Web 2 en Debian 9.