PyNetMap est un logiciel qui vise à simplifier la vie aux administrateurs systèmes.
Lorsque vous gérez une infrastructure de plusieurs serveurs, éventuellement des machines virtuelles et des conteneurs. Il devient difficile de retrouver le chemin pour vous connecter en SSH sur vos machines
Quand je suis arrivé chez DotRiver dans le cadre de mon stage de fin de licence en 2018, J’ai dû identifier toute l’infrastructure de DotRiver manuellement, consulter la documentation qui parfois n’était pas à jour pendant des heures pour pouvoir m’y retrouver.
Même après avoir tout noté, ça me prenait plusieurs minutes parfois pour trouver quel chemin (rebond SSH) pour pouvoir accéder à une VM.
J’ai donc entamé le développement d’un outil qui me permettait de générer ces chemins-là facilement en un clic.
Je me suis vite rendu compte que ce pouvait être plus puissant que ça. En effet le seul fait de savoir accéder à n’importe quelle machine, était déjà une base solide pour aller plus loin.
J’ai donc imaginé un système qui pouvait détecter les machines virtuelles automatiquement et les ajouter à la base ainsi que le fait d’exécuter régulièrement des commandes sur les différentes machines.
L’outil devenait de plus en plus intéressent, j’ai donc décidé de le publier.
À la base cet outil servait principalement à cartographier une infrastructure et nettement grâce à l’outil Graphviz, histoire de voir rapidement quel VM est dans quel serveur et quel serveur est dans quelle infrastructure rattachée à quel client.
Donc en deux mots, PyNeyMap est d’abord un outil de cartographie.
Ensuite le fait d’avoir cette arborescence, m’a permis d’implémenter la connexion SSH sur les VM, même si celle-ci est dans un réseau local interne au serveur. Il suffit d’avoir une seule machine qui servira de proxy SSH pour accéder à toutes les autres.
Grâce à ce système, il suffit de paramétrer le pont SSH sur PyNetMap et vous cliquez une VM pour ouvrier une console dessus en SSH
PyNetMap prend en charge l’API Zabbix et Proxmox pour récupérer régulièrement des informations de monitoring des différentes VM/PM,
Les informations récupérées sont :
Connaissant la nature d’un serveur lambda, un module permet de découvrir ce qui tourne sur ce serveur, si par exemple vous ajoutez un serveur Proxmox dans PyNetMap, ce dernier va lancer à chaque cycle la découverte des VM, conteneurs qui tourne dessus et les ajoute à la base.
cette découverte concerne :
les informations complémentaires doivent être rajoutées manuellement.
Je continue le développement régulièrement sur PyNetMap et je vise à implémenter d’autre fonctionnalité plus avancée nettement :
Je reste ouvert à toute suggestion de fonctionnalités, et pour ceux d’entre vous qui souhaitent contribuer au projet, vous êtes les bienvenues.
Lien Github du client PyNetMAP :
https://github.com/samirkherraz/pynetmap-client
Lien Github du serveur PyNetMAP :
https://github.com/samirkherraz/pynetmap-server
Notes de version 1.2.2