Docker fait partie des nouvelles technologies qui transforment la façon dont on emploie l’infrastructure pour exécuter des applications. Les avantages sont nombreux en termes de déploiements : la gestion des interactions et des dépendances entre services y est efficace et facilite le déroulement des installations. Cela s’accorde tout particulièrement avec le cloud, permettant ainsi la construction d’architectures élastiques, distribuées, résilientes. Les délais liés aux déploiements sont réduits, ce qui amène les acteurs du système d’informations à réfléchir sur l’utilisation des containers en entreprise.

Présentation d’OMS

Puisqu’il s’agit d’une technologie nouvelle pour de nombreuses organisations, l’un des aspects à ne pas négliger avec Docker est la supervision des containers. Si plusieurs solutions existent déjà, nous allons nous intéresser à la plateforme de supervision Operations Management Suite (OMS) de Microsoft. Ce service, disponible directement sur le cloud Microsoft Azure, fonctionne directement en mode Software-as-a-Service (SaaS) et est compatible Windows et Linux. Il s’agit donc d’une solution clé en main qui vous évite de vous préoccuper de la gestion du stockage ou du dimensionnement de la plateforme de supervision. Celle-ci va s’adapter au volume de données et à la charge, ce qui est très confortable pour un service aussi critique que la supervision.

OMS fonctionne à travers l’installation de « Solution packs ». Ces modules vont permettre à la plateforme OMS de récupérer des données provenant de sources diverses : serveurs Windows ou Linux, logs IIS, Active Directory, SQL… ou encore containers Docker ! Le principe général est le suivant : un agent OMS est configuré au niveau du composant (la source de données), et envoie régulièrement des données à la plateforme OMS. Bien entendu, ces fonctions sont disponibles aussi bien pour les services Cloud que sur les serveurs hébergés à demeure, dans un SI interne.

Configuration

Pour utiliser ce service, tout d’abord il faut disposer d’un compte Microsoft Azure. A partir du portail, vous pourrez ajouter Log Analytics si vous n’y avez pas encore souscrit. Point intéressant : vous pouvez profiter de l’offre gratuite pour faire vos essais, la principale limite étant les 500 Mo de données chargées par jour.

Une fois le service créé, dans ses propriétés, vous pouvez cliquer sur OMS portal pour vous rendre sur le portail de gestion d’OMS. Suivez les instructions pour finaliser la création de votre espace de travail.

Le portail disponible, vous pouvez sélectionner les Solutions Gallery sur le volet de gauche et choisir d’installer le module Containers.

Pour connecter votre plateforme Docker à OMS sous Linux, deux possibilités s’offrent à vous :

  • Installation de l’agent OMS sur les machines hébergeant les containers Docker en tant que services Linux,
  • Installation l’agent en tant que container Docker (ce dernier permettant de superviser les autres containers Docker).

Dans les deux cas, l’installation passe par l’entrée du Workspace Id et du Workspace Key. C’est ce qui permet à l’agent OMS de se connecter à la plateforme et d’y charger les données de supervision. Sur le portail OMS, vous pouvez trouver ces informations en parcourant les options (via l’icône en haut à droite) et sélectionner Connected sources > Windows ou Linux Servers.

Pour l’installation du container OMS, exécutez la commande suivante sur chacun des hôtes Docker en remplaçant les valeurs concernant votre espace de travail :

docker run --privileged -d -v /var/run/docker.sock:/var/run/docker.sock -e WSID="<votre workspace id>" -e KEY="<clé de votre workspace>" -h=`hostname` -p 127.0.0.1:25225:25225 --name="omsagent" --restart=always microsoft/oms

Cette méthode est plus pratique dans le sens où elle couvre les versions de Linux exécutant le service Docker. Après quelques minutes, des données relatives à vos containers Docker apparaissent sur le portail OMS.

La requête suivant vous permet de récupérer les informations de performances relatives aux containers déployés : « * Type=Perf (ObjectName=Container) ».

L’interface vous permet de filtrer facilement selon des critères comme le nom de la machine, le nom des containers, ou encore les compteurs de performances :

  • % Processor Time
  • Disk Reads MB, Disk Writes MB
  • Memory Usage MB
  • Network Receive Bytes, Network Send Bytes
  • Processor Usage sec
  • % Privileged Time
  • % Used Memory
  • % Used Swap Space
  • Available MBytes Memory
  • % Used Inodes
  • % Used Space
  • Disk Reads/sec, Disk Transfers/sec, Disk Writes/sec
  • Free Megabytes

Vous pouvez également configurer des alertes en cliquant sur le bouton Alert, et spécifier les critères de déclenchement pour superviser l’activité de vos containers, en vous basant sur leur statut ou leurs performances. Par exemple, la requête « Type=ContainerInventory ContainerState=Running Name=my_web* » permet d’obtenir les containers préfixés par « my_web » en cours de fonctionnement.

Enfin, sachez qu’il est possible de profiter de l’application mobile Microsoft OMS pour consulter les informations d’OMS directement sur votre smartphone. Cela peut se révéler utile pour suivre l’état de sa plateforme à tout moment. La supervision des containers par OMS est donc simple à mettre en œuvre et pratique, pour compléter votre système d’information.