Instalación de ICINGA Director

Continuando la instalación previa ya realizada sobre CentOS 8 de la versión ICINGA 2.7.3 comprobamos que tengamos instalados los requisitos para CentOS, deberían estar todos:

sudo dnf install php-pcntl php-process php-sockets

Debemos tener instalados los modulos: ipl, incubator y reactbundle, procedemos a descarar las versiones mínimas requeridas:

MODULE_NAME=ipl
MODULE_VERSION=v0.5.0
REPO="https://github.com/Icinga/icingaweb2-module-${MODULE_NAME}"
MODULES_PATH="/usr/share/icingaweb2/modules"
git clone ${REPO} "${MODULES_PATH}/${MODULE_NAME}" --branch "${MODULE_VERSION}"
icingacli module enable "${MODULE_NAME}"

NOTA: si al ejecutar el clonado desde git no tenemos instalado el módulo, nos pedirá instalarlo

MODULE_NAME=incubator
MODULE_VERSION=v0.5.0
REPO="https://github.com/Icinga/icingaweb2-module-${MODULE_NAME}"
MODULES_PATH="/usr/share/icingaweb2/modules"
git clone ${REPO} "${MODULES_PATH}/${MODULE_NAME}" --branch "${MODULE_VERSION}"
icingacli module enable "${MODULE_NAME}"

Y el último:

MODULE_NAME=reactbundle
MODULE_VERSION=v0.7.0
REPO="https://github.com/Icinga/icingaweb2-module-${MODULE_NAME}"
MODULES_PATH="/usr/share/icingaweb2/modules"
git clone ${REPO} "${MODULES_PATH}/${MODULE_NAME}" --branch "${MODULE_VERSION}"
icingacli module enable "${MODULE_NAME}"

Reiniciamos el servicio, los módulos estarán visibles en el panel de control

systemctl restart icinga2.service

Continuamos creando la base de datos para Director:

mysql -p -e "CREATE DATABASE director CHARACTER SET 'utf8';
CREATE USER director@localhost IDENTIFIED BY 'Direc89mon_';
GRANT ALL ON director.* TO director@localhost;"

Si utilizamos el mismo usuario que utilizamos anteriormente en la instalación previa, deberemos garantizar el acceso según nuestra configuración, por ejemplo:

GRANT ALL PRIVILEGES ON director.* TO 'icinga'@'localhost';
GRANT ALL PRIVILEGES ON icinga.* TO 'director'@'localhost';
quit

En el directorio /etc/incingaweb2/resources.ini debemos añadir la nueva BBDD.

Comenzamos con la instalación:

MODULE_VERSION="1.7.2"
ICINGAWEB_MODULEPATH="/usr/share/icingaweb2/modules"
REPO_URL="https://github.com/icinga/icingaweb2-module-director"
TARGET_DIR="${ICINGAWEB_MODULEPATH}/director"
git clone "${REPO_URL}" "${TARGET_DIR}" --branch v${MODULE_VERSION}

icingacli module enable director

Con esto ya podemos seguir el asistente de instalación desde la web.

Otras opciones y consejos útiles durante el proceso:

Si no recordamos el usuario y clave de la API:

vim /etc/icinga2/conf.d/api-users.conf

Si no recordamos el nombre del nodo:

vim /etc/icinga2/constants.conf

Para crear el demonio del servicio:

useradd -r -g icingaweb2 -d /var/lib/icingadirector -s /bin/false icingadirector
install -d -o icingadirector -g icingaweb2 -m 0750 /var/lib/icingadirector
MODULE_PATH=/usr/share/icingaweb2/modules/director
cp "${MODULE_PATH}/contrib/systemd/icinga-director.service" /etc/systemd/system/
systemctl daemon-reload
systemctl enable icinga-director.service --now

En el caso de tener algún modulo desactualizado, al reiniciar el servicio y en la consola web nos aparecerá el problema concreto:

Si es nuestro caso, debemos eliminar las versiones previas y volver a realizar el proceso con la requerida en cada caso.

Si aparece un mensaje de advertencia pero la BBDD si esta en UTF8, puedes comprobarlo desde mysql, es posible continuar pese al mensaje de advertencia:

mysql -p
USE director;
show variables like "character_set_database";

Deja una respuesta

You have to agree to the comment policy.