Comment surveiller les conteneurs Docker avec l'outil de surveillance Zabbix

Comment surveiller les conteneurs Docker avec l'outil de surveillance Zabbix

Docker est sans doute l'une des plus chères DevOps Outils qui rationalisent le développement, le déploiement et l'expédition des applications à l'intérieur des conteneurs.

Le concept de contenerisation implique de tirer parti des images de conteneurs. Ce sont des packages exécutables petits, légers et autonomes qui incluent tout ce qui est nécessaire pour exécuter une application, y compris le code source, les bibliothèques et les dépendances et les fichiers de configuration.

Ce faisant, l'application peut s'exécuter dans presque n'importe quel environnement informatique; Infrastructure informatique traditionnelle, nuage et une myriade de saveurs Linux / Unix.

La surveillance des conteneurs aide les équipes d'exploitation à identifier les problèmes sous-jacents et à les résoudre en temps opportun. La surveillance des conteneurs englobe la capture de mesures de base telles que l'utilisation du processeur, l'utilisation de la mémoire, la taille du conteneur et l'utilisation de la bande passante pour en mentionner quelques-uns. De plus, vous pouvez recueillir des journaux en temps réel qui sont utiles pour déboguer et alerter l'équipe informatique lorsque.

Zabbix est un outil populaire de surveillance des infrastructures informatiques qui garde un œil sur presque tous les éléments de votre environnement, y compris les appareils physiques tels que les serveurs et les appareils réseau tels que les routeurs et les commutateurs. Il peut également surveiller les applications, les services et les bases de données.

Dans ce guide, nous vous montrerons comment vous pouvez surveiller Docker conteneurs utilisant le Zabbix outil de surveillance dans Linux.

Exigences

Voici ce dont vous avez besoin avant de commencer:

Tout d'abord, assurez-vous que vous avez deux nœuds - le premier nœud est le serveur Zabbix. C'est le nœud à partir duquel nous surveillerons la télécommande Docker serveur. Nous avons un article sur:

  • Comment installer Zabbix sur Rocky Linux et Almalinux
  • Comment installer l'outil de surveillance Zabbix sur Debian 11/10
  • Comment installer zabbix sur rhel 8
  • Comment installer Zabbix sur Ubuntu

Le deuxième nœud est le Docker serveur sur lequel Docker est installé. Ceci est le nœud d'où nous allons exécuter des conteneurs Docker et surveiller l'activité des conteneurs.

  • Comment installer Docker sur Rocky Linux et Almalinux
  • Comment installer et utiliser docker sur Ubuntu 20.04
  • Comment installer Docker dans Centos et Rhel 8/7

Ensuite, assurez-vous d'avoir un accès SSH à votre Docker Node de serveur avec un utilisateur sudo déjà configuré.

Avec votre configuration en place, vous pouvez maintenant rouler vos manches!

Étape 1: Installez Zabbix-Agent dans Linux

Surveiller Docker conteneurs sur le serveur distant, vous devez installer un Agent zabbix, qui est un agent de surveillance qui est déployé sur un nœud cible pour surveiller activement les mesures système et d'autres applications.

Tout d'abord, vous devez installer le Zabbix référentiel sur le Docker nœud.

----------- Sur Ubuntu 20.04 ----------- $ sudo wget https: // repo.zabbix.com / zabbix / 5.4 / Ubuntu / Pool / Main / Z / Zabbix-Release / Zabbix-Release_5.4-1 + Ubuntu20.04_.deb $ sudo dpkg -i zabbix-lisse_5.4-1 + Ubuntu20.04_.deb $ sudo apt update $ sudo apt install zabbix-agent2 ----------- Sur la distribution basée à Rhel ----------- $ sudo rpm -uvh https: // repo.zabbix.com / zabbix / 5.4 / RHEL / 8 / X86_64 / Zabbix-Release-5.4-1.EL8.noarch.RPM $ sudo dnf mise à jour $ sudo dnf installer zabbix-agent ----------- Sur Debian 11 ----------- $ sudo wget https: // repo.zabbix.com / zabbix / 5.4 / Debian / Pool / Main / Z / Zabbix-Release / Zabbix-Release_5.4-1% 2bdebian11_all.deb $ sudo dpkg -i zabbix-lisse_5.4-1% 2bdebian11_all.deb $ sudo apt update $ sudo apt install zabbix-agent2 ----------- Sur Debian 10 ----------- $ sudo wget https: // repo.zabbix.com / zabbix / 5.4 / Debian / Pool / Main / Z / Zabbix-Release / Zabbix-Release_5.4-1% 2bdebian10_all.deb $ sudo dpkg -i zabbix-lisse_5.4-1% 2bdebian10_all.deb $ sudo apt update $ sudo apt install zabbix-agent2 

