<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://uname.pingveno.net/blog/index.php/feed/rss2/xslt" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title># uname -a - Mot-clé - nagios</title>
    <link>https://uname.pingveno.net/blog/index.php/</link>
    <atom:link href="https://uname.pingveno.net/blog/index.php/feed/tag/nagios/rss2" rel="self" type="application/rss+xml" />
    <description>Le blog de uname.pingveno.net</description>
    <language>fr</language>
    <pubDate>Tue, 18 Aug 2026 13:46:21 +0200</pubDate>
    <copyright>Mathieu Pellegrin</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
          <item>
        <title>Push Nagios incidents to Cachet status page</title>
        <link>https://uname.pingveno.net/blog/index.php/post/2015/08/10/Push-Nagios-incidents-to-Cachet-status-page</link>
        <guid isPermaLink="false">urn:md5:cf4f8867303b09f83eaba0fa209caff4</guid>
        <pubDate>Mon, 10 Aug 2015 21:45:00 +0200</pubDate>
        <dc:creator>Mathieu</dc:creator>
                  <category>Hacks</category>
                          <category>cachet</category>
                  <category>monitoring</category>
                  <category>nagios</category>
                  <category>status</category>
                <description>&lt;p&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://uname.pingveno.net/blog/public/captures/cachet-nagios-demo.png&quot;&gt;&lt;img alt=&quot;cachet-nagios-demo.png&quot; class=&quot;media&quot; src=&quot;https://uname.pingveno.net/blog/public/captures/.cachet-nagios-demo_m.png&quot; style=&quot;float: right; margin: 0 0 1em 1em;&quot; title=&quot;cachet-nagios-demo.png, août 2015&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://cachethq.io/&quot; hreflang=&quot;en&quot;&gt;Cachet&lt;/a&gt; is an opensource status page. It displays incidents, manually or automaticaly created to inform users of what is going on the monitored service.&lt;/p&gt;

&lt;p&gt;Note that Cachet does not do any monitoring, that&amp;#8217;s why Nagios will be used to send incidents events through its API.&lt;/p&gt;

&lt;p&gt;The code can be downloaded at&amp;#160;: &lt;a href=&quot;https://github.com/mpellegrin/nagios-eventhandler-cachet&quot;&gt;https://github.com/mpellegrin/nagios-eventhandler-cachet&lt;/a&gt;&lt;/p&gt;          &lt;h3&gt;Prerequisites&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;Have a working Cachet installation&lt;/li&gt;
	&lt;li&gt;Have created some Cachet components to play with&lt;/li&gt;
	&lt;li&gt;Have a Nagios instance with PHP CLI and php-curl installed&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Installation&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;Get a Cachet API key: Create a new user in Cachet dashboard, login with this user, and get the API key in his profile.&lt;/li&gt;
	&lt;li&gt;Copy cachet_notify to /usr/share/nagios3/plugins/eventhandlers (depending on your configuration)&lt;/li&gt;
	&lt;li&gt;Change URL and API key in cachet_notification source code&lt;/li&gt;
	&lt;li&gt;Try it: ./cachet_notify &amp;#8216;My Cachet component&amp;#8217; &amp;#8216;My nagios service&amp;#8217; CRITICAL HARD &amp;#8216;The service is Critical&amp;#8217;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Configuration&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;Make a Nagios command:&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;
  define command {
      command_name    cachet_notify
      command_line    /usr/share/nagios3/plugins/eventhandlers/cachet_notify '$ARG1$' '$SERVICEDESC$' '$SERVICESTATE$' '$SERVICESTATETYPE$' '$SERVICEOUTPUT$'
  }
&lt;/pre&gt;

&lt;ul&gt;
	&lt;li&gt;Add an event handler on your services:&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;
  define service {
      service_description             My nagios service
      ...
      event_handler                   cachet_notify!My Cachet component
  }
&lt;/pre&gt;

&lt;ul&gt;
	&lt;li&gt;Restart nagios&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Addendum&lt;/h3&gt;

&lt;p&gt;Feel free to ask questions or open issues for this code on Github.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Nagios : quick and dirty patch to enable (force) SSL on check_mysql_health</title>
        <link>https://uname.pingveno.net/blog/index.php/post/2015/06/06/Nagios-%3A-quick-and-dirty-patch-to-enable-%28force%29-SSL-on-check_mysql_health</link>
        <guid isPermaLink="false">urn:md5:3244ad7656fe67739208c0268a811102</guid>
        <pubDate>Sat, 06 Jun 2015 16:10:00 +0200</pubDate>
        <dc:creator>Mathieu</dc:creator>
                  <category>Hacks</category>
                          <category>check_mysql_health</category>
                  <category>debian</category>
                  <category>monitoring</category>
                  <category>mysql</category>
                  <category>nagios</category>
                  <category>server</category>
                <description>          &lt;p&gt;Sometimes you don&amp;#8217;t want to set up a VPN just to safely monitor your MySQL servers. Because SSL should be implemented in &lt;a href=&quot;https://exchange.nagios.org/directory/MySQL/check_mysql_health/details&quot;&gt;check_mysql_health&lt;/a&gt;, here is a quick and dirty patch for SSL connexion. I assume you already configured your MySQL server to use SSL if client wants to (or if user requires ssl).&lt;/p&gt;

