Icinga: una herramienta de monitoreo de servidor Linux de código abierto de próxima generación para RHEL/CentOS 7.0


Icinga es una moderna herramienta de monitoreo de código abierto que se originó a partir de una bifurcación de Nagios y ahora tiene dos ramas paralelas, Icinga 1 y Icinga 2 . Lo que hace esta herramienta no es muy diferente de Nagios debido al hecho de que todavía usa complementos y complementos de Nagios e incluso archivos de configuración para verificar y monitorear los servicios de red y los hosts, pero se pueden detectar algunas diferencias en las interfaces web, especialmente en nueva interfaz web, capacidad de generación de informes y fácil desarrollo de complementos.

Este tema se concentrará en una instalación básica de Icinga 1 Herramienta de monitoreo desde binarios en CentOS o RHEL 7 , usando RepoForge (anteriormente conocidos como RPMforge) repositorios para CentOS 6, con la interfaz web clásica de Apache Webserver y el uso de complementos de Nagios que se instalarán en su sistema.

Lea también : Instale la herramienta de monitoreo de Nagios en RHEL/CentOS

Una instalación básica de LAMP en RHEL/CentOS 7.0 sin MySQL y PhpMyAdmin, pero con estos módulos PHP: php-cli
php-pear php-xmlrpc php-xsl php-pdo php-soap php-gd .

  1. Instalación de Basic LAMP en RHEL/CentOS 7.0

Paso 1: Instalación de la herramienta de monitoreo Icinga

1. Antes de continuar con la instalación de Icinga desde binarios, agregue repositorios RepoForge en su sistema emitiendo el siguiente comando, dependiendo de su máquina.

# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm

2. Una vez que se hayan agregado los repositorios de RepoForge en su sistema, comience con la instalación básica de Icinga sin la interfaz web todavía, ejecutando el siguiente comando.

# yum install icinga icinga-doc

3. El siguiente paso es intentar instalar Icinga interfaz web proporcionada por el paquete icinga-gui . Parece que, por el momento, este paquete tiene algunos problemas sin resolver con CentOS/RHEL 7 y generará algunos errores de verificación de transacciones, pero puede intentar instalar el paquete, tal vez mientras tanto, el problema se resolvió.

Aún así, si obtiene los mismos errores en su máquina que los que se muestran en las imágenes a continuación, use el siguiente enfoque como se describe con más detalle, para poder instalar la interfaz web de Icinga.

# yum install icinga-gui

4. El procedimiento para instalar el paquete icinga-gui que proporciona la interfaz web es el siguiente. Primero descargue el paquete binario del sitio web de RepoForge usando el comando wget .

# wget http://pkgs.repoforge.org/icinga/icinga-gui-1.8.4-4.el6.rf.x86_64.rpm
# wget http://pkgs.repoforge.org/icinga/icinga-gui-1.8.4-4.el6.rf.i686.rpm

5. Una vez que wget termine de descargar el paquete, cree un directorio llamado icinga-gui (puede elegir otro nombre si lo desea), mueva icinga-gui binario RPM a esa carpeta , ingrese a la carpeta y extraiga el contenido del paquete RPM emitiendo la siguiente serie de comandos.

# mkdir icinga-gui
# mv icinga-gui-* icinga-gui
# cd icinga-gui
# rpm2cpio icinga-gui-* | cpio -idmv

6. Ahora que tiene el paquete icinga-gui extraído, use el comando ls para visualizar el contenido de la carpeta - debería resultar en tres nuevos directorios - etc , usr y var . Comience ejecutando una copia recursiva de los tres directorios resultantes en el diseño del sistema de archivos raíz de su sistema.

# cp -r etc/* /etc/
# cp -r usr/* /usr/
# cp -r var/* /var/

Paso 2: Modificar el archivo de configuración de Icinga Apache y los permisos del sistema

7. Como se presenta en la introducción de este artículo, su sistema debe tener un servidor HTTP Apache y PHP instalados para poder ejecutar la Interfaz Web Icinga.

Una vez que haya finalizado los pasos anteriores, debería haber un nuevo archivo de configuración en la ruta de Apache conf.d llamado icinga.conf . Para poder acceder a Icinga desde una ubicación remota desde el navegador, abra este archivo de configuración y reemplace todo su contenido con las siguientes configuraciones.