Étape 2: Configurer Zabbix-Agent dans Linux

Par défaut, le Zabbix L'agent est défini pour expédier des mesures sur le Zabbix serveur sur le même hôte qu'il est installé. Puisque notre objectif est de surveiller docker conteneurs sur le serveur distant, certaines configurations supplémentaires sont requises.

Par conséquent, accédez au Zabbix Fichier de configuration d'agent.

$ sudo vim / etc / zabbix / zabbix_agent2.confli 

Le fichier de configuration contient des paramètres qui spécifient l'adresse où les mesures sont envoyées, le port utilisé pour les connexions et bien plus encore. Pour la plupart, les paramètres par défaut fonctionneront très bien.

Pour configurer le Zabbix agent pour envoyer des mesures à la Zabbix serveur, localisez la directive qui est configurée pour expédier des métriques à l'adresse de bouclage, ou tout simplement, le même système hôte.

Serveur = 127.0.0.1 

Définissez l'adresse pour refléter l'adresse du serveur Zabbix

Serveur = zabbix-server-ip 

De plus, accédez à la 'Chèques actifs'Section et modifier la directive pour pointer vers l'adresse IP du serveur Zabbix.

Servercactive = zabbix-server-ip 

Assurez-vous également d'ajuster également le nom d'hôte du serveur Docker en conséquence. Le nom d'hôte de mon serveur Docker est Ubuntu20.

Nom d'hôte = ubuntu20 

Ensuite, enregistrez les modifications et quittez le fichier de configuration Zabbix.

Pour que l'agent Zabbix garde un œil sur les conteneurs Docker, vous devez ajouter l'utilisateur Zabbix, qui est installé par défaut, au groupe Docker.

$ sudo usermod -Ag docker zabbix 

Pour appliquer les modifications apportées au fichier de configuration, redémarrez le service Zabbix-Agent et permettez-lui de démarrer sur le démarrage du système.

$ sudo systemctl redémarrer zabbix-agent2 $ sudo systemctl activer zabbix-agent2 

Confirmez l'état de fonctionnement de l'agent Zabbix comme suit.

$ sudo systemctl status zabbix-agent2 
Vérifiez l'état de l'agent Zabbix

L'agent Zabbix écoute le port 10050. Si vous avez un pare-feu UFW ou une course à feu d'artifice, envisagez d'ouvrir le port comme suit.

----------- Sur le pare-feu UFW ----------- $ sudo ufw permettre 10050 / TCP $ sudo ufw rechargement ----------- Sur le pare-feu ----------- $ sudo Firewall-CMD --Add-Port = 10050 / TCP - Permanent $ sudo Firewall-CMD - Reload 

Super! Nous sommes maintenant à mi-chemin. L'agent Zabbix peut désormais expédier le Docker Métriques de conteneur sur le serveur Zabbix.

Dans l'étape suivante, nous ajouterons le Docker serveur au Zabbix Interface Web et surveiller les conteneurs Docker.

Étape 3: Ajoutez le Docker au serveur Zabbix pour la surveillance

Pour surveiller un hôte distant, vous devez l'ajouter Zabbix Tableau de bord du serveur via un navigateur. Zabbix fournit une myriade de modèles pour divers services et applications. Nous lierons le modèle approprié à l'hôte Docker pour surveiller spécifiquement les conteneurs. Mais d'abord, accédez à la page de connexion du serveur Zabbix.

