<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Monitoritzaci%C3%B3_amb_Nagios</id>
	<title>Monitorització amb Nagios - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Monitoritzaci%C3%B3_amb_Nagios"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Monitoritzaci%C3%B3_amb_Nagios&amp;action=history"/>
	<updated>2026-08-30T12:41:36Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Monitoritzaci%C3%B3_amb_Nagios&amp;diff=251785&amp;oldid=prev</id>
		<title>Joan: /* Entrega */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Monitoritzaci%C3%B3_amb_Nagios&amp;diff=251785&amp;oldid=prev"/>
		<updated>2014-04-03T20:54:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Entrega&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Introducció=&lt;br /&gt;
*http://www.nagios.org/&lt;br /&gt;
Enllaç que seguirem:&lt;br /&gt;
*https://help.ubuntu.com/12.04/serverguide/nagios.html&lt;br /&gt;
&lt;br /&gt;
Nagios és el estàndar en la monitorització de les infraestructures de d'ordinadors i xarxes. Amb Nagios pots tenir alertes immediates dels problemes d'infraestructura, de manera que les caigudes de servei no afectin a l'empresa o organització.&lt;br /&gt;
&lt;br /&gt;
Nagios ofereix un servei complet de monitorització i alertes per a servidors, switches, aplicacions i serveis.&lt;br /&gt;
&lt;br /&gt;
Amb Nagios pots:&lt;br /&gt;
*Monitor your entire IT infrastructure&lt;br /&gt;
*Spot problems before they occur&lt;br /&gt;
*Know immediately when problems arise&lt;br /&gt;
*Share availability data with stakeholders&lt;br /&gt;
*Detect security breaches&lt;br /&gt;
*Plan and budget for IT upgrades&lt;br /&gt;
*Reduce downtime and business losses&lt;br /&gt;
&lt;br /&gt;
=Desenvolupament=&lt;br /&gt;
Treballarem amb una configuració de dos servidors (els alumnes treballaran per parelles). El servidor1 és on tenim instal.lat el '''nagios''', que volem monitoritzar, i el servidor2 és una altra màquina que volem monitoritzar (la màquina del company).&lt;br /&gt;
&lt;br /&gt;
Seguim l'enllaç:&lt;br /&gt;
*https://help.ubuntu.com/12.04/serverguide/nagios.html&lt;br /&gt;
i fixem-nos bé perquè hi ha accions que s'han de fer en la màquina servidor1, i d'altres que es fan en la màquina servidor2.&lt;br /&gt;
&lt;br /&gt;
A ''servidor1'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install nagios3 nagios-nrpe-plugin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
En el procés d'instal.lació se't demana un password per a l'usuari ''nagiosadmin''.&lt;br /&gt;
&lt;br /&gt;
en la màquina ''servidor2'' només cal instal.lar el paquet:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install nagios-nrpe-server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
NRPE significa ''Nagios Remote Plugin Executor Server'', és a dir, és el plugin que s'instal.larà en el servidor remot, i que es comunicarà amb l'ordinador central que centralitzarà tota la informació de l'estat de la infraestructura.&lt;br /&gt;
&lt;br /&gt;
El directori principal dels fitxers de configuració és ''/etc/nagios3/conf.d/'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/nagios3/conf.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
creem un fitxer de configuració per al servidor2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/nagios3/conf.d/localhost_nagios2.cfg /etc/nagios3/conf.d/servidor2.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Necessitem saber la IP del servidor2. Per ex, &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo joe /etc/nagios3/conf.d/server02.cfg&lt;br /&gt;
define host{&lt;br /&gt;
        use                     generic-host  ; Name of host template to use&lt;br /&gt;
        host_name               servidor2&lt;br /&gt;
        alias                   servidor2&lt;br /&gt;
        address                 192.168.0.15&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i reiniciant el servei nagios3 ja podem monitoritzar les opcions per defecte del servidor2: número d'usuaris connectats, càrrega, estat del processador, discos,... (per saber quines són aquestes opcions només cal mirar el fitxer de configuració).&lt;br /&gt;
==Monitorizar els servidors de mysql, Apache, SSH==&lt;br /&gt;
L'ordinador de l'alumne i del seu company com a mínim tenen els serveis de Apache, SSH, mysql. En comptes de monitoritzar amb la perspectiva de la màquina, podem monitoritzar amb la perspectiva del servei. Per ex, ens pot interessar:&lt;br /&gt;
*Com estan els serveis de Mysql, detectar algun servidor caigut&lt;br /&gt;
&lt;br /&gt;
En el fitxer ''/etc/nagios3/conf.d/services_nagios2.cfg'' hi ha definit per defecte la configuració del Apache i del SSH, podem també afegir una configuració per al mysql:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# check MySQL servers.&lt;br /&gt;
define service {&lt;br /&gt;
        hostgroup_name        mysql-servers&lt;br /&gt;
        service_description   MySQL&lt;br /&gt;
        check_command         check_mysql_cmdlinecred!nagios!secret!$HOSTADDRESS&lt;br /&gt;
        use                   generic-service&lt;br /&gt;
        notification_interval 0 ; set &amp;gt; 0 if you want to be renotified&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i en el fitxer ''/etc/nagios3/conf.d/hostgroups_nagios2.cfg'' hem de dir quins servidors de mysql volem monitoritzar:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# MySQL hostgroup.&lt;br /&gt;
define hostgroup {&lt;br /&gt;
        hostgroup_name  mysql-servers&lt;br /&gt;
                alias           MySQL servers&lt;br /&gt;
                members         localhost, servidor2&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
La línia:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
check_command         check_mysql_cmdlinecred!nagios!secret!$HOSTADDRESS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
significa que en cadascun dels servidors de mysql que volem monitoritzar s'executarà la comanda ''check_mysql_cmdlinecred'' que comprova l'estat del mysql, i per tenir permisos hem de donar-li un usuari/password del mysql amb permisos. Per tant, en cadascun dels servidors mysql que volem monitoritzar haurem de crear l'usuari en qüestió:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -u root -p -e &amp;quot;create user nagios identified by 'secret';&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reiniciem el servei:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo /etc/init.d/nagios3 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Controlar l'espai de disc al servidor2==&lt;br /&gt;
En el ''servidor1'' editem el fitxer ''/etc/nagios3/conf.d/servidor2.cfg'', que controla la configuració del ''servidor2'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# NRPE disk check.&lt;br /&gt;
define service {&lt;br /&gt;
        use                     generic-service&lt;br /&gt;
        host_name               server02&lt;br /&gt;
        service_description     nrpe-disk&lt;br /&gt;
        check_command           check_nrpe_1arg!check_all_disks!192.168.0.15&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
la línia&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
check_command           check_nrpe_1arg!check_all_disks!192.168.0.15&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
significa que el servidor Nagios enviarà a la IP 192.168.0.15 (''servidor2'') el missatge per executar els scripts que controlen el tamany dels discs.&lt;br /&gt;
&lt;br /&gt;
I en el ''servidor2'' hem de donar una confiança en el servidor Nagios. editem el fitxer ''/etc/nagios/nrpe.cfg'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
allowed_hosts=192.168.0.37&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
on ''192.168.0.37'' és la IP del servidor de Nagios. És a dir, estem dient que el ''servidor2'' admet que el ''servidor1'' faci un ''check'' dels seus discs.&lt;br /&gt;
&lt;br /&gt;
La comanda que s'executarà està definida també en el fitxer ''/etc/nagios/nrpe.cfg'' més avall, en la zona de comandes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reiniciem els serveis en les dues màquines:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
en el servidor2:&lt;br /&gt;
$ sudo /etc/init.d/nagios-nrpe-server restart&lt;br /&gt;
&lt;br /&gt;
en el servidor1:&lt;br /&gt;
$ sudo /etc/init.d/nagios3 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Interfície gràfica==&lt;br /&gt;
Tot això ho hem fet per auditar màquines i serveis en la nostra xarxa. El resultat el podem veure a:&lt;br /&gt;
*http://servidor1/nagios3 o bé http://localhost/nagios3.&lt;br /&gt;
Ens logem amb l'usuari ''nagiosadmin'' i el password que hem posat en la instal.lació. La interfície gràfica és bastant intuïtiva.&lt;br /&gt;
&lt;br /&gt;
==Enviar alertes per mail. Configuració==&lt;br /&gt;
L'objectiu ara és poder enviar correus electrònics a l'administrador quan ocorri una alerta. El procés per configurar l'enviament dels correus electrònics és el següent.&lt;br /&gt;
&lt;br /&gt;
Seguim l'enllaç&lt;br /&gt;
*http://ifsinternz.blogspot.com.es/2013/05/nagios-35-notification-configuration.html&lt;br /&gt;
però precisament la part de configuració del postfix és exactament la que vam veure en una pràctica anterior, per tant, és possible que ja ho tinguis configurat:&lt;br /&gt;
*[[Scripting._Alertes._Acc%C3%A9s_a_BD_i_enviament_de_mails_des_de_bash#Enviar_mails_des_de_la_consola_amb_Postfix_i_Gmail_SMTP]]&lt;br /&gt;
&lt;br /&gt;
Anem per passos. Primer de tot hem de definir un nou ''contacte'' en el fitxer ''contacts_nagios2.cfg'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define contact{&lt;br /&gt;
        contact_name                    joan&lt;br /&gt;
        alias                           joan&lt;br /&gt;
        service_notification_period     24x7   &lt;br /&gt;
        host_notification_period        24x7&lt;br /&gt;
        service_notification_options    w,u,c,r&lt;br /&gt;
        host_notification_options       d,r&lt;br /&gt;
        service_notification_commands   notify-service-by-email&lt;br /&gt;
        host_notification_commands      notify-host-by-email&lt;br /&gt;
        email                           joanqc@gmail.com&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
define contactgroup{&lt;br /&gt;
        contactgroup_name       admins&lt;br /&gt;
        alias                   Nagios Administrators&lt;br /&gt;
        members                 root, joan&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
és a dir, hem definit un nou contacte i l'hem afegit en el grup de ''admins''.&lt;br /&gt;
&lt;br /&gt;
I ara ja podem instal.lar i configurar el postfix per enviar correus a través d'un compte de gmail:&lt;br /&gt;
*Scripting._Alertes._Acc%C3%A9s_a_BD_i_enviament_de_mails_des_de_bash#Enviar_mails_des_de_la_consola_amb_Postfix_i_Gmail_SMTP&lt;br /&gt;
Potser ja ho tens fet, per comprovar si funciona només cal enviar un mail en línia de comanda:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &amp;quot;Test mail from postfix&amp;quot; | mail -s &amp;quot;Test Postfix&amp;quot; el_teu_correu@gmail.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Un cop ens assegurem que la sortida de correus funciona correctament, ja podem configurar les alertes.&lt;br /&gt;
&lt;br /&gt;
Habilitem les notificacions de Nagios per als hosts i per als serveis (per defecte ja està habilitat). Fitxers ''generic-host_nagios2.cfg'' i ''generic-services_nagios2.cfg'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Generic host definition template - This is NOT a real host, just a template!&lt;br /&gt;
&lt;br /&gt;
define host{&lt;br /&gt;
        name                            generic-host    ; The name of this host&lt;br /&gt;
        notifications_enabled           1       ; Host notifications are enable&lt;br /&gt;
        event_handler_enabled           1 &lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# generic service template definition&lt;br /&gt;
define service{&lt;br /&gt;
        name                            generic-service ; The 'name' of this se&lt;br /&gt;
        active_checks_enabled           1       ; Active service checks are ena&lt;br /&gt;
        passive_checks_enabled          1       ; Passive service checks are en&lt;br /&gt;
        parallelize_check               1       ; Active service checks should&lt;br /&gt;
        obsess_over_service             1       ; We should obsess over this se&lt;br /&gt;
        check_freshness                 0       ; Default is to NOT check servi&lt;br /&gt;
        notifications_enabled           1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
També puc canviar en els dos fitxers l'intèrval de 5 minuts a 1 minut, que va bé per fer proves:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
normal_check_interval           1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Com veiem en aquest fitxers:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
contact_groups                  admins&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i com que l'usuari joan està en el ''contactgroup'' de ''admins'', se li enviarà la notificació.&lt;br /&gt;
&lt;br /&gt;
i ara el que hem de provocar és que es dispari una alerta. En el cas més senzill que ha configurat el professor, anem a provocar una alerta (i el seu consegüent enviament de mail) quan en la màquina ''servidor2'' hi hagi més de 5 usuaris connectats. Editem el fitxer ''/etc/nagios3/conf.d/servidor2.cfg'' i busquem la directiva on s'especifica el límit d'usuaris. Hi ha dos números: el primer número és el límit d'usuaris que provoca un warning; el segon número provoca un error crític. Posem els dos números a 5.&lt;br /&gt;
&lt;br /&gt;
Reiniciem el servei:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo /etc/init.d/nagios3 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ara, des del ''servidor1'' obrim terminals i ens connectem per SSH a la màquina ''servidor2'', fins a 5 ó 6 usuaris (connexions obertes). En el Nagios podem controlar l'hora-minut-segon de quan es s'executarà el proper check. Si tot ha anat bé, sortirà amb vermell (CRITICAL) indicant-nos que hi ha un problema a ''servidor2'', i hem de rebre un correu electrònic:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** PROBLEM Service Alert: HOST-MV/Current Users is CRITICAL **&lt;br /&gt;
Safata d'entrada&lt;br /&gt;
	x&lt;br /&gt;
joanqc@gmail.com&lt;br /&gt;
	&lt;br /&gt;
17.17 (fa 3 minuts)&lt;br /&gt;
		&lt;br /&gt;
per a usuari&lt;br /&gt;
***** Nagios *****&lt;br /&gt;
&lt;br /&gt;
Notification Type: PROBLEM&lt;br /&gt;
&lt;br /&gt;
Service: Current Users&lt;br /&gt;
Host: HOST-MV&lt;br /&gt;
Address: 192.168.0.15&lt;br /&gt;
State: CRITICAL&lt;br /&gt;
&lt;br /&gt;
Date/Time: Thu Apr 3 17:17:44 CEST 2014&lt;br /&gt;
&lt;br /&gt;
Additional Info:&lt;br /&gt;
&lt;br /&gt;
USERS CRITICAL - 5 users currently logged in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si no rebem el correu electrònic podem mirar la definició del ''notyfy-service-by-email'' i ''notyfy-host-by-email'' i observar que tot està correcte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/printf &amp;quot;%b&amp;quot; &amp;quot;***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n&amp;quot; | /usr/bin/mail -s &amp;quot;** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **&amp;quot; $CONTACTEMAIL$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
fixem-nos bé que amb ''printf'' escribim per consola el cos del missatge, i l'enviem (''pipe'') amb /usr/bin/mail.&lt;br /&gt;
&lt;br /&gt;
=Objectius de la pràctica, feina per l'alumne=&lt;br /&gt;
El primer que haurà de fer l'alumne, treballant per parelles, és instal.lar el Nagios amb la configuració de dos servidors que s'ha comentat, i reproduir els resultats. Un cop aconseguit aquest objectiu, ara et pots proposar a fer més proves. Entre d'altres:&lt;br /&gt;
*controlar que els serveis de Apache, SSH i mysql estiguin actius.&lt;br /&gt;
*controlar l'espai de disc.&lt;br /&gt;
*controlar la càrrega dels dos servidors. Pots provocar l'alerta ficant un valor ben baix per als valors de la càrrega.&lt;br /&gt;
&lt;br /&gt;
=Entrega=&lt;br /&gt;
Entrega al Schoology, amb el fitxer ''llegeixme.txt'' com sempre.&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, març 2014&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>