{"id":25168,"date":"2020-01-26T21:03:02","date_gmt":"2020-01-26T20:03:02","guid":{"rendered":"https:\/\/eltallerdelbit.com\/?p=25168"},"modified":"2020-09-02T10:59:00","modified_gmt":"2020-09-02T08:59:00","slug":"monitorizar-red-y-dispositivos-con-nagios-en-raspberry","status":"publish","type":"post","link":"https:\/\/eltallerdelbit.com\/monitorizar-red-y-dispositivos-con-nagios-en-raspberry\/","title":{"rendered":"Monitorizar red y dispositivos con Nagios en Raspberry"},"content":{"rendered":"
<\/p>\n
Requiere una instalaci\u00f3n y configuraci\u00f3n previa por medio de terminal (no se puede lograr por medio de la interfaz web), as\u00ed que toca meterse al barro y trastear con la terminal de Linux.<\/p>\n
Concretamente vamos a ver c\u00f3mo instalar Nagios en Raspberry Pi<\/strong>.<\/p>\n <\/p>\n Primero hemos de saber que existe una versi\u00f3n de servidor NAGIOS para Raspberry, con multitud de herramientas:<\/p>\n NEMS LINUX<\/a><\/p>\n <\/p>\n <\/p>\n Por otra parte siempre podemos descargar Nagios CORE<\/a> de forma manual desde los repositorios:<\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n Como Nagios funciona con una interfaz web, debemos instalar Apache<\/em> y PHP<\/em>:<\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n En este punto, Nagios Core ya est\u00e1 instalado, pero todav\u00eda queda configurar la parte relativa a Apache, para permitir el acceso a la p\u00e1gina de Nagios. <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n Ahora ya podemos comprobar si tenemos acceso a la interfaz web de Nagios:<\/p>\n O sea, la_IP_de_nuestro_Server_NAGIOS\/nagios\/ Recibiremos este error, ya que el servicio Nagios todav\u00eda no est\u00e1 levantado:<\/p>\n <\/p>\n <\/p>\n <\/p>\n Y comprobamos que ya podemos acceder a la interfaz web de Nagios (utilizando el usuario y contrase\u00f1a que hemos creado previamente): <\/p>\n Y para m\u00e1s comodidad, a\u00f1adimos el servicio Nagios de forma autom\u00e1tica al arranque:<\/p>\n <\/p>\n <\/p>\n extraemos los archivos:<\/p>\n <\/p>\n Compilamos e instalamos los plugins:<\/p>\n <\/p>\n Reiniciar servicio Nagios de nuevo:<\/p>\n <\/p>\n Ahora solo nos queda preparar los host que ser\u00e1n monitorizados por NAGIOS.<\/p>\n <\/p>\n <\/p>\n Dado que Nagios utiliza sobre todo SNMP<\/em>, instalaremos SNMP<\/em> en cada host antes de a\u00f1adirlo a Nagios para que sea monitorizado:<\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n Podemos modificar “MICOMUNIDAD<\/em>” y “MIHOST<\/em>“, por los nombres que prefiramos. Existen m\u00e1s opciones, pero estas son las m\u00e1s importantes y necesarias.<\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n Y a\u00f1adimos:<\/p>\n <\/p>\n Esta es una configuraci\u00f3n b\u00e1sica de un host. Simplemente monitorizar\u00e1 si el host est\u00e1 levantado. Pero es el punto de partida. <\/p>\n <\/p>\n <\/p>\n Hecho esto, reiniciamos el servicio de Nagios:<\/p>\n Y ya podremos ver que el nuevo host motioneye<\/em> aparece (vemos tambi\u00e9n otro host linux que estamos monitorizando, llamado servidor1<\/em>): <\/p>\n Si vamos a la secci\u00f3n Servicios (Services<\/em>), veremos todos los servicios que se est\u00e1n monitorizando en estos hosts:<\/p>\n En art\u00edculos posteriores, veremos c\u00f3mo crear y modificar servicios para monitorizar otros puertos con NAGIOS<\/strong>. Por ejemplo, en la captura anterior se puede apreciar que el host motioneye<\/a><\/em> no usa el servicio HTTP<\/a><\/em>, sino uno llamado HTTP-8765<\/em>, que se trata de un servicio que hemos creado para monitorizar otro puerto diferente<\/strong> al 80 (el tradicional HTTP<\/em>).<\/p>\n <\/p>\n <\/p>\n\n
\n <\/p>\n
\n <\/p>\nInstalaci\u00f3n de NAGIOS en Raspberry Pi<\/a><\/span><\/strong><\/span><\/h3>\n
\nPrimero actualizamos nuestra Raspberry:<\/p>\n\r\nsudo apt update\r\nsudo apt upgrade\r\nsudo reboot\r\n<\/pre>\n
\n
\n <\/p>\nDescarga e instalaci\u00f3n de los pre-requisitos<\/span><\/h3>\n
sudo apt install apache2 libapache2-mod-php<\/pre>\n
Descargamos NAGIOS CORE y los plugins Nagios (actualizado versiones 2020)<\/span><\/h4>\n
\nCreamos un directorio donde descargaremos los paquetes de Nagios Core y los plugins. En este caso hemos elegido el directorio Downloads del usuario por defecto, pero podemos elegir otro directorio:<\/p>\n\r\nmkdir \/home\/pi\/Downloads\r\ncd \/home\/pi\/Downloads\r\nwget https:\/\/assets.nagios.com\/downloads\/nagioscore\/releases\/nagios-4.4.5.tar.gz\r\nwget http:\/\/nagios-plugins.org\/download\/nagios-plugins-2.3.1.tar.gz\r\n<\/pre>\n
Instalando Nagios<\/span><\/h3>\n
Crear usuario y grupos Nagios<\/span><\/h4>\n
\nVamos a pasar a instalar y compilar Nagios CORE y los plugins Nagios, pero primero creamos el usuario espec\u00edfico para Nagios, el grupo para el usuario nagios y su grupo en Apache.
\n <\/p>\n\r\nsudo useradd -m -s \/bin\/bash nagios\r\nsudo groupadd nagcmd\r\nsudo usermod -a -G nagcmd nagios\r\nsudo usermod -a -G nagcmd www-data\r\n<\/pre>\n
Extraemos los archivos de Nagios CORE y Compilamos<\/span><\/h4>\n
\r\ntar zxvf nagios-4.4.5.tar.gz\r\ncd nagios-4.4.5\r\n.\/configure --with-command-group=nagcmd\r\nmake all\r\n<\/pre>\n
\n <\/p>\nInstalamos Nagios<\/span><\/h4>\n
\r\nsudo make install\r\nsudo make install-init\r\nsudo make install-config\r\nsudo make install-commandmode\r\n<\/pre>\n
\n <\/p>\nConfiguraci\u00f3n de Apache para Nagios:<\/span><\/h4>\n
\nExisten varias tareas que tenemos que realizar para dejar Apache preparado para Nagios:
\n <\/p>\n\n
sudo a2enmod cgi<\/pre>\n
\n
sudo cp sample-config\/httpd.conf \/etc\/apache2\/sites-enabled\/nagios.conf<\/pre>\n
\n
sudo htpasswd -c \/usr\/local\/nagios\/etc\/htpasswd.users nagiosadmin<\/pre>\n
\n
sudo service apache2 restart<\/pre>\n
http:\/\/192.168...... \/nagios\/<\/pre>\n
\n <\/p>\n
\n <\/p>\nIniciamos el servicio Nagios<\/span><\/h4>\n
sudo service nagios start<\/pre>\n
\n
\n<\/p>\nsudo ln -s \/etc\/init.d\/nagios \/etc\/rcS.d\/S99nagios\r\n\r\nsudo update-rc.d nagios defaults\r\n<\/pre>\n
Instalaci\u00f3n de los plugins NAGIOS<\/span><\/h4>\n
\r\ntar zxvf nagios-plugins-2.3.1.tar.gz\r\ncd nagios-plugins-2.3.1\r\n<\/pre>\n
\r\ncd nagios-plugins-2.3.1\/\r\n.\/configure --with-nagios-user=nagios --with-nagios-group=nagios\r\nmake\r\nsudo make install\r\n<\/pre>\n
\r\nsudo service nagios restart\r\n<\/pre>\n
Configurando los Host o servidores remotos para monitorizar con NAGIOS<\/h3>\n
\n
sudo apt install snmpd<\/pre>\n
\n
cd \/etc\/snmp<\/pre>\n
\n
cp snmpd.conf snmpd.conf.bak\r\n\r\nrm snmpd.conf<\/pre>\n
\n
nano snmpd.conf<\/pre>\n
\n
com2sec readonly default MICOMUNIDAD\r\n\r\ngroup MyROGroup v1 readonly\r\n\r\ngroup MyROGroup v2c readonly\r\n\r\nview all included .180\r\n\r\naccess MyROGroup \"\" any noauth exact all none none\r\n\r\nsysName MIHOST\r\n<\/pre>\n
\n
service snmpd restart<\/pre>\n
A\u00f1adir un Host o Servidor remoto para monitorizar con NAGIOS<\/h3>\n
\nVamos al directorio de objetos de Nagios:<\/p>\ncd \/usr\/local\/nagios\/etc\/objects<\/pre>\n
\nCreamos un nuevo archivo para nuestro Host:
\n <\/p>\nnano mihost.cfg<\/pre>\n
\r\ndefine host \r\n{\r\n use\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 linux-server\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ;Host group to use\r\n host_name\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 MotionEYE\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0; Name of this host\r\n alias\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 motioneye\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0; Alias\r\n address\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 192.168.0.113\u00a0 \u00a0 \u00a0 ; IP Address\r\n}\r\n<\/pre>\n
\n<\/br>
\nDespu\u00e9s podremos crear monitorizaciones m\u00e1s complejas!<\/p>\n\n
\/usr\/local\/nagios\/etc\/nagios.cfg<\/pre>\n
\n
cfg_file=\/usr\/local\/nagios\/etc\/objects\/mihost.cfg<\/pre>\n
service nagios restart<\/pre>\n
\n
\n
\n <\/p>\n
\n <\/p>\n