La supervision chez Web4All, hébergeur associatif

Date: 20/12/2010 | Catégories: Nagios,Open-source,Planet-libre,Reseau,Systeme,Web | Tags: ,,

Ce billet a été rédigé par Jonathan Gaulupeau et à pour double objectif de mettre en avant Web4all, un hébergeur alternatif à but non lucratif et de montrer comment des outils open-source sont utilisés pour assurer une supervision professionnelle de ce type de réseau.


Web4All, qui sommes-nous ?

Web4All est une association à but non lucratif qui a pour but de fournir un hébergement mutualisé de qualité professionnelle au plus grand nombre. Nos offres, plus orientées vers l'utile que vers le tape-à-l'œil, sont parmi les moins chères du marché.

Notre gestion est totalement désintéressée. Tous les acteurs de Web4All sont des bénévoles animés par l'envie de rendre un service de qualité à plus de 2000 clients.

Nous sommes constamment à la recherche du meilleur rapport qualité / prix. Nous étudions pour cela aussi bien des solutions libres que propriétaires. Dans les faits, la quasi-totalité de nous outils est issue de la communauté open-source. Cependant, nos besoins étant parfois très spécifiques, nous développons également nos propres outils.

Pourquoi la supervision ?

Toute entité possédant un ou plusieurs serveurs (quels que soient les systèmes d’exploitation utilisés) se doit de contrôler en permanence leur état. D’autant plus lorsqu’il s’agit, comme nous, de serveurs dont dépend le maintien en conditions opérationnelles des services que nous proposons.

En réalité, ce n’est pas tout à fait le cas, notre infrastructure étant redondée afin de fournir des services à haut taux de disponibilité.

La supervision sous quelle forme, quels outils ?

Je n’ai parlé, jusqu’à présent, que de la supervision en temps réel. Celle qui nous remonte une alarme si un service ne respecte pas des paramètres que nous avons définis. Un technicien peut alors prendre en compte l’alarme, en chercher la cause et, de préférence, la régler. Si, malgré nos précautions, un service est impacté, le technicien en informe les clients par une interface dédiée.

Chez nous, cette supervision est assurée par Nagios.

Quelques services surveillés par Nagios sur un frontal Apache

Toutefois, un autre aspect est important dans la supervision : suivre l’évolution de divers indicateurs sur une période plus ou moins longue. En clair, nous avons besoin, par exemple, pour anticiper l’évolution de nos besoins en terme de stockage, de regarder l’évolution sur l’espace disque que nous avons eu par le passé. Ces indicateurs peuvent nous fournir des informations remontant à des mois, voire des années. Ils nous permettent également de prévoir les pics de charge que subira notre infrastructure. Très pratique pour savoir quand ne pas programmer des tâches d’archivage par exemple. Enfin, cela peut s’avérer très utile lorsqu’il s’agit de réaliser un état de santé général. Nous savons à quoi doivent ressembler nos graphiques, nous pouvons donc voir d’un coup d’œil si tout semble correct.

Cette partie est réalisée par un autre outil : Cacti.

Graphique de trafic réseau réalisé par Cacti

Tous ces indicateurs combinés nous permettent d’évaluer notre qualité, point très important pour la personne chargée de la QoS (Quality of Service). Ils nous permettent également de prévoir nos futurs achats et évolutions de l’infrastructure. Nous pouvons ainsi réaliser tous les tests nécessaires aux évolutions dans un environnement de pré-production, sans travailler dans l’urgence et la panique que pourrait constituer une dégradation de la qualité des services rendus aux clients.

Enfin, nous avons également une carte d’état en temps réel du réseau client de Web4All qui est accessible à tous les clients.

Cette carte se base sur les informations récupérées par Cacti.

Carte d’état en temps réel du réseau client de Web4All

Ce que nous supervisons

Tous ces tests sont réalisés dans Nagios ainsi que dans Cacti.

Les basiques

    Les incontournables de la supervision que sont :

    • Le ping -> Un ping est réalisé sur le serveur, nous indiquant s’il est joignable ou non sur le réseau. C’est l’information la plus élémentaire dont nous avons besoin.
    • Le load average -> Le load est récupéré par SNMP. Il nous indique la charge système. Des seuils de criticité sont définis en fonction des habitudes de chaque serveur.
    • La mémoire -> Le taux de mémoire utilisée est récupéré par SNMP. Il nous permet de savoir si une application souffre d’une fuite mémoire par exemple.
    • L’espace disque -> Le taux d’espace libre sur les partitions des serveurs est récupéré par SNMP. Il nous permet d’être alertés avant qu’une partition ne soit pleine.

    Le réseau

      C’est le cœur de notre activité. Il fait donc l’objet de toutes les attentions.

      Nous surveillons le taux de transfert de toutes les interfaces des serveurs. Nous pouvons alors être alertés en cas de pic anormal ainsi qu’étudier l’évolution de la charge réseau afin d’anticiper les besoins en terme de bande passante.

      Les services

        Chaque service est testé par Nagios grâce à des plug-ins.

        Ces plugins sont soit récupérés sur la plateforme d’échange Nagios Exchange soit écrits spécifiquement pour Web4All.

        Voici quelques exemples :

        • Serveur DNS -> Test de résolution de nom
        • Serveur Mail -> Test des protocoles POP, IMAP, SMTP, état de la queue des mails, etc.
        • Frontaux Apache -> Test des Apache Server Status
        • Load Balancers -> Vérification du nombre de serveurs dans le pool
        • Serveurs SQL -> Test de connexion à une base de données

        Les aide-mémoires

          Certains tests n’ont pour but que de nous rappeler de réaliser une action bien précise.

          Par exemple, tous nos certificats SSL sont testés afin de nous remonter une alerte plusieurs semaines avant leur date d’expiration.

          Conclusion

          La supervision est un point essentiel chez Web4All. Elle nous permet d’avoir une meilleure réactivité grâce aux alertes remontées par Nagios, mais elle nous permet également de mieux préparer l’avenir grâce aux graphiques réalisés par Cacti.

          Enfin, grâce à la supervision, nous pouvons également fournir à nos clients le taux de disponibilité réel de nos services.

           

          A propos de l'auteur: Jonathan est expert sur le logiciel de conception mécanique CATIA V5, la "crise" du secteur automobile l'a poussé à s'orienter vers l'administration des systèmes Unix. Il est aujourd'hui Ingénieur Systèmes & Réseaux. Depuis 2009 il s'est engagé dans l'association Web4All ou il fait partie du Conseil d'Administration et ou il s'occupe de l'administration des serveurs ainsi que de leur supervision.

          A propos de Web4All: Web4all est un hébergeur associatif qui propose des hébergements de site web à faible coût ainsi que la vente de nom de domaine et un service emails.

          J'espère que comme moi cet article vous a intéressé. N'hésitez pas à poser des questions à Jonathan dans les commentaires de ce billet, je suis sur qu'il se fera un plaisir de vous répondre.