
Supervision de Docker depuis Centreon
Puits, Je suppose que vous avez tous eu comme des champignons Docker containers, Non? Si même un dinosaure comme moi en a un fléau… Puits, et, à part les apprécier, si nous utilisons Centreon comme système de supervision pour notre organisation, Nous le savons déjà, pour les surveiller!
Recommençons par faire l’éloge du scénario 'centreon_plugins.pl’ que nous avons vu dans Articles précédents Et il sert pour presque tout ce dont nous pouvons avoir besoin. Dans ce cas, et grâce à l’API Docker, nous pouvons l’utiliser pour connaître la santé de ses conteneurs, où nous pouvons également connaître l’utilisation du processeur de manière granulaire, Mémoire, IOPS en lecture/écriture et trafic d’interface réseau. Entre autres, puisque nous pourrons également connaître l’état de santé du nœud Docker ou de ses services.
Tout d’abord, sur chaque machine avec Docker, nous activons l’accès API à Docker, Nous allons modifier '/lib/systemd/system/docker.service’ et nous allons modifier la ligne suivante:
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:4444
Nous redémarrons les services, puis vérifions que l’API répond, Le port que nous voulons, Il serait intéressant d’activer un token ou de chiffrer le canal:
sudo systemctl daemon-reload sudo systemctl restart docker curl -X GET http://localhost:4444/images/json
Aujourd’hui, c’est le cas, depuis notre Centreon, nous pourrions commencer à jouer avec 'centreon_plugins.pl', La première chose à faire est de voir l’aide et les moyens dont nous disposons, Courir:
perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --plugin=cloud::docker::Restapi::plugin --list-mode Modes disponibles: container-usage list-containers node-status service-status
Prochain, nous devrons lister les ID des conteneurs et les noter, puis surveiller individuellement chaque conteneur:
perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --plugin=cloud::docker::Restapi::plugin --mode=list-containers --hostname=DIRECCION_IP --port=PORT
et avec un peu plus, Créons 2 Commandes, nous en aurons besoin d’une pour connaître l’utilisation des ressources de chaque conteneur et d’une autre commande pour connaître l’état du nœud Docker, ou si nous avons des services Docker, Eh bien, un autre troisième commandement. Rester:
- Nom de la commande: 'centreon_plugins-docker_container-usage’
- Ligne de commande: perl $CENTREONPLUGINS$/centreon-plugins/centreon_plugins.pl –plugin=cloud::docker::Restapi::Plugin –mode=utilisation-conteneur –nom d’hôte=$HOSTADDRESS$ –port=$ARG 1$ –container-id=$ARG 2$ –attention-cpu=$ARG 3$ –Critique-CPU=$ARG 4$ –critical-container-status='%{état} !~/course/’
- Arguments: ARG1 sera le port de l’API, ID de conteneur ARG2, l’ARG3 et l’ARG4 pour nous alerter de l’utilisation du processeur, Avertissement et Critique respectivement, Nous pouvons mettre plus d’arguments en faveur de la mémoire, Iops par seconde, filet…
- Nom de la commande: centreon_plugins-docker_node-statut’
- Ligne de commande: perl $CENTREONPLUGINS$/centreon-plugins/centreon_plugins.pl –plugin=cloud::docker::Restapi::Plugin –mode=node-status –nom d’hôte=$HOSTADDRESS$ –port=$ARG 1$
- Arguments: ARG1 le port de l’API Docker.
Nous créerons autant de services que de conteneurs dont nous disposons pour contrôler vos ressources, ainsi que la façon dont nous avons et connaissons leur santé. Nous allons associer ces services à un Host que nous allons créer sur la base d’un modèle Linux, Nous allons donc également retirer les ressources du nœud. Puits, puisque nous remplissons les noms de chaque Service, Leurs arguments…
Et comme toujours, si nous l’avons fait correctement et après avoir enregistré et exporté la configuration Centreon, nous l’aurons en un clin d’œil! Tous les conteneurs surveillés, Personne ne consommera plus qu’il ne le devrait, en plus d’avoir la supervision et le contrôle de leurs ressources, ainsi que l’état des nœuds Docker.
J’espère que vous les trouverez intéressants, Et si ce n’est pas le cas, Désolé 😉 bon, J’ai l’intention de, Essayez de superviser autant que possible! Je t’envoie un câlin et puisses-tu être très heureux!