# nano /etc/httpd/conf.d/icinga.conf

Asegúrese de reemplazar todo el contenido del archivo con lo siguiente.

ScriptAlias /icinga/cgi-bin "/usr/lib64/icinga/cgi"

<Directory "/usr/lib64/icinga/cgi">
#  SSLRequireSSL
   Options ExecCGI
   AllowOverride None
   AuthName "Icinga Access"
   AuthType Basic
   AuthUserFile /etc/icinga/passwd

   <IfModule mod_authz_core.c>
      # Apache 2.4
      <RequireAll>
         Require all granted
         # Require local
         Require valid-user
      </RequireAll>
   </IfModule>

   <IfModule !mod_authz_core.c>
      # Apache 2.2
      Order allow,deny
      Allow from all
      #  Order deny,allow
      #  Deny from all
      #  Allow from 127.0.0.1
      Require valid-user
    </IfModule>
 </Directory>

Alias /icinga "/usr/share/icinga/"

<Directory "/usr/share/icinga/">

#  SSLRequireSSL
   Options None
   AllowOverride All
   AuthName "Icinga Access"
   AuthType Basic
   AuthUserFile /etc/icinga/passwd

   <IfModule mod_authz_core.c>
      # Apache 2.4
      <RequireAll>
         Require all granted
         # Require local
         Require valid-user
      </RequireAll>
   </IfModule>

   <IfModule !mod_authz_core.c>
      # Apache 2.2
      Order allow,deny
      Allow from all
      #  Order deny,allow
      #  Deny from all
      #  Allow from 127.0.0.1
      Require valid-user
   </IfModule>
</Directory>

8. Después de haber editado el archivo de configuración httpd de Icinga, agregue el usuario del sistema Apache al grupo del sistema Icinga y use los siguientes permisos del sistema en las siguientes rutas del sistema.

# usermod -aG icinga apache
# chown -R icinga:icinga /var/spool/icinga/*
# chgrp -R icinga /etc/icinga/*
# chgrp -R icinga /usr/lib64/icinga/*
# chgrp -R icinga /usr/share/icinga/*

9. Antes de iniciar el proceso del sistema Icinga y el servidor Apache, asegúrese de deshabilitar también el mecanismo de seguridad de SELinux ejecutando el comando setenforce 0 y haga que los cambios sean permanentes editando /etc/selinux/config , cambiando el contexto de SELINUX de imponer a deshabilitado .

# nano /etc/selinux/config

Modifique la directiva SELINUX para que tenga este aspecto.

SELINUX=disabled

También puede usar el comando getenforce para ver el estado de SELinux.

10. Como último paso antes de iniciar el proceso de Icinga y la interfaz web, como medida de seguridad, ahora puede modificar la contraseña de administrador de Icinga ejecutando el siguiente comando y luego iniciar ambos procesos.

# htpasswd -cm /etc/icinga/passwd icingaadmin
# systemctl start icinga
# systemctl start httpd

Paso 3: Instale los complementos de Nagios y acceda a la interfaz web de Icinga

11. Para comenzar a monitorear servicios públicos externos en hosts con Icinga, como HTTP, IMAP, POP3, SSH, DNS, ICMP ping y muchos otros servicios accesibles desde Internet o LAN, debe instalar Complementos de Nagios paquete proporcionado por EPEL Repositories.

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
# yum install yum install nagios-plugins nagios-plugins-all

12. Para iniciar sesión en la interfaz web de Icinga, abra un navegador y apúntelo a la URL http:// system_IP/icinga/. Use icingaadmin como nombre de usuario y la contraseña que cambió anteriormente y ahora puede ver el estado de su sistema localhost.

¡Eso es todo! Ahora tiene Icinga básico con la interfaz web clásica, como nagios, instalado y ejecutándose en su sistema. Usando los complementos de Nagios, ahora puede comenzar a agregar nuevos hosts y servicios externos para verificar y monitorear editando los archivos de configuración de Icinga ubicados en la ruta /etc/icinga/. Si necesita monitorear servicios internos en hosts remotos, debe instalar un agente en hosts remotos como NRPE, NSClient ++, SNMP para recopilar datos y enviarlos al proceso principal de Icinga.

Leer también

  1. Instale el complemento NRPE y supervise los hosts remotos de Linux
  2. Instale el agente NSClient ++ y supervise los hosts de Windows remotos