<page xmlns="http://projectmallard.org/1.0/"
      type="topic" style="task"
      id="supervision" xml:lang="fr">

<info>
  <link type="guide" xref="index" group="supervision"/>
  <desc>Suivi des logs et références SNMP permettant de connaitre l'activité du système.</desc>
  <revision pkgversion="20120605" version="1.0" date="10-06-2012" status="final"/>
  <credit type="author">
    <name>Thomas Noël</name>
    <email>tnoël@entrouvert.com</email>
  </credit>
  <credit type="maintainer">
    <name>Pierre Cros</name>
    <email>pcros@entrouvert.com</email>
  </credit>
</info>

<title>Supervision de la plateforme</title>

<section id="suivi-logs">
  <title>Suivi des logs</title>

  <section id="logs-locaux">
  <title>Logs locaux</title>
  <note style="warning">
    <p>Les fichiers de log locaux ont une taille fixe et sont remis à zéro à chaque lancement du portail. Ils ne sont donc pas utilisables à long terme.</p>
  </note>
  <p>Les logs sont stockés localement dans des fichiers <em>fifolog, de taille fixe</em>. Les principaux fichiers sont :</p>
  <table shade="rows">
    <thead><tr>
      <td><p>Nom du fichier</p></td>
      <td><p>Taille max</p></td>
      <td><p>Description</p></td>
    </tr></thead>
    <tr>
      <td><p>/var/log/system.log</p></td>
      <td><p>512k</p></td>
      <td><p>logs généraux du système</p></td>
    </tr>
    <tr>
      <td><p>/var/log/portalauth.log</p></td>
      <td><p>64k</p></td>
      <td><p>logs du portail captif</p></td>
    </tr>
    <tr>
      <td><p>/var/log/filter.log</p></td>
      <td><p>512k</p></td>
      <td><p>logs du firewall</p></td>
    </tr>
    <tr>
      <td><p>/var/log/dhcpd.log</p></td>
      <td><p>64k</p></td>
      <td><p>logs du serveur DHCP</p></td>
    </tr>
    <tr>
      <td><p>/var/log/lighttpd.log</p></td>
      <td><p>64k</p></td>
      <td><p>logs des serveurs HTTP/HTTPS</p></td>
    </tr>
  </table>
  
  <p>Pour lire ces fichiers, on peut utiliser les outils classiques <em>more, less, grep</em>, etc. mais il est conseillé de passer d'abord par le filtre <em>clog</em> de pfSense, prévu pour bien lire les <em>fifolog</em>. Par exemple :</p>

  <code>
