asbd:tpoutils

Quelques outils de monitoring ou de supervision

Pour ce TP, vous devez utiliser la machine virtuelle crée la dernière fois. Dans la partie supervision vous ajouterez une autre VM qui servira de serveur de supervision.

Sysdig est un utilitaire qui permet d'explorer un grand nombre évènements du système. Il peut remplacer plusieurs logiciels spécialisés comme ps, top, htop, lsof … De plus il est développé pour tenir compte des conteneurs docker.

  • Installez sysdig sur votre VM.

Attention, sysdig fonctionne à partir d'un module du noyau qui doit être recompilé automatiquement à chaque version (via dkms). Pour que cela fonctionne, il faut installer les fichiers entêtes du noyau : linux-headers-<version-du-noyau-linux>. Vous pouvez connaître la version du noyau grâce à la commande uname -a.

  • testez la commande sysdig que voyez-vous ?

sysdig permet de filtrer les événements du système, par exemple

  1. ceux d'un processus de nom particulier : proc.name=apache2,
  2. ceux d'un utilisateur particulier : user.name=toto,
  3. ceux d'un conteneur particulier : container.name=dockapache.

Vous pouvez voir la liste des champs qui permettent de faire des filtres (ou des affichage) grâce à la commande sysdig -l

  • affichez les évènements en relation avec des socket ipv4 de votre conteneur apache.

Les chisels

Ce sont des scripts qui permettent d'agréger les événements afin obtenir une sortie plus claire. Vous pouvez créer vos propres scripts, mais un grand nombre de chisels sont déjà implémentés et permettent de faire l'équivalent des commandes standard. Vous pouvez en obtenir la liste avec sysdig -cl. Vous pouvez obtenir des détails sur un chisel particulier en tapant la commande : sysdig -i <nom chisel>.

  • Que fait le chisel spy_syslog ? Testez le.
  • Utilisez le chisel httplog. A quoi cela peut-il servir ?

csysdig

C'est une interface utilisant curse qui permet d'explorer le système et par exemple d'afficher les conteneurs, leurs connexions … Vous pouvez consulter la vidéo suivante pour voir les possibilité de la commande https://www.infoq.com/presentations/container-monitoring. Pour le lancer avec un meilleur support de docker utiliser la commande

csysdig -pc
  • Installez iptraf-ng et ntopng.

iptraf est un outil pour afficher les connexions en cours sur la machine,

  • sur votre VM, utilisez le pour identifier toutes les connexions : quel est le service, le client, son port …

ntop est un outil pour afficher des statistiques réseau. Il lance un serveur web dont les login/motdepasse sont par défaut admin/admin.

  • sur votre VM, retrouvez sur quel port ce service est lancé et utilisez un tunnel pour y accéder.

La supervision sert à surveiller un parc de machine et générer des alertes en cas de problème. Vous allez installer un serveur de supervision réputé simple : Zabbix.

  • Créez une nouvelle machine virtuelle qui servira de superviseur.
  • Installez zabbix-server-mysql, zabbix-agent et zabbix-frontend-php sur cette VM

Vous pouvez suivrele tutoriel ici pour le faire https://www.unixmen.com/how-to-install-zabbix-on-debian8-and-ubuntu-16/ mais attention, au début il suggère de télécharger un paquet pour ajouter à vos dépôts celui de zabbix. Or le fichier correspond à une autre version que celle d'ubuntu 16.04 (xenial). Modifiez cela ou ne faite pas cette partie (un zabbix un peu moins récent est dans les dépots officiels).

Une fois l'interface web configurée et fonctionnelle, vous devez activer le client zabbix sur vos 2 machines virtuelles.

  • Dans l'interface de configuration de zabbix, activer le serveur local.
  • Ajoutez aussi l'autre machine virtuelle en tant que client
  • Créez un écran contenant 4 graphiques avec la charge CPU, et la charge réseau des 2 serveurs.

Pour vous aider à prendre en main zabbix, vous pouvez suivre le toturiel ici http://archil.fr/docs/Install-Zabbix.html

  • asbd/tpoutils.txt
  • Dernière modification : 2017/10/03 12:31
  • de fabien.rico