&lt;p&gt;File &lt;strong&gt;/usr/lib/nagios/plugins/check_mysql_health&lt;/strong&gt; at line &lt;strong&gt;1863&lt;/strong&gt;, after the following block&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
    } else {
      $self-&amp;gt;{dsn} .= sprintf &quot;;host=%s&quot;, $self-&amp;gt;{hostname};
      $self-&amp;gt;{dsn} .= sprintf &quot;;port=%s&quot;, $self-&amp;gt;{port}
          unless $self-&amp;gt;{socket} || $self-&amp;gt;{hostname} eq 'localhost';
      $self-&amp;gt;{dsn} .= sprintf &quot;;mysql_socket=%s&quot;, $self-&amp;gt;{socket}
          if $self-&amp;gt;{socket};&lt;/pre&gt;

&lt;p&gt;Add these lines&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
    $self-&amp;gt;{dsn} .= &quot;;mysql_ssl=1&quot;;
    $self-&amp;gt;{dsn} .= &quot;;mysql_ssl_client_key=/etc/ssl/mysql/client.key&quot;;
    $self-&amp;gt;{dsn} .= &quot;;mysql_ssl_client_cert=/etc/ssl/mysql/client.crt&quot;;
    $self-&amp;gt;{dsn} .= &quot;;mysql_ssl_ca_file=/etc/ssl/mysql/ca.crt&quot;;&lt;/pre&gt;

&lt;p&gt;Where &lt;strong&gt;/etc/ssl/mysql/client.key&lt;/strong&gt; is the path to client key, &lt;strong&gt;/etc/ssl/mysql/client.crt&lt;/strong&gt; the path to client certificate, and &lt;strong&gt;/etc/ssl/mysql/ca.crt&lt;/strong&gt; the path to the CA certificate.&lt;/p&gt;

&lt;p&gt;It should work, while there is still no &amp;#8220;SSL switch&amp;#8221; on that plugin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&amp;#160;: actually there is an undocumented param named &amp;#8220;&amp;#8212;mycnf&amp;#8221; which should allow you to enable SSL for client connection in a prettier way.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Le monitoring sous Debian avec Nagios et Munin (Puppet en guest star) : de A à Z - Partie 5 : NSCA</title>
        <link>https://uname.pingveno.net/blog/index.php/post/2013/10/13/Le-monitoring-sous-Debian-avec-Nagios-et-Munin-%28Puppet-en-guest-star%29-%3A-de-A-%C3%A0-Z-Partie-5-%3A-NSCA</link>
        <guid isPermaLink="false">urn:md5:d2d96dc10b8ab7767c5eb69d1a427fdf</guid>
        <pubDate>Sun, 13 Oct 2013 16:04:00 +0200</pubDate>
        <dc:creator>Mathieu</dc:creator>
                  <category>Informatique</category>
                          <category>debian</category>
                  <category>guide</category>
                  <category>monitoring</category>
                  <category>munin</category>
                  <category>nagios</category>
                  <category>nsca</category>
                  <category>serie-monitoring-nagios-munin-puppet</category>
                  <category>serveur</category>
                <description>&lt;p&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://uname.pingveno.net/blog/index.php/tag/serie-monitoring-nagios-munin-puppet&quot; rel=&quot;tag&quot;&gt;Voir l&amp;#8217;ensemble des articles de la série&lt;/a&gt; &amp;#8212; &lt;a href=&quot;https://uname.pingveno.net/blog/index.php/post/2013/08/19/Le-monitoring-sous-Debian-avec-Nagios-et-Munin-%28Puppet-en-guest-star%29-%3A-de-A-%C3%A0-Z-Partie-4-%3A-Munin&quot; rel=&quot;prev&quot;&gt;Voir l&amp;#8217;article précédent&amp;#160;: Munin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Cet article est le dernier de la série.&lt;/p&gt;
&lt;p&gt;Dans l&amp;#8217;article précédent, nous avons vu comment configurer Munin pour qu&amp;#8217;il collecte des données et affiche ses graphes. Il nous reste à présent à configurer la communication entre Munin et Nagios, grâce à l&amp;#8217;agent NSCA.&lt;/p&gt;          &lt;h3&gt;Introduction&lt;/h3&gt;
&lt;h4&gt;Tests passifs, tests actifs&lt;/h4&gt;
&lt;p&gt;Nagios distingue deux type de tests à effectuer sur les hôtes, par le biais de ses déclarations de services&amp;#160;: les tests actifs et les tests passifs.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Les &lt;strong&gt;tests actifs&lt;/strong&gt; sont les tests réalisés par Nagios via un de ses plugins&amp;#160;: ça peut être le test d&amp;#8217;un port ou le contrôle de la réponse d&amp;#8217;un service. Ces tests sont synchrones (effectués à intervalle fixe).&lt;/li&gt;
&lt;li&gt;Les &lt;strong&gt;tests passifs&lt;/strong&gt; sont les tests dont les résultats sont reportés à Nagios par d&amp;#8217;autres programmes&amp;#160;: là ça sera NSCA. Ces tests sont asynchrones (effectués &amp;#8220;quand on peut&amp;#8221;, pas forcément régulièrement).&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;NSCA&lt;/h4&gt;
&lt;p&gt;NSCA est littéralement «&amp;#160;Nagios Service Check Acceptor&amp;#160;». C&amp;#8217;est un démon qui tourne en arrière plan, et qui va recevoir les résultats des tests passifs, pour le retransmettre à Nagios.&lt;/p&gt;
&lt;p&gt;Pour plus de simplicité, NSCA sera installé sur la même machine que le serveur Maître de Nagios.&lt;/p&gt;
&lt;h4&gt;Munin &amp;lt;=&amp;gt; NSCA&lt;/h4&gt;
&lt;p&gt;Le serveur maître de Munin va communiquer à NSCA les résultats des tests grâce à la commande &lt;code&gt;send_nsca&lt;/code&gt;, utilisant le protocole NSCA.&lt;/p&gt;
&lt;p&gt;Pour encore plus de simplicité, nous allons supposer que le serveur maître de Munin et le serveur NSCA (et donc Nagios aussi) se trouvent sur la même machine (comme ça, pas besoin de chiffrer les communications entre Munin et NSCA).&lt;/p&gt;
&lt;h4&gt;NSCA &amp;lt;=&amp;gt; Nagios&lt;/h4&gt;
&lt;p&gt;NSCA va communiquer avec Nagios via un tube nommé, c&amp;#8217;est à dire un fichier dans lequel il va écrire, et qui va être lu par Nagios à intervalle régulier.&lt;/p&gt;
&lt;p&gt;On peut faire porter ce tube par une socket pour réaliser une installation de NCA et Nagios sur deux machines différentes, mais ce n&amp;#8217;est pas le sujet de cet article.&lt;/p&gt;
&lt;h3&gt;Installation et configuration de NSCA&lt;/h3&gt;
&lt;h4&gt;Installation&lt;/h4&gt;
&lt;p&gt;NSCA se trouve dans les dépôts&amp;#160;: &lt;code&gt;sudo apt-get install nsca&lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;Configuration&lt;/h4&gt;
&lt;p&gt;La configuration de NSCA se trouve dans &lt;code&gt;/etc/nsca.cfg&lt;/code&gt;. Voici les valeurs à retenir&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;#Ne jouez pas à changer ça&lt;br /&gt;pid_file=/var/run/nsca.pid&lt;br /&gt;&lt;br /&gt;# Notre master Munin se trouve sur la même machine, donc on bind sur 127.0.0.1 et ça suffit&lt;br /&gt;server_address=127.0.0.1&lt;br /&gt;&lt;br /&gt;# Il est important que cet utilisateur puisse écrire dans le tube nommé pour communiquer avec Nagios !&lt;br /&gt;nsca_user=nagios&lt;br /&gt;&lt;br /&gt;# Ce fichier spécial devra aussi être mentionné dans la configuration de Nagios, et le nsca_user doit pouvoir y écrire&lt;br /&gt;command_file=/var/lib/nagios3/rw/nagios.cmd&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Ouvrez le fichier &lt;code&gt;/etc/init.d/nsca&lt;/code&gt; et vérifiez que le &lt;code&gt;PIDFILE&lt;/code&gt; est le même que celui de la configuration&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;PIDFILE=&quot;/var/run/nsca.pid&quot;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;h3&gt;
Configuration de Munin&lt;/h3&gt;
&lt;p&gt;Ouvrez le fichier &lt;code&gt;/etc/munin/munin.conf&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Normalement, vus avez déjà configuré un &amp;#8220;contact&amp;#8221; pour être avertit en cas de défaillance d&amp;#8217;un service contrôlé par Munin. Nous allons à la suite en rajouter un second&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;contact.nagios.command /usr/sbin/send_nsca -H localhost&lt;br /&gt;contact.nagios.always_send ok warning critical&lt;br /&gt;contact.nagios.max_messages 1&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Petite information qui vous fera gagner une journée de travail&amp;#160;: &lt;code&gt;max_messages&lt;/code&gt; doit être à 1 sous Debian 7. Ceci parce que le NSCA des dépôts a été mis&amp;nbsp; jour, et &lt;a hreflang=&quot;en&quot; href=&quot;http://munin-monitoring.org/ticket/1299&quot;&gt;est devenu incompatible avec la version du protocole NSCA implémentée par Munin&lt;/a&gt;. On peut bidouiller NSCA pour corriger ça, mais la solution de contournement la plus simple est de n&amp;#8217;envoyer qu&amp;#8217;un message à la fois à NSCA.&lt;/p&gt;
&lt;p&gt;Ici Munin enverra les résultats &amp;#8220;&lt;code&gt;OK&lt;/code&gt;&amp;#8221;, &amp;#8220;&lt;code&gt;Warning&lt;/code&gt;&amp;#8221; et &amp;#8220;&lt;code&gt;Critical&lt;/code&gt;&amp;#8221; de ses module. Nous allons également faire en sorte qu&amp;#8217;un Munin muet déclenche une erreur &lt;code&gt;UNKNOWN&lt;/code&gt; chez Nagios, pour s&amp;#8217;assurer que le &amp;#8220;&lt;code&gt;OK&lt;/code&gt;&amp;#8221; correspond bien à un test &amp;#8220;&lt;code&gt;OK&lt;/code&gt;&amp;#8221; et non à l&amp;#8217;absence de &amp;#8220;&lt;code&gt;Warning&lt;/code&gt;&amp;#8221; et de &amp;#8220;&lt;code&gt;Critical&lt;/code&gt;&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Ok, on triche un peu. En fait, les tests de Munin sont synchrones. On a donc un mécanisme synchrone (Munin) qui va envoyer de manière synchrone les résultats au mécanisme asynchrone de collecte (NSCA). L&amp;#8217;aspect synchrone va nous permettre de détecter le moment où on aurait dût recevoir un résultat, et alerter si ce n&amp;#8217;a pas été le cas.&lt;/p&gt;
&lt;h3&gt;Configuration de Nagios&lt;/h3&gt;
&lt;h4&gt;Communication avec NSCA&lt;/h4&gt;
&lt;p&gt;Ouvrez le fichier de configuration &lt;code&gt;/etc/nagios3/nagios.cfg&lt;/code&gt; et vérifiez que la ligne suivante est bien présente et dé-commentée&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;command_file=/var/lib/nagios3/rw/nagios.cmd&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;Les services&lt;/h4&gt;
&lt;p&gt;Si vous avez déjà redémarré les services après chaque modification de la configuration, vous pourrez voir dans les logs de Nagios les erreurs suivantes&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;[1381670602] Warning:&amp;nbsp; Passive check result was received for service 'some service' on host 'hostname.ext', but the service could not be found!&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;La bonne nouvelle c&amp;#8217;est que Nagios reçoit les notifications de NSCA&amp;#160;!&lt;/p&gt;
&lt;p&gt;La mauvaise c&amp;#8217;est qu&amp;#8217;il ne peut pas le lier à un service et à un hôte, parce qu&amp;#8217;ils ne sont tout simplement pas déclarés. Il va nous falloir déclarer un service Nagios pour chaque service Munin que nous lui transmettons, sinon celui-ci ne sera pas capable de le traiter.&lt;/p&gt;
&lt;p&gt;Créez le fichier &lt;code&gt;/etc/nagios3/conf.d/services/munin-services.cfg&lt;/code&gt; et placez à l’intérieur la configuration suivante&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;# generic service template definition&lt;br /&gt;define service{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; generic-munin-service ; The 'name' of this service template&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; use generic-service&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_command&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return-unknown!&quot;No Data from passive check&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; active_checks_enabled&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Active service checks are disabled&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_freshness&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; freshness_threshold&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 360&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flap_detection_options&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_check_attempts&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; register&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;first_notification_delay&amp;nbsp; &amp;nbsp; &amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Delay first notification for false positives (will execute 2 checks : munin sends 1 check every 5 minutes)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;define service {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostgroup_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; munin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk latency per device :: Average latency for /dev/sda&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; use generic-munin-service&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; notification_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 ; set &amp;gt; 0 if you want to be renotified&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;define service {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk latency per device :: Average latency for /dev/sdb&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; use generic-munin-service&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; notification_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 ; set &amp;gt; 0 if you want to be renotified&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;define service {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostgroup_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; munin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk usage in percent&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; use generic-munin-service&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; notification_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 ; set &amp;gt; 0 if you want to be renotified&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;define service {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostgroup_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; munin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inode usage in percent&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; use generic-munin-service&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; notification_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 ; set &amp;gt; 0 if you want to be renotified&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;define service {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostgroup_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; munin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File table usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; use generic-munin-service&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; notification_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 ; set &amp;gt; 0 if you want to be renotified&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;define service {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostgroup_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; munin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; eth0 errors&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; use generic-munin-service&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; notification_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 ; set &amp;gt; 0 if you want to be renotified&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;define service {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostgroup_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; munin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exim Mailqueue&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; use generic-munin-service&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; notification_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 ; set &amp;gt; 0 if you want to be renotified&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Ce fichier est bien évidemment à compléter selon les plugins et les checks que vous avez activé dans Munin. Le &lt;code&gt;service_description&lt;/code&gt; est le nom complet du service dans Munin.&lt;/p&gt;
&lt;p&gt;La configuration du template générique nous assure qu&amp;#8217;une erreur &amp;#8220;&lt;code&gt;UNKNOWN : No data from passive check&lt;/code&gt;&amp;#8221; sera retournée en cas d&amp;#8217;absence de résultat après le délai du &amp;#8220;&lt;code&gt;freshness_threshold&lt;/code&gt;&amp;#8221;, avec 2 essais avant d&amp;#8217;alerter du problème.&lt;/p&gt;
&lt;h4&gt;Les groupes d&amp;#8217;hôtes&lt;/h4&gt;
&lt;p&gt;Les plus attentifs d&amp;#8217;entre-vous ont remarqué la présence d&amp;#8217;un hostgroup dans la configuration, mais nous ne l&amp;#8217;avons pas encore déclaré. Allons-y, rajoutez dans le fichier &lt;code&gt;/etc/nagios3/conf.d/groups.cfg&lt;/code&gt;&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;# Hostgroup for Munin&lt;br /&gt;define hostgroup {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostgroup_name&amp;nbsp; munin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; alias&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Munin reporting clients&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;Les hôtes&lt;/h4&gt;
&lt;p&gt;Maintenant qu&amp;#8217;on a le &lt;code&gt;hostgroup&lt;/code&gt;, il ne reste plus qu&amp;#8217;à modifier vos fichiers &lt;code&gt;/etc/nagios3/conf.d/hosts/*.cfg&lt;/code&gt; pour rajouter le &lt;code&gt;hostgroup&lt;/code&gt; sur les hôtes sur lesquels &lt;code&gt;munin-node&lt;/code&gt; est installé.&lt;/p&gt;
&lt;h3&gt;Débuggage&lt;/h3&gt;
&lt;p&gt;En principe, après avoir redémarré tous les services, vous devriez recevoir assez vite les notifications de NSCA et voir passer vos indicateurs du gris vers le vert dans Nagios.&lt;/p&gt;
&lt;p&gt;Si ce n&amp;#8217;est pas le cas et que ces derniers passent au orange, c&amp;#8217;est qu&amp;#8217;il y a un problème de communication entre Nagios et Munin. Mon problème principal a été le non démarrage de NSCA au démarrage de la machine, pour de histoires de PID que le script de démarrage n&amp;#8217;arrivait à écrire ou à supprimer.&lt;/p&gt;
&lt;p&gt;Il arrive aussi que le tube nommé soit inaccessible en écriture à l’utilisateur qui lance NSCA, vérifiez bien que l&amp;#8217;utilisateur &lt;code&gt;nagios&lt;/code&gt; est celui qui fait tourner à la fois Nagios et NSCA.&lt;/p&gt;
&lt;p&gt;Enfin, pour vérifier que le problème ne vient pas d&amp;#8217;une mauvaise configuration de Nagios, faites un envoi de données &amp;#8220;manuellement&amp;#8221; avec la commande &lt;code&gt;send_nsca&lt;/code&gt;&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;echo -e &quot;monhote.ext\tNom complet du service Munin\t1\t0\n\n&quot; | /usr/sbin/send_nsca -H localhost&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;h3&gt;Pour conclure&lt;/h3&gt;
&lt;p&gt;En conclusion, nous avons terminé notre installation de Munin, Nagios, et NSCA&amp;#160;! Munin communique à présent ses alertes à Nagios, et Nagios est capable d&amp;#8217;alerter si ces alertes ne sont pas remontées. Le reste est dans les billets précédents&amp;#160;! &lt;img src=&quot;/blog/themes/mathedit_material3/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot;&gt;&lt;/p&gt;
&lt;p&gt;N&amp;#8217;hésitez pas à me faire part dans les commentaires des problèmes que vous pourriez rencontrer en déroulant cette suite d&amp;#8217;articles, ou à me corriger si vous constatez des erreurs dans la série d&amp;#8217;article. &lt;img src=&quot;/blog/themes/mathedit_material3/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://uname.pingveno.net/blog/index.php/tag/serie-monitoring-nagios-munin-puppet&quot; rel=&quot;tag&quot;&gt;Voir l&amp;#8217;ensemble des articles de la série&lt;/a&gt;.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Le monitoring sous Debian avec Nagios et Munin (Puppet en guest star) : de A à Z - Partie 2 : Nagios</title>
        <link>https://uname.pingveno.net/blog/index.php/post/2013/07/07/Le-monitoring-sous-Debian-avec-Nagios-et-Munin-%28Puppet-en-guest-star%29-%3A-de-A-%C3%A0-Z-Partie-2-%3A-Nagios</link>
        <guid isPermaLink="false">urn:md5:89ab0a4d73ba04725d6a10253cb75c60</guid>
        <pubDate>Sun, 07 Jul 2013 19:59:00 +0200</pubDate>
        <dc:creator>Mathieu</dc:creator>
                  <category>Informatique</category>
                          <category>debian</category>
                  <category>guide</category>
                  <category>monitoring</category>
                  <category>nagios</category>
                  <category>serie-monitoring-nagios-munin-puppet</category>
                  <category>serveur</category>
                <description>&lt;p&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://uname.pingveno.net/blog/index.php/tag/serie-monitoring-nagios-munin-puppet&quot; rel=&quot;tag&quot;&gt;Voir l&amp;#8217;ensemble des articles de la série&lt;/a&gt; &amp;#8212; &lt;a href=&quot;http://uname.pingveno.net/blog/index.php/post/2013/07/04/Le-monitoring-sous-Debian-avec-Nagios-et-Munin-%28Puppet-en-guest-star%29-%3A-de-A-%C3%A0-Z-Partie-1-%3A-introduction&quot; rel=&quot;prev&quot;&gt;Voir l&amp;#8217;article précédent&amp;#160;: Introduction&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Dans l&amp;#8217;épisode précédent, nous avons vu les généralités d&amp;#8217;usage sur le monitoring, Nagios, et Munin.&lt;/p&gt;
&lt;p&gt;Dans cette partie, je vais tenter de détailler la réalisation d&amp;#8217;une configuration fonctionnelle de Nagios, avec quelques sondes, pour servir de base pour la suite.&lt;/p&gt;          &lt;h3&gt;Installation de Nagios&lt;/h3&gt;
&lt;p&gt;Je travaille sous Debian GNU/Linux par habitude. Avec ce système d&amp;#8217;exploitation, il est très facile d&amp;#8217;installer Nagios :&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;sudo apt-get install nagios3&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Attention&amp;#160;: la configuration pour Nagios ne s&amp;#8217;écrit pas de la même façon selon la version majeure considérée. Ici pour la version 3, les fichiers de configuration seront différents de ceux pour Nagios 2, pensez à bien vérifier la version des exemples que vous copiez-collez sur Internet.&lt;/p&gt;
&lt;p&gt;Nagios s&amp;#8217;administre depuis une interface Web&amp;#160;; pour pouvoir y accéder, le paquet de Nagios installe automatiquement les dépendances permettant à un serveur Web de tourner (Apache 2 par défaut), mais vous pourriez avoir envie de faire autrement. Vérfiiez alors que vous avez bien un serveur web installé pour pouvoir faire tourner Nagios en CGI (python).&lt;/p&gt;
&lt;p&gt;Nagios installe par défaut un ensemble de plugins pour les sondes mais pas seulement. Nagios est très modulaire, et permet de faire beaucoup de chose. Si vous avez besoin des plugins supplémentaires, ceux-ci sont dans les paquets &lt;code&gt;nagios-plugins-*&lt;/code&gt; .&lt;/p&gt;
&lt;p&gt;Par défaut, après l&amp;#8217;installation Nagios est accessible à l&amp;#8217;URL &lt;code&gt;http://votreserveur/cgi-bin/nagios3/status.cgi&lt;/code&gt;. Le login et le mot de passe sont à changer avec la commande suivante &lt;code&gt;htpasswd /etc/nagios3/htpasswd.users leloginsouhaite&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;Où est la configuration&amp;#160;?&lt;/h3&gt;
&lt;p&gt;Le premier réflexe après avoir installé un logiciel, aussi automatisé que soit l&amp;#8217;installation, c&amp;#8217;est de regarder dans /etc/ si il y a pas un ou plusieurs fichiers de configuration. &lt;/p&gt;
&lt;p&gt;Gagné, il y a &lt;code&gt;/etc/nagios3/&lt;/code&gt; et &lt;code&gt;/etc/nagios-plugins/&lt;/code&gt; .&lt;/p&gt;
&lt;p&gt;Dans &lt;code&gt;/etc/nagios3/&lt;/code&gt; il y a la configuration générale de nagios&amp;#160;: les hosts et les services à surveiller, l&amp;#8217;interaction avec les systèmes externes, les personnes à prévenir en cas d&amp;#8217;accident, etc.&lt;/p&gt;
&lt;p&gt;Dans &lt;code&gt;/etc/nagios-plugins/&lt;/code&gt;, il y a la configuration du comportement des plugins. Je m&amp;#8217;en sers principalement pour avoir de la documentation sur les plugins disponibles et leurs arguments, mais vous pourriez en avoir besoin pour modifier le comportement d&amp;#8217;un plugin, ou créer le vôtre.&lt;/p&gt;
&lt;h3&gt;C&amp;#8217;est quoi ce bordel&amp;#8230;&lt;/h3&gt;
&lt;p&gt;Si vous commencez à plonger dans la configuration de &lt;code&gt;/etc/nagios3&lt;/code&gt;, vous allez vite déchanter&amp;#160;: il y a des fichiers de configuration aux noms pas très évocateurs, de services par défaut et génériques qui ne veulent rien dire. Par de panique, on va vous aider.&lt;/p&gt;
&lt;p&gt;Le point d&amp;#8217;entrée de la configuration dans Nagios est le fichier &lt;code&gt;/etc/nagios3/nagios.cfg&lt;/code&gt;. Pour des raisons évidentes, la configuration de Nagios n&amp;#8217;est pas intégralement présente dans ce fichier. Nagios inclut tous les fichiers qui se trouvent dans le dossier &lt;code&gt;/etc/nagios3/conf.d/&lt;/code&gt; (et récursivement dans les sous-dossiers).&lt;/p&gt;
&lt;h4&gt;Les hôtes&lt;/h4&gt;
&lt;p&gt;Les hôtes dans Nagios sont les machines à surveiller. Ce sont des éléments identifiés par leur nom. Il peut y avoir des hotes &amp;#8220;virtuels&amp;#8221; qui ne correspondent pas à une machine en particulier mais à un ensemble de résultat provenant de sondes que vous pouvez configurer.&lt;/p&gt;
&lt;p&gt;La configuration par défaut de Nagios définit un hôte générique. Cet hôte n&amp;#8217;est pas affiché dans l&amp;#8217;interface car c&amp;#8217;est un &amp;#8220;template&amp;#8221; de configuration. Vous faites &amp;#8220;hériter&amp;#8221; vos hôtes de ce service générique qui contient tout ce dont la plupart des hôtes ont besoin, et vous y rajoutez votre grain de sel.&lt;/p&gt;
&lt;p&gt;La configuration des hôtes dans Nagios se fait dans &lt;code&gt;/etc/nagios3/conf.d/&lt;/code&gt;. je vous conseille de créer un dossier &lt;code&gt;/etc/nagios3/conf.d/hosts/&lt;/code&gt;
et de créer ensuite un fichier par hôte, par commencer. Une fois que
vous serez plus à l&amp;#8217;aise avec le concept d&amp;#8217;hôte générique, vous pourrez
faire vos propres hôtes génériques, et factoriser un peu votre
configuration.&lt;/p&gt;
&lt;h4&gt;Les services&lt;/h4&gt;
&lt;p&gt;Les services dans Nagios sont les appels aux sondes que vous allez définir. Ces sondes sont déclarées dans les fichiers de configuration de &lt;code&gt;/etc/nagios-plugins/config/&lt;/code&gt; pour pointer vers des exécutables (généralement en Perl ou en Python) présents dans le répertoire &lt;code&gt;/usr/lib/nagios/plugins/&lt;/code&gt;, qui vont réaliser effectivement les tests.&lt;/p&gt;
&lt;p&gt;Je vous conseille, pour définir vos services, de créer le dossier &lt;code&gt;/etc/nagios3/conf.d/services/&lt;/code&gt; et placer un fichier par service à l&amp;#8217;intérieur.&lt;/p&gt;
&lt;p&gt;Les sondes des services peuvent prendre des arguments. Le plus courant est de leur donner (implicitement) l&amp;#8217;adresse de l&amp;#8217;hôte à tester, mais on peut aussi passer explicitement des arguments, comme par exemple le port à tester. (Si jamais vous avez déplacé le port d&amp;#8217;écoute de SSH. Comment ça vous l&amp;#8217;avez pas fait&amp;#160;?)&lt;/p&gt;
&lt;p&gt;Pour ceux qui en ont, les arguments des sondes sont déclarés dans &lt;code&gt;/etc/nagios-plugins/config/&lt;/code&gt;.&lt;/p&gt;
&lt;h4&gt;Les groupes&lt;/h4&gt;
&lt;p&gt;Voilà le point central de votre configuration&amp;#160;: les groupes. Les groupes sont déclarés dans &lt;code&gt;/etc/nagios3/config/groups.cfg&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Un groupe dans Nagios est un moyen d&amp;#8217;appliquer un ensemble de services à un hôte &amp;#8220;d&amp;#8217;un coup&amp;#8221;. En gros, vous avez trois moyens d&amp;#8217;attacher vos services à vos hôtes&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Quand vous déclarez vos hôtes, vous mentionnez explicitement les services qu&amp;#8217;il doit posséder.&lt;/li&gt;
&lt;li&gt;Quand vous déclarez les services, vous mentionnez explicitement les hôtes sur lesquels le service doit s’appliquer&lt;/li&gt;
&lt;li&gt;Vous déclarez vos &amp;#8220;groupes&amp;#8221;, qui sont des ensembles de services, prêt à être appliqués à vos hôtes, vous spécifiez à quels groupes le service appartient, et vous spécifiez les hôtes présents dans le groupe.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans la suite, nous appliquerons la troisième solution.&lt;/p&gt;
&lt;h3&gt;Un petit exemple pour commencer&lt;/h3&gt;
&lt;p&gt;Sans commentaires, voici un petit exemple&amp;#160;:&lt;/p&gt;
&lt;h4&gt;Groupes&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;/etc/nagios3/groups.cfg&lt;/code&gt;&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;# A list of your web servers&lt;br /&gt;define hostgroup {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostgroup_name&amp;nbsp; http-servers&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alias&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTP servers&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; members&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host1 ; Link host to hostgroup&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;# A list of your ssh-accessible servers&lt;br /&gt;define hostgroup {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostgroup_name&amp;nbsp; ssh-servers&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alias&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SSH servers&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; members&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host1,host2 ; Link host to hostgroup&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;h4&gt;Hôtes&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;/etc/nagios3/conf.d/hosts/host1.cfg&lt;/code&gt;&amp;#160;:
&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;define host {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; use&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; generic-host ; Name of host template to use&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alias&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.11 ; Replace with your real host1 address !&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;code&gt;/etc/nagios3/conf.d/hosts/host2.cfg&lt;/code&gt;&amp;#160;:
&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;define host {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; use&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; generic-host ; Name of host template to use&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alias&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.12 ; Replace with your real host2 address !&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;h4&gt;Services&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;/etc/nagios3/conf.d/services/ssh.cfg&lt;/code&gt;&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;# check that ssh services are running&lt;br /&gt;define service {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostgroup_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ssh-servers ; Link service to hostgroup&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SSH &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_command&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_ssh_port!22&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; use&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; generic-service&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; notification_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 ; set &amp;gt; 0 if you want to be renotified&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;/etc/nagios3/conf.d/services/http.cfg&lt;/code&gt;&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;# check that ssh services are running&lt;br /&gt;define service {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostgroup_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; http-servers ; Link service to hostgroup&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTP&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_command&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_http&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; use&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; generic-service&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; notification_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 ; set &amp;gt; 0 if you want to be renotified&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;h3&gt;Toutes les sondes que vous voulez&amp;#160;!&lt;/h3&gt;
&lt;p&gt;Dans l&amp;#8217;exemple ci-dessus, j&amp;#8217;ai utilisé deux sondes génériques&amp;#160;: &lt;code&gt;check_ssh_port&lt;/code&gt; et &lt;code&gt;check_http&lt;/code&gt;. Toutes les sondes disponibles sont déclarées dans &lt;code&gt;/etc/nagios-plugins/conf/&lt;/code&gt;, ces sondes se présentent sous la forme de &amp;#8220;commandes&amp;#8221; que l&amp;#8217;on peut utiliser moment de la déclaration des services.&lt;/p&gt;
&lt;p&gt;Les sondes déclarées appellent en général les exécutables qui se trouvent dans &lt;code&gt;/usr/lib/nagios/plugins/&lt;/code&gt;. Souvent, plusieurs sondes sont déclarées pour un même exécutable, mais avec des paramètres différents (par exemple &lt;code&gt;check_ssh&lt;/code&gt; et &lt;code&gt;check_ssh_port&lt;/code&gt; qui permet de spécifier le port en argument).&lt;/p&gt;
&lt;p&gt;Pour afficher les paramètres déclarés par les sondes, vous pouvez éditer les fichiers de configuration présents dans &lt;code&gt;/etc/nagios-plugins/conf/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Pour déclarer vos propres sondes à partir des exécutables, vous pouvez afficher les arguments disponible pour les exécutables de &lt;code&gt;/usr/lib/nagios/plugins/&lt;/code&gt; en lançant simplement le fichier exécutable avec le paramètre &lt;code&gt;--help&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;Les alertes&lt;/h3&gt;
&lt;p&gt;Pour l&amp;#8217;instant notre Nagios est muet. Il peut alerter sur l&amp;#8217;interface web, mais ne vous envoie pas de mails pour se plaindre que l&amp;#8217;un des services est tombé.&lt;/p&gt;
&lt;p&gt;Les alertes dans Nagios se configurent dans /etc/nagios3/conf.d/contacts.cfg, dans ce fichier sont définis les personnes à contacter en cas de problème, et quels sont les types d&amp;#8217;alertes à recevoir par ces personnes.&lt;/p&gt;
&lt;p&gt;Vous pouvez prendre exemple sur le contact par défaut pour créer vos propres contacts&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;define contact {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; contact_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alias&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_notification_period&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 24x7&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host_notification_period&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 24x7&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_notification_options&amp;nbsp;&amp;nbsp;&amp;nbsp; w,u,c,r&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host_notification_options&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d,r &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_notification_commands&amp;nbsp;&amp;nbsp; notify-service-by-email&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host_notification_commands&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; notify-host-by-email&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; email&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root@localhost&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;N&amp;#8217;oubliez pas de rajouter vos nouveaux contact au groupe de contact de Nagios&amp;#160;:
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;define contactgroup {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; contactgroup_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admins&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alias&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Nagios Administrators&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; members&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;Une configuration plus fine peut être réalisée au niveau des alertes, ou de l&amp;#8217;escalade des alertes, suivez ce lien pour en savoir plus&amp;#160;: &lt;a hreflang=&quot;en&quot; href=&quot;http://nagios.sourceforge.net/docs/3_0/escalations.html&quot;&gt;Notifications Escalations&lt;/a&gt;.
&lt;h3&gt;Pour conclure&lt;/h3&gt;
&lt;p&gt;En guise de conclusion et pour aller plus loin, je vous conseille de faire comme vous en avez l&amp;#8217;habitude sous Debian&amp;#160;: lire les documentations qui sont incluses avec le paquet dans &lt;code&gt;/usr/share/docs/nagios*&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Dans le prochain billet de cette série, je détaillerai l&amp;#8217;installation et la réalisation d&amp;#8217;une configuration simple pour Puppet, qui nous servira pour pouvoir installer facilement Munin sur l&amp;#8217;ensemble des machines du parc.&lt;/p&gt;
&lt;p&gt;Ah oui, n&amp;#8217;oubliez pas de relancer le service &lt;code&gt;nagios3&lt;/code&gt; après avoir changé la configuration pour l&amp;#8217;appliquer&amp;#160;!&lt;/p&gt;
&lt;p&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;https://uname.pingveno.net/blog/index.php/post/2013/08/17/Le-monitoring-sous-Debian-avec-Nagios-et-Munin-%28Puppet-en-guest-star%29-%3A-de-A-%C3%A0-Z-Partie-3-%3A-Puppet&quot; rel=&quot;next&quot;&gt;Lire la partie suivante&amp;#160;: Puppet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;https://uname.pingveno.net/blog/index.php/tag/serie-monitoring-nagios-munin-puppet&quot; rel=&quot;tag&quot;&gt;Voir l&amp;#8217;ensemble des articles de la série&lt;/a&gt;.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Le monitoring sous Debian avec Nagios et Munin (Puppet en guest star) : de A à Z - Partie 1 : introduction</title>
        <link>https://uname.pingveno.net/blog/index.php/post/2013/07/04/Le-monitoring-sous-Debian-avec-Nagios-et-Munin-%28Puppet-en-guest-star%29-%3A-de-A-%C3%A0-Z-Partie-1-%3A-introduction</link>
        <guid isPermaLink="false">urn:md5:7ad5ec86dc049c4a1980fb0e3b0e5629</guid>
        <pubDate>Thu, 04 Jul 2013 19:33:00 +0200</pubDate>
        <dc:creator>Mathieu</dc:creator>
                  <category>Informatique</category>
                          <category>debian</category>
                  <category>guide</category>
                  <category>monitoring</category>
                  <category>munin</category>
                  <category>nagios</category>
                  <category>puppet</category>
                  <category>serie-monitoring-nagios-munin-puppet</category>
                  <category>serveur</category>
                <description>&lt;p&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://uname.pingveno.net/blog/index.php/tag/serie-monitoring-nagios-munin-puppet&quot; rel=&quot;tag&quot;&gt;Voir l&amp;#8217;ensemble des articles de la série&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le monitoring. Graal des administrateurs système dès qu&amp;#8217;un parc de machines commence à se constituer. Avec ce petit guide, vous allez découvrir que même avec seulement trois machines, on peut faire du monitoring. Même avec des machines mobiles ou pas toujours allumées, on peut faire du monitoring. Même avec les machines des clients, on peut faire du monitoring.&lt;/p&gt;
&lt;p&gt;Pour pouvoir intervenir en cas de problème, il faut déjà savoir qu&amp;#8217;il y a un problème, c&amp;#8217;est le but du monitoring.&lt;/p&gt;          &lt;h3&gt;Cas d&amp;#8217;étude&lt;/h3&gt;
&lt;p&gt;Vous gérez un parc. Ça peut être vos propres machines, ou les machines de vos clients. Vous pouvez avoir des serveurs ou des postes de travail, ces machines ne sont pas forcément toujours allumées, mais quand elles fonctionnent il faut avoir un retour sur leur état de santé. Vous aimeriez bien centraliser tout ça, mais vous ne savez pas comment faire. Voici comment.&lt;/p&gt;
&lt;h3&gt;Définitions / Présentations&lt;/h3&gt;
&lt;p&gt;Lorsqu&amp;#8217;on parle de monitoring, on parle bien entendu de surveillance du système. Mais pour s&amp;#8217;assurer de l&amp;#8217;état du système, il faut deux choses&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Un collecteur (&amp;#8220;node&amp;#8221;), qui va au moyens de différentes sondes remonter les informations brutes sur les composants du système à surveiller. Ça peut être très bas niveau la température du CPU, ou une sonde élaborée comme le temps de réponse à un ping. Dans tous les cas, le collecteur seul ne suffit pas à dire &amp;#8220;je fais du monitoring&amp;#8221;.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;Le concentrateur (&amp;#8220;master&amp;#8221;), qui va récupérer les informations du collecteur, et générer les alertes, le concentrateur va pouvoir vous afficher une vue synthétique de l&amp;#8217;ensemble des machines que vous surveillez.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;Dans ce petit guide, le collecteur sera Munin (en partie), et le concentrateur sera Nagios 3 (en partie). Je dis &amp;#8220;en partie&amp;#8221; parce que tout n&amp;#8217;est pas aussi simple, et que Nagios et Munin vont assurer des rôles complémentaires étant chacun dans leur domaine à la fois &amp;#8220;collecteur&amp;#8221; et &amp;#8220;concentrateur&amp;#8221;.&lt;/div&gt;&lt;h4&gt;Munin&amp;#160;: le surveillant dans la cour&lt;/h4&gt;
&lt;div&gt;Munin est à la base un collecteur, c&amp;#8217;est à dire qu&amp;#8217;il va, au moyens de sondes déployées sur les postes à surveiller (&amp;#8220;munin-node&amp;#8221;), écrire des fichiers RRD. Ces fichiers pourront ensuite être exploités par un concentrateur (&amp;#8220;munin&amp;#8221; tout court) pour dessiner des graphes (&amp;#8220;munin-graph&amp;#8221;) et/ou envoyer des alertes à des systèmes externes.&lt;/div&gt;&lt;h4&gt;Nagios&amp;#160;: le mirador&lt;/h4&gt;
&lt;p&gt;Même si on peut installer un client Nagios servant de collecteur sur les postes à surveiller, Nagios n&amp;#8217;a pas pour vocation d&amp;#8217;observer directement les systèmes. Il est prévu pour effectuer des sondages &amp;#8220;externes&amp;#8221; des systèmes (tel port est-il ouvert, tel service répond-il correctement&amp;#8230;).&lt;/p&gt;
&lt;p&gt;De ce fait, Nagios va être limité dans les accès au système (comment remonter des alertes sur la température du disque, en conservant un point de vue externe&amp;#160;?) et va donc dépendre des sondes locales, comme celles fournies par Munin.&lt;/p&gt;
&lt;h4&gt;Puppet&amp;#160;: le directeur de l&amp;#8217;établissement&lt;/h4&gt;
&lt;p&gt;On ne l&amp;#8217;a pas encore présenté. Puppet est un logiciel permettant de répliquer de la configuration sur un ensemble de postes. Puppet permet de définir une certaine granularité dans la configuration&amp;#160;: il est possible de créer des &amp;#8220;groupes&amp;#8221; de configuration, pour donner aux postes gérés la configuration qu&amp;#8217;il leur faut, potentiellement différente d&amp;#8217;une machine à l&amp;#8217;autre (un serveur web et un serveur mail n&amp;#8217;ont pas les mêmes besoins).&lt;/p&gt;
&lt;h3&gt;Le fonctionnement&lt;/h3&gt;
&lt;h4&gt;En résumé&lt;/h4&gt;
&lt;ul&gt;&lt;li&gt;Nagios va collecter des informations externes sur le système et recevoir des alertes de Munin.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;Munin (&amp;#8220;munin-node&amp;#8221;) va collecter des informations plus précises sur le fonctionnement de la machine &amp;#8220;à chaud&amp;#8221;.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;Un &amp;#8220;master&amp;#8221; Munin va centraliser toutes les informations récoltées par les sondes &amp;#8220;munin-nodes&amp;#8221; et envoyer les alertes à Nagios.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;Puppet va se charger d&amp;#8217;uniformiser la configuration sur l&amp;#8217;ensemble des machines sur lesquelles Munin (munin-node) est installé (mieux que le copier/coller&amp;#160;: on change une fois et c&amp;#8217;est toutes les machines qui changent).&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Les machines&lt;/h4&gt;
&lt;div&gt;Les machines que l&amp;#8217;on suppose présentes sont&amp;#160;:&lt;/div&gt;&lt;div&gt;
&lt;ul&gt;&lt;li&gt;Les machines à administrer (&amp;#8220;nodes&amp;#8221;) sur lesquelles on mettra les &amp;#8220;munin-nodes&amp;#8221; et les &amp;#8220;puppet-nodes&amp;#8221;.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;Le &amp;#8220;puppet-master&amp;#8221; qui va envoyer aux &amp;#8220;nodes&amp;#8221; la configuration à appliquer&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;Le &amp;#8220;master&amp;#8221; Munin qui va centraliser les informations des sondes, et éventuellement faire des graphes.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;Le concentrateur nagios, qui va également effectuer les tests externes sur les machines.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div&gt;Notez que le Puppet master, le master Munin, et Nagios peuvent être portés par la même machine (puppet master, master munin, nagios).&lt;/div&gt;&lt;h3&gt;Dans la partie suivante&lt;/h3&gt;
&lt;div&gt;&lt;p&gt;Dans la prochaine partie, nous verront comment installer et configurer Nagios et ses sondes. Nous verront ensuite dans les parties suivantes le détail de la configuration de Munin, sa communication avec Nagios, et la réplication de sa configuration avec Puppet.&lt;/p&gt;
&lt;p&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;https://uname.pingveno.net/blog/index.php/post/2013/07/07/Le-monitoring-sous-Debian-avec-Nagios-et-Munin-%28Puppet-en-guest-star%29-%3A-de-A-%C3%A0-Z-Partie-2-%3A-Nagios&quot; rel=&quot;next&quot;&gt;Lire la partie suivante&amp;#160;: Nagios&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;https://uname.pingveno.net/blog/index.php/tag/serie-monitoring-nagios-munin-puppet&quot; rel=&quot;tag&quot;&gt;Voir l&amp;#8217;ensemble des articles de la série&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description>
        
              </item>
      </channel>
</rss>