# clog /var/log/portalauth.log  | grep "entries in whitelist" | less
  </code>
  </section>

  <section id="logs-distants">
    <title>Logs distants</title>
    <p>Les fichiers de log locaux ont une taille fixe et sont remis à zéro à chaque lancement du portail. Ils ne sont donc pas utilisables à long terme. Pour logger toute l'activité, il faut configurer un serveur de log distant et en indiquer les coordonnées dans la page <em>Status -> System Logs</em>, sur le dernier onglet <em>Settings</em> (au niveau de <em>Remote syslog servers</em>).</p>
  
  <note>
    <p>Le système « rsyslog » est un choix intéressant pour monter un serveur de log distant.</p>
  </note>  
  </section>

  <section id="logs-saml">
    <title>Logs étendus pour SAML</title>
    <p>Il est possible d'activer un log très détaillé des échanges SAML. Cela engendre un gros volume de données, c'est uniquement utile en cas de débogage.</p>

    <p>Pour activer le log :</p>

    <list>
      <item><p>modifier la ligne « LOG_DEBUG » au tout début du fichier <cmd>/usr/local/univnautes/pffedportal/local_settings.py</cmd> pour y indiquer : <code>LOG_DEBUG=True</code></p></item>
      <item><p>relancer le service portail captif <em>cp_univnautes</em> (soit via l'interface web, soit par la commande <cmd>/usr/local/etc/rc.d/pffedportal.sh restart</cmd>)</p></item>
    </list>
    
    <p>Les logs sont alors placés dans le fichier <cmd>/var/log/authentic.log</cmd>, qui ne dépasse jamais plus d'un Mo (après quoi il y a une rotation des logs classique dans <cmd>/var/log/authentic.log.n)</cmd>.</p>

    <p>Pour désactiver ces logs, il faut indiquer <code>LOG_DEBUG=False</code> et relancer le service <em>cp_univnautes</em>.</p>
  </section>

</section>

<section id="snmp">
  <title>SNMP</title>
  <p>Le serveur utilisé est <link href="http://people.freebsd.org/~harti/bsnmp/">bsnmp</link></p>
  
  <listing>
    <title>MIB</title>
    <p><link href="files/BEGEMOT-SNMPD.txt">BEGEMOT-SNMPD.txt</link></p>
  </listing>
  
  <listing>
    <title>def</title>
    <p><link href="files/tree.def.txt">tree.def.txt</link></p>
  </listing>

  <section id="mibll">
    <title>MibII</title>
     
  <listing>
    <title>MIB</title>
    <p><link href="files/BEGEMOT-SNMPD.txt">BEGEMOT-MIB2-MIB.txt</link></p>
  </listing>
  
  <listing>
    <title>def</title>
    <p><link href="files/mibII_tree.def.txt">mibII_tree.def.txt</link></p>
  </listing>

  </section>

  <section id="netgraph">
    <title>Netgraph</title>
       
  <listing>
    <title>MIB</title>
    <p><link href="files/BEGEMOT-NETGRAPH.txt">BEGEMOT-NETGRAPH.txt</link></p>
  </listing>
  
  <listing>
    <title>def</title>
    <p><link href="files/netgraph_tree.def.txt">netgraph_tree.def.txt</link></p>
  </listing>

  
  </section>

  <section id="pf">
    <title>PF</title>
       
  <listing>
    <title>MIB</title>
    <p><link href="files/BEGEMOT-PF-MIB.txt">BEGEMOT-PF-MIB.txt</link></p>
  </listing>
  
  <listing>
    <title>def</title>
    <p><link href="files/pf_tree.def.txt">pf_tree.def.txt</link></p>
  </listing>

  
  </section>

  <section id="host">
    <title>Host Resources</title>
       
  <listing>
    <title>MIB</title>
    <p><link href="files/BEGEMOT-HOSTRES-MIB.txt">BEGEMOT-HOSTRES-MIB.txt</link></p>
  </listing>
  
  <listing>
    <title>def</title>
    <p><link href="files/hostres_tree.def.txt">hostres_tree.def.txt</link></p>
  </listing>

  
  </section>

  <section id="ucd">
    <title>UCD (module ajouté par Univnautes)</title>
       
  <listing>
    <title>MIB</title>
    <p><link href="http://code.google.com/p/bsnmp-ucd/source/browse/trunk/UCD-SNMP-MIB.txt">http://code.google.com/p/bsnmp-ucd/source/browse/trunk/UCD-SNMP-MIB.txt</link></p>
  </listing>
  
  <listing>
    <title>def</title>
    <p><link href="http://code.google.com/p/bsnmp-ucd/source/browse/trunk/ucd_tree.def">http://code.google.com/p/bsnmp-ucd/source/browse/trunk/ucd_tree.def</link></p>
  </listing>

  <p>Configuration spéciale Univnautes pour la partie <em>extTable</em> :</p>
  
  <list>
    <item><p>iso.3.6.1.4.1.2021.8.1.101.0 = uname -a</p></item>
    <item><p>iso.3.6.1.4.1.2021.8.1.101.1 = uptime</p></item>
    <item><p>iso.3.6.1.4.1.2021.8.1.101.2 = nombre de sessions en cours sur le portail captif</p></item>
    <item><p>iso.3.6.1.4.1.2021.8.1.101.3 = nombre de ligne dans la table de whitelist (sachant qu'une ligne peut être une IP ou un réseau IP)</p></item>
    <item><p>iso.3.6.1.4.1.2021.8.1.101.4 = nombre d'IdP de la fédération</p></item>
    <item><p>iso.3.6.1.4.1.2021.8.1.101.5 = nombre d'IdP ajoutée localement</p></item>
    <item><p>iso.3.6.1.4.1.2021.8.1.101.6 = url des métadonnées de la fédération</p></item>
    <item><p>iso.3.6.1.4.1.2021.8.1.101.7 = url de la whitelist</p></item>
    <item><p>iso.3.6.1.4.1.2021.8.1.101.8 = entityId de l'IdP par défaut</p></item>
  </list>

  <note>
    <p>Ces valeurs ne sont pas calculées à chaque requête, elles sont conservées dans cache pendant 60 secondes.</p>
  </note>

  </section>

</section>


</page>