http: // zabbix-server-ip / zabbix 
Connexion Zabbix

Une fois que vous vous êtes connecté, accédez à la barre latérale droite et cliquez sur 'Configuration' alors 'Hôtes'.

Configuration de l'hôte Zabbix

Dans le coin le plus haut à droite, cliquez sur 'Créer un hôte'.

Zabbix Créer un hôte

Remplissez les détails du Docker serveur tel que le nom d'hôte & visible nom. Pour les groupes, tapez 'Groupes docker'(Chaque hôte doit être associé à un groupe).

Sous le 'Interfaces«Étiqueter Cliquez sur»Ajouter'Et dans le menu qui apparaît sélectionner'Agent'.

Ajouter l'hôte à la surveillance Zabbix

Ensuite, remplissez l'adresse IP privée du serveur Docker et assurez-vous que le port est défini sur 10050.

Ajouter Docker Server à Zabbix

Ensuite, cliquez sur le Modèles onglet, et dans le 'Lier les nouveaux modèles«Section, spécifiez»Docker par zabbix agent 2'. Puis cliquez sur le 'Ajouter' bouton.

Lier le modèle zabbix à docker

Lorsque vous cliquez sur le bouton Ajouter, l'hôte Docker distant sera automatiquement ajouté comme indiqué.

Surveillance de Zabbix Docker

À ce stade, le serveur Zabbix surveille maintenant votre serveur Docker. À l'étape suivante, nous déploierons un conteneur et vérifierons quelles mesures peuvent être surveillées.

Étape 4: Surveillance des métriques Docker dans la surveillance de Zabbix

Pour commencer la surveillance Docker Mesures, nous allons lancer un conteneur de test. Alors, retournez à votre Docker serveur et lancez un conteneur.

Dans cet exemple, nous allons tirer un Ubuntu image de conteneur et créer un conteneur appelé docker_test_container. Nous aurons alors un accès à la coquille en utilisant le -il option. L'ensemble de la commande pour les opérations est la suivante.

$ sudo docker run --name docker_test_container -it ubuntu bash 
Créer une image de conteneur Ubuntu dans Docker

Vous pouvez essayer quelque chose d'ambitieux comme l'installation de packages de logiciels tels que Apache ou Mariadb Afin de générer des mesures telles que l'utilisation du processeur et le trafic réseau.

Maintenant, retournez au Zabbix tableau de bord du serveur. Cliquer sur 'Surveillance' alors 'Hôtes'. Cliquez sur le nom de votre serveur Docker et dans l'option de menu qui apparaît, sélectionnez 'Dernières données'.

Hôtes de surveillance Zabbix

Après quelques minutes à déployer le conteneur, le serveur Zabbix détectera le conteneur et commencera à remplir certaines statistiques.

Zabbix surveillant l'hôte docker

Vous pouvez également afficher les graphiques des différentes métriques des conteneurs en cliquant sur le 'graphiques«Options du serveur Docker sur le»Hôtes'Page. Ci-dessous, vous pouvez voir les mesures d'utilisation du processeur et de la mémoire.

Zabbix Surveillant les performances Docker

Pour simuler le crash du conteneur, nous sortions de façon inattendue du conteneur en exécutant la commande ci-dessous dans le shell de conteneur.

# Exit 2 

Cela implique que nous avons terminé le conteneur avec un code d'erreur de 2. Ceci est enregistré dans les métadonnées du conteneur. Pour afficher l'alerte, accédez à la barre latérale gauche et cliquez sur 'Surveillance' alors 'Tableau de bord'.

L'alerte est affichée ci-dessous.

Avertissements de Zabbix Docker

Pour rectifier l'erreur, recommencez le conteneur.

$ sudo docker start docker_test_container 

Et cela nous amène à la fin de ce guide. Nous vous avons parcouru une procédure étape par étape de la façon dont vous pouvez surveiller Docker conteneurs utilisant le Zabbix outil de surveillance.