Contexte & objectifs

Dans une infrastructure, une panne détectée par les utilisateurs est une panne détectée trop tard. L'objectif de ce projet était de mettre en place une supervision qui permette de voir en temps réel l'état des équipements et des services, et d'être alerté avant que le problème ne devienne bloquant.

  • Superviser les équipements réseau : état des ports et trafic des switchs et routeurs
  • Superviser les services d'un serveur : disponibilité HTTP, réponse ICMP, base MySQL
  • Superviser les ressources d'un serveur Linux : CPU, RAM, réseau, avec alertes

Architecture

Ce qui est supervisé Switchs & routeurs Cisco · 2 communautés SNMP Serveur Linux Services HTTP · MySQL Serveur(s) Linux CPU · RAM · réseau Outil de supervision Cacti Graphes de trafic par port Zabbix / Centreon Tests de services NetData Métriques temps réel Alertes SMS SNMP ICMP · HTTP · MySQL Agent NetData

Chaque type de besoin a son outil : SNMP pour le réseau, tests actifs pour les services, agent local pour les ressources.

Mise en œuvre

  1. 1

    Réseau : SNMP et Cacti

    Configuration du protocole SNMP sur les commutateurs et routeurs avec la création de deux communautés, puis intégration des équipements dans un serveur Cacti installé sur machine virtuelle pour suivre l'état des ports et le trafic.

  2. 2

    Services : Zabbix et Centreon

    Installation d'un serveur Zabbix sur machine virtuelle pour surveiller les services HTTP, ICMP et MySQL d'un serveur Linux. Installation et documentation de Centreon 18.10 (CentOS 7, mode « Central with Database ») comme alternative.

  3. 3

    Ressources : NetData et alertes

    Installation de NetData sur un serveur Ubuntu pour suivre la RAM, le CPU et l'utilisation réseau en temps réel, configuration des alertes par SMS, puis regroupement de plusieurs hôtes dans une même interface.

    # Installation depuis les sources
    git clone https://github.com/firehol/netdata.git --depth=1 ~/netdata
    cd ~/netdata && sudo ./netdata-installer.sh
    
    # Ouverture du port de l'interface web
    sudo ufw allow 19999/tcp

Captures

Quel outil pour quel besoin ?

OutilUsage dans le projetPoint fort
CactiÉquipements réseau via SNMPGraphes de trafic historisés par port
ZabbixDisponibilité des servicesTests de services et déclencheurs d'alertes complets
CentreonAlternative à ZabbixDistribution prête à l'emploi, interface en français
NetDataRessources des serveurs LinuxInstallation rapide, temps réel, très léger

Bilan

Aucun outil ne couvre parfaitement tous les besoins : le projet m'a appris à partir du besoin (réseau, services ou ressources) pour choisir l'outil, plutôt que l'inverse. C'est la même démarche que lors de mon stage à l'École des Mines, où j'avais comparé sept outils avant de déployer NetData sur un cluster de calcul.

Autres projets

Sécurité

Pare-feu à trois zones

Pare-feu IPFire séparant LAN, DMZ et WAN, avec redirections de ports vers un serveur web.

Voir le détail →
Déploiement

Clonage réseau avec Clonezilla

Serveur DHCP, TFTP et NFS pour sauvegarder et restaurer des machines par démarrage PXE.

Voir le détail →
Virtualisation

Serveur VMware ESXi

ESXi sur un Dell PowerEdge R210 et migrations virtuel, physique et serveur vers l'hyperviseur.

Voir le détail →
Active Directory

Déploiement de logiciels par GPO

Installation automatique de paquets MSI sur les postes d'un domaine Active Directory.

Voir le détail →
Stage · 2019

Hôpital Le Corbusier, Firminy

Cartographie du réseau, port mirroring et analyse Wireshark des ralentissements du LAN.

Voir le détail →
Stage · 2018

École des Mines de Saint-Étienne

Déploiement d'images avec FOG, installation automatisée de Windows et supervision d'un cluster.

Voir le détail →