LINEXOS - BLOGhttp://blog.linexos.fr/2023-11-23T09:00:00+00:00Read and share !Offre d'emploi : Technicien Supervision (H/F)2023-11-23T09:00:00+00:00Serge Dewaillyhttp://blog.linexos.fr/author/admin/http://blog.linexos.fr/offre-demploi-technicien-supervision-hf/<h4>Linexos est une société de services spécialisée dans les solutions Open Source avec une offre de service qui s’étend aujourd’hui sur les domaines suivants : </h4>
<ul>
<li>
<h4>Mise en place d’infrastructures sécurisées </h4>
</li>
<li>
<h4>Haute disponibilité, répartition de charges </h4>
</li>
<li>
<h4>Supervision / Monitoring / Hypervision</h4>
</li>
<li>
<h4>Technologies de conteneurisation </h4>
</li>
<li>
<h4>Développement de solutions de monitoring</h4>
</li>
<li>
<h4>Infogérance et MCO</h4>
</li>
</ul>
<h3><span><img alt="Carte Linexos" height="393" src="http://blog.linexos.fr/static/media/uploads/.thumbnails/carte_france_linexos.png/carte_france_linexos-393x393.png" width="393"/></span></h3>
<h3><span>Contexte : </span> </h3>
<p>Le pôle services est en charge d’accompagner nos clients pour administrer et maintenir en condition opérationnelle leurs outils de supervision. </p>
<p>Dans le cadre de sa croissance, Linexos recherche un <strong>Technicien systèmes Linux (H/F)</strong>.</p>
<h3><span>Opportunités : </span> </h3>
<p>Votre mission consistera à mettre en place les outils de supervision chez nos clients, mettre à jour les systèmes, effectuer les paramétrages, surveiller l’état de santé des infrastructures et participer aux projets d’évolution des outils. </p>
<p>En relation directe avec les Administrateurs et chefs de projets, votre réactivité et votre sens du service feront de vous un élément clé tout en assurant une évolution rapide au sein de l’entreprise.</p>
<h3><span>Compétences requises : </span> </h3>
<ul>
<li>Connaissance des environnements Linux (Debian, CentOS / Redhat / Alma Linux)</li>
<li>Connaissance des systèmes et technologies composants les SI actuels (Virtualisation, Clusters, etc.)</li>
<li>Connaissance d’au moins un outil de supervision serait appréciée</li>
<li>Culture Open Source très appréciée</li>
</ul>
<p> Seront considérées comme des compétences supplémentaires très appréciées : </p>
<ul>
<li>Scripting Python</li>
<li>Docker</li>
</ul>
<h3><span>Profil : </span></h3>
<p>Vous avez un Bac +2 ou supérieur, votre sens du service et de la communication ainsi que vos qualités rédactionnelles feront de vous le candidat idéal pour ce poste.</p>
<p> </p>
<p>Type de contrat : CDD / CDI</p>
<p>Rémunération : En fonction de l’expérience</p>
<p>Date de démarrage : Dès que possible</p>
<p>Localisation : Poitiers</p>
<p>Déplacements : France, ponctuels</p>
<p>Avantages :</p>
<ul>
<li>Tickets restaurants</li>
<li>Mutuelle avantageuse</li>
<li>Chèques cadeaux</li>
<li>Primes</li>
</ul>
<h3><span>Pour postuler :</span> </h3>
<p>Envoyer Lettre de motivation + CV à l’adresse : recrutement@linexos.fr</p>Offre d'emploi : Administrateur système Linux (H/F)2023-11-23T09:00:00+00:00Serge Dewaillyhttp://blog.linexos.fr/author/admin/http://blog.linexos.fr/offre-demploi-administrateur-systeme-linux-hf/<h4>Linexos est une société de services spécialisée dans les solutions Open Source avec une offre de service qui s’étend aujourd’hui sur les domaines suivants : </h4>
<ul>
<li>
<h4>Mise en place d’infrastructures sécurisées </h4>
</li>
<li>
<h4>Haute disponibilité, répartition de charges </h4>
</li>
<li>
<h4>Supervision / Monitoring / Hypervision</h4>
</li>
<li>
<h4>Technologies de conteneurisation </h4>
</li>
<li>
<h4>Développement de solutions de monitoring</h4>
</li>
<li>
<h4>Infogérance et MCO</h4>
</li>
</ul>
<h3><span><img alt="Carte Linexos" height="393" src="http://blog.linexos.fr/static/media/uploads/.thumbnails/carte_france_linexos.png/carte_france_linexos-393x393.png" width="393"/></span></h3>
<h3><span>Contexte : </span> </h3>
<p>Le pôle services est en charge d’accompagner nos clients pour administrer et maintenir en condition opérationnelle leurs systèmes d'information. </p>
<p>Dans le cadre de sa croissance, Linexos recherche un<span> </span><strong>Administrateur systèmes Linux (H/F)</strong>.</p>
<h3><span>Opportunités : </span> </h3>
<p>Votre mission consistera à intervenir sur des environnements de production pour mettre à jour les systèmes, effectuer les paramétrages, surveiller l’état de santé des infrastructures et participer aux projets d’évolution des systèmes. </p>
<p>En relation directe avec les Administrateurs et chefs de projets, votre réactivité et votre sens du service feront de vous un élément clé tout en assurant une évolution rapide au sein de l’entreprise.</p>
<h3><span>Compétences requises : </span> </h3>
<ul>
<li>Bonne connaissance des environnements Linux (Debian, Alma Linux, CentOS)</li>
<li>Bonne connaissance des systèmes et technologies composants les SI actuels (Virtualisation, Clusters, etc.)</li>
<li>Bonne connaissance des protocoles réseaux et communications </li>
<li>Culture Open Source très appréciée</li>
</ul>
<p> Seront considérées comme des compétences supplémentaires très appréciées : </p>
<ul>
<li>Scripting Python</li>
<li>Conteneurisation (Docker) </li>
</ul>
<h3><span>Profil : </span></h3>
<p>Vous avez un Bac +2 ou supérieur, avec une première expérience réussie. </p>
<p>Votre sens du service et de la communication ainsi que vos qualités rédactionnelles feront de vous le candidat idéal pour ce poste.</p>
<p> </p>
<p>Type de contrat : CDD / CDI</p>
<p>Rémunération : En fonction de l’expérience</p>
<p>Date de démarrage : Dès que possible</p>
<p>Localisation : Poitiers</p>
<p>Déplacements : France, ponctuels</p>
<p>Télétravail : Oui</p>
<p>Avantages :</p>
<ul>
<li>Tickets restaurants</li>
<li>Mutuelle avantageuse</li>
<li>Chèques cadeaux</li>
<li>Primes</li>
</ul>
<h3><span>Pour postuler :</span> </h3>
<p>Envoyer Lettre de motivation + CV à l’adresse : recrutement@linexos.fr</p>Offre d'emploi : Intégrateur supervision (PARIS)2022-09-15T12:52:16+00:00Serge Dewaillyhttp://blog.linexos.fr/author/admin/http://blog.linexos.fr/offre-demploi-supervision-paris/<h4>Linexos est une société de services spécialisée dans les solutions Open Source avec une offre de service qui s’étend aujourd’hui sur les domaines suivants : </h4>
<ul>
<li>
<h4>Mise en place d’infrastructures sécurisées </h4>
</li>
<li>
<h4>Haute disponibilité, répartition de charges </h4>
</li>
<li>
<h4>Supervision / Monitoring / Hypervision</h4>
</li>
<li>
<h4>Technologies de conteneurisation </h4>
</li>
<li>
<h4>Développement de solutions de monitoring</h4>
</li>
<li>
<h4>Infogérance et MCO</h4>
</li>
</ul>
<h3><span><img alt="Carte Linexos" height="393" src="http://blog.linexos.fr/static/media/uploads/.thumbnails/carte_france_linexos.png/carte_france_linexos-393x393.png" width="393"/></span></h3>
<h3><span>Contexte : </span> </h3>
<p>Le pôle services et intégration est en charge d’accompagner nos clients pour la mise en place de leurs outils de pilotage et supervision. </p>
<p>Dans le cadre de sa croissance, Linexos recherche un<strong> Intégrateur de solutions de monitoring (H/F) en région Parisienne</strong>.</p>
<h3><span>Opportunités : </span> </h3>
<p>Votre mission sera d’accompagner et former nos clients sur des technologies innovantes leur permettant d’assurer une bonne surveillance de leurs systèmes d’informations et outils numériques. </p>
<p>En relation directe avec les Administrateurs et chefs de projets, votre réactivité et votre sens du service feront de vous un élément clé tout en assurant une évolution rapide au sein de l’entreprise. </p>
<p><span>Compétences requises : </span><span> </span></p>
<ul>
<li>Bonne connaissance des environnements Linux (Debian, CentOS / Redhat)</li>
<li>Bonne connaissance des systèmes et technologies composants les SI actuels (Virtualisation, Clusters, etc.)</li>
<li>Bonne connaissance des protocoles réseaux et communications </li>
<li>Connaissance d’au moins un outil de supervision serait appréciée</li>
<li>Bon relationnel</li>
<li>Culture Open Source très appréciée</li>
</ul>
<p> Seront considérées comme des compétences supplémentaires très appréciées : </p>
<ul>
<li>Python, NodeJS</li>
<li>Connaissance de la stack Elastic </li>
</ul>
<h3><span>Profil : </span></h3>
<p>Vous avez un Bac +2 ou supérieur, avec une première expérience réussie. </p>
<p>Votre sens du service et de la communication ainsi que vos qualités rédactionnelles feront de vous le candidat idéal pour ce poste.</p>
<p> </p>
<p>Type de contrat : CDI</p>
<p>Rémunération : En fonction de l’expérience</p>
<p>Date de démarrage : Dès que possible</p>
<p>Localisation : Paris / Île-de-France</p>
<p>Déplacements : France</p>
<p>Avantages :</p>
<ul>
<li>Tickets restaurants</li>
<li>Mutuelle avantageuse</li>
<li>Chèques cadeaux</li>
<li>Primes</li>
</ul>
<h3><span>Pour postuler :</span> </h3>
<p>Envoyer Lettre de motivation + CV à l’adresse : recrutement@linexos.fr</p>OSCI : Open Source Container Infrastructure - Partie 12018-02-01T20:28:01+00:00Serge Dewaillyhttp://blog.linexos.fr/author/admin/http://blog.linexos.fr/osci-open-source-container-infrastructure-partie-1/<h4 style="text-align: center;"><em>Une Infra DevOps Open Source ? C'est possible ça ? Et ça marche ? Ou c'est encore un truc de Barbus ?</em></h4>
<p>Nous allons tenter, à travers une série d'articles, de répondre à toutes ces questions, et même plus... </p>
<p>Ce premier article a pour objectif de présenter l'architecture et de présenter chacune des briques utilisées. </p>
<h3>Objectif de notre infrastructure</h3>
<p>Notre infrastructure, devra permettre d'aider les développeurs dans leur quotidien, et devra également permettre de soulager la partie administration de systèmes, en étant agile, et sans pour autant compromettre la sécurité.</p>
<p>Voici une liste des points indispensables pour notre infrastructure DevOps : </p>
<p> - déploiement continu d'applications</p>
<p> - environnements prod, recette, etc.</p>
<p> - scalabilité sans compromis</p>
<p> - liberté du choix d'hébergeur (Hébergement public, OnPremise, Infogéré, IAAS, etc.)</p>
<p> - facilité de déploiement et de maintenabilité</p>
<p> - une interface Web pour la gestion de nos applications</p>
<p>Et bien sûr, de l'<strong>Open Source</strong> ! Pas seulement par principe ou par éthique, mais pour plus de souplesse, plus d'ouverture sur les outils connexes, etc. </p>
<h3>Schéma fonctionnel</h3>
<p>L'infrastructure reposera sur un hyperviseur pour la virtualisation, sur un orchestrateur pour les conteneurs, et sera composée d'un load-balancer publique, ainsi que de différents datastores. </p>
<p>Le schéma suivant montre à la fois l'organisation et les choix techniques sur lesquels reposeront notre système orienté DevOps : </p>
<p><img alt="schema_fonctionnel" height="423" src="http://blog.linexos.fr/static/media/uploads/OSCI/.thumbnails/schema_fonctionnel.png/schema_fonctionnel-801x423.png" width="801"/></p>
<h3>Détail des composants</h3>
<h4>Proxmox</h4>
<p><strong>Proxmox</strong> est une solution de virtualisation libre, basée sur KVM et de type "bare metal". Cet hyperviseur permet également de déployer des conteneurs LXC, mais que nous n'utiliserons pas dans notre cas. Cette solution est très complète, offrant une interface de configuration "Full Web", des fonctionnalités relativement simaires à VMware, elle propose également la gestion de cluster. </p>
<p><img alt="Proxmox" height="384" src="http://blog.linexos.fr/static/media/uploads/OSCI/.thumbnails/proxmox01.png/proxmox01-800x384.png" width="800"/></p>
<p>Son installation est relativement simple puisqu'une image ISO est fournie, permettant d'automatiser l'ensemble des opérations.</p>
<blockquote>
<div>Dans notre infrastructure, Proxmox supportera l'ensemble des systèmes virtualisés, et sera installé sur un serveur Physique disposant de suffisamment de ressources CPU, Mémoire et Disque.</div>
</blockquote>
<h4>Nginx</h4>
<p>Nginx (prononcez Engine X) est un serveur HTTP et Reverse Proxy, également capable d'agir comme reverse proxy TCP. Sa particularité est d'être asynchrone par opposition aux serveurs synchrones où chaque requête est traitée par un processus dédié.</p>
<blockquote>
<p>Dans notre infrastructure, Nginx sera utilisé comme gateway pour recevoir et diriger les requêtes http(s) en provenance de l'extérieur. Son rôle sera de router les requêtes vers les bons services en fonction des URI demandées. </p>
</blockquote>
<p><em>À noter que nginx n'est pas indispensable, et qu'il est tout à fait possible d'utiliser directement les "routeurs" mis à disposition par openshift. Il est cependant intéressant de mettre en place un loadbalancer comme nginx en amont, afin de pouvoir gérer du contenu statique, des pages d'indispo, voire des règles spécifiques.</em></p>
<h4>OpenShift</h4>
<p>OpenShift est le PAAS (Plateform As A Service) de la société Red Hat. Cette solution s'appuie sur Kubernetes pour l'orchestration et la gestion des conteneurs, en ajoutant les fonctionnalités suivantes : </p>
<ul>
<li>Développement rapide d'application</li>
<li>Déploiement d'application simplifié</li>
<li>Scalabilité </li>
<li>Automatisation (Construction d'application, déploiement, routage)</li>
<li>Plateforme multi-tenants (Gestion de projets, de droits, etc.)</li>
<li>Une interface Web pour le déploiement et le monitoring</li>
</ul>
<p>Son installation est également simplifiée par l'utilisation d'Ansible, ce qui assure une meilleure maintenabilité (souvent compliqué sur ce type de plateforme...). </p>
<p><img alt="OpenShift01" height="307" src="http://blog.linexos.fr/static/media/uploads/OSCI/.thumbnails/openshift01.png/openshift01-733x307.png" width="733"/></p>
<blockquote>
<p>Dans notre infrastructure, OpenShift va nous permettre de déployer et gérer les conteneurs, d'assurer une bonne répartition de charge entre les nœuds, et de simplifier au maximum le déploiement d'application jusqu'à leur mise en production. </p>
</blockquote>
<h4>Dockers</h4>
<p>Docker permet de construire et gérer des applications sous forme de conteneurs isolés, en mettant à disposition une API de haut niveau. Cette technologie permet aux développeurs de s'affranchir de l'architecture sur laquelle sera déployée l'application, tout en structurant les applications, et en fiabilisant leurs futurs déploiements.</p>
<p>Cette technologie répond également à l'agilité nécessaire dans l'ère du tout digital. Il est donc possible de développer une application depuis son poste en construisant dès le début cette application dans un Docker, puis une fois validée, cette application peut être mise en production en quelques clics via OpenShift ! </p>
<blockquote>
<p>Dans notre infrastructure, Docker sera orchestré par OpenShift, via Kubernetes. Nos développeurs pourront coder et tester les applications directement depuis leur poste, avant de les déployer sur notre infrastructure. </p>
</blockquote>
<h4>Persistent Storage</h4>
<p>Pour ceux qui connaissent Docker, sans créer de Volumes, et de Persistent Storage, les données ne seront pas conservées lors de la reconstruction du conteneur, ou lorsque ce dernier changera de nœud OpenShift. </p>
<p>Il est donc indispensable de mettre à disposition des conteneurs du Stockage Persistent. Cette obligation, vue comme une contrainte de prime abord, s'avère finalement être une bonne chose pour tout le monde !</p>
<p>Fini les applications qui écrivent des données n'importe où, et surtout on pense maintenant les applications différemments, en sérialisant les données, et en réfléchissant API et Webservices. Au final, tout le monde s'y retrouve !</p>
<blockquote>
<p>Dans notre cas, et pour ne pas trop compliquer cet article, nous allons prendre l'exemple de trois types de stockage de données : </p>
</blockquote>
<ul>
<li>
<blockquote>Données liées à la configuration et aux contenus statiques en s'appuyant sur NFS (Network File System)</blockquote>
</li>
<li>
<blockquote>Données liées à du stockage de données type documents / index en s'appuyant sur la suite Elastic</blockquote>
</li>
<li>
<blockquote>Données relationnelles en utilisant un SGBD, ici PostgreSQL</blockquote>
</li>
</ul>
<p>Les conteneurs auront accès à ces Persistent Storage via des variables d'environnements positionnées au moment de leur démarrage. Ces variables seront donc soit renseignées sur la ligne de commande permettant la création d'un conteneur, soit directement via le formulaire de création OpenShift. Ce qui, encore une fois, permet une grande souplesse et une simplification maximum, puisque la configuration des datastores devient uniforme quelque soit l'application !</p>
<h4>Tools</h4>
<p>Cette brique est indispensable pour la production et l'exploitation. C'est via cette brique que l'on pourra surveiller efficacement les ressources et les différentes charges, puisque, rappelons-le, l'infrastructure présentée doit être capable de mettre à disposition des centaines d'applications... </p>
<p><strong>cAdvisor</strong> est incontournable sur ce type de plateforme. Fonctionnant lui-même dans un conteneur, cet agent surveille et récupère les données de consommation des ressources et des performances comme le processeur, la mémoire, ainsi que l'utilisation disque et réseau des conteneurs de chaque nœud. Il est également utilisé pour gérer l'auto-scalling de Kubernetes. </p>
<blockquote>
<p>Dans notre cas, nous allons utiliser cAdvisor pour récolter de manière aisée et intégrée l'ensemble des métriques utiles : CPU, Mémoire, etc. cAdvisor mettant à disposition ces résultats à travers une API Rest, nous pourrons utiliser un outil de supervision plus global pour centraliser ces métriques. </p>
</blockquote>
<p><strong>Shinken (Enterprise)</strong></p>
<p>Cette brique va nous servir à surveiller l'ensemble des composants mis en place, que ce soit l'hyperviseur, les machines virtuelles, ainsi que les applications. Les conteneurs seront eux aussi supervisés via les API de cAdvisor. </p>
<p>Shinken, dans sa version Community comme Enterprise, repose sur un système de plugin Open Source, ce qui le rend polyvalent et flexible. </p>
<p>Pour surveiller les applications, qui reposeront probablement sur différents tenants, il sera possible de créer des règles métiers permettant ainsi de surveiller et valider l'ensemble de la chaîne composant une application. Voir l'article <a href="http://blog.linexos.fr/surveillez-vos-applications/" target="_blank" title="Surveillez vos applications">http://blog.linexos.fr/surveillez-vos-applications/</a> pour plus de détails sur le sujet. </p>
<blockquote>
<p><span>Dans notre cas,<span> Shinken va nous servir à surveiller l'état des serveurs (physiques et virtuels), l'état des ressources, et également l'état des applications et composants (Stack Elastic, etc.). </span></span></p>
</blockquote>
<p><strong>Grafana</strong></p>
<p><strong>Grafana</strong> permet la mise en forme et la visualisation de données types métriques, en provenance de bases temporelles (Graphite, InfluxDB, Elasticsearch, etc.), sous forme de tableaux de bords.</p>
<p><img alt="Grafana01" height="487" src="http://blog.linexos.fr/static/media/uploads/Janvier2018_Supervision/.thumbnails/metrics_01.png/metrics_01-637x487.png" width="637"/></p>
<blockquote>
<p>Dans notre cas, Grafana sera utilisé pour afficher sur un même tableau de bords des métriques en provenance de Graphite (alimenté par Shinken). Il sera possible de surveiller l'ensemble des nœuds et de comparer l'utilisation des ressources. </p>
<p></p>
</blockquote>
<h4>Les briques sont posées ! </h4>
<p>Maintenant que l'ensemble des briques sont posées, et que les choix technologiques sont faits, il ne reste plus qu'à installer et configurer les différents composants (ce que nous ne détaillerons pas ici...). </p>
<p>L'infrastructure OpenShift sera composée des éléments suivants : </p>
<ul>
<li>un master (orchestration, API)</li>
<li>deux nœuds "applications"</li>
<li>deux nœuds "infra"</li>
</ul>
<p>Cette configuration est le minimum recommandé, il est bien sûr possible de déployer plus de nœuds et d'ajouter de la redondance sur le master. Chacun de ces composants sera déployé sur des machines virtuelles séparées. </p>
<p>Les nœuds "applications" seront utilisés pour déployer les conteneurs de production, tandis que les nœuds "infra" assureront le fonctionnement des routeurs (haproxy), des Registry (Docker), et tous les outils utiles à l'exploitation. </p>
<p>Cette configuration assure une répartition de charge, de la haute disposinibilité, et facilitera la scalabilité plus tard si nécessaire. </p>
<p>Pour la partie "Datastore", nous mettrons en place un cluster Elastic, un cluster PostgreSQL, et un serveurs NFS (qui peut également être mis en cluster avec un filesystem type GlusterFS par exemple). </p>
<p>Shinken (Enterprise) sera installé sur une VM dédiée. Grafana pourra être installé sur le même serveur. cAdvisor sera déployé sous forme de conteneur Docker depuis OpenShift. </p>
<p>Enfin, notre reverse proxy "frontal" sera installé sur une VM dédiée. Pour fiabiliser cette brique, il est possible d'installer deux serveurs, et utiliser du RoundRobin DNS. </p>
<h4>Configuration </h4>
<h5>Gestion du DNS</h5>
<p>Afin de simplifier les futurs opérations, un domaine sera dédié à notre infrastructure. Nous allons donc créé une entrée de type A : </p>
<p>*.linexos-dev.fr -> X.X.X.X (IP du Reverse Proxy Nginx)</p>
<p>Cette entrée nous permettra de ne plus avoir à gérer le DNS par la suite, et de déployer des applications rapidement, dans l'esprit DevOps !</p>
<h5>Reverse Proxy</h5>
<p>Une fois l'ensemble des composants installé, il est nécessaire d'exposer notre console OpenShift afin d'y accéder depuis l'extérieur, en ajoutant la configuration nécessaire sur Nginx.</p>
<h4>On démarre ? </h4>
<p>Notre infrastructure est installée et opérationnelle, il est maintenant possible de se connecter à l'interface et déployer notre première application ! </p>
<p>Lors de la connexion, la page d'accueil affiche la liste des projets. Nous allons donc commencer par créer notre premier projet, et déployer nos premiers conteneurs depuis la console Web OpenShift. </p>
<h4>Quid de la scalabilité ? </h4>
<p>Notre infrastructure est basée sur un hyperviseur ProxMox, autorisant la gestion de cluster, ce qui permet d'étendre notre hyperviseur sur plusieurs serveurs physiques, en ajoutant donc une répartition de charge, ainsi que de la haute disponibilité. On pourra par exemple mettre en place l'infrastructure suivante : </p>
<p><img alt="Scalabilite_Hyperviseur" height="423" src="http://blog.linexos.fr/static/media/uploads/OSCI/.thumbnails/scalabilite_hyperviseur.png/scalabilite_hyperviseur-535x423.png" width="535"/></p>
<p>Il sera donc possible d'augmenter facilement le nombre de nœuds en fonction du nombre d'application déployées. </p>
<p>La scalabilité des applications peut être gérée directement depuis OpenShift. Il est ainsi possible de démarrer plusieurs instances (plusieurs conteneurs) pour une application, ce qui permet de répartir la charge et de fiabiliser l'application.</p>
<h4>Conclusion</h4>
<p>La première partie de cette série consacrée à OpenShift est terminée. </p>
<p>Dans le prochain article, nous détaillerons le déploiement d'une application en partant de la construction de l'image Docker jusqu'à sa mise en production. </p>Surveillez vos applications2018-01-24T10:04:55+00:00Serge Dewaillyhttp://blog.linexos.fr/author/admin/http://blog.linexos.fr/surveillez-vos-applications/<p style="text-align: left;">La mise en œuvre d'une supervision efficace n'est pas compliquée, avec un peu de méthode, et en faisant les choses dans l'ordre. Toute la réussite réside dans l'exploitation des données extraites des outils de monitoring. </p>
<p style="text-align: left;">L'objectif de cet article est de montrer, à travers un exemple concret, comment superviser efficacement vos applications, et comment valoriser votre outil de supervision. </p>
<h3 style="text-align: left;">Introduction</h3>
<p>Pour cet article, nous allons prendre comme exemple une application web, fonctionnant dans un conteneur Docker orchestré par OpenShift. L'ensemble de l'infrastructure est virtualisée avec Proxmox. </p>
<p>Cette application dépend donc de plusieurs briques essentielles pour fonctionner et pour être disponible depuis l'extérieur, comme le montre le schéma ci-dessous. </p>
<p><img alt="schema_01" height="500" src="http://blog.linexos.fr/static/media/uploads/Janvier2018_Supervision/.thumbnails/schema_appli.png/schema_appli-678x500.png" width="678"/></p>
<p></p>
<h3 style="text-align: left;">Surveillance Système</h3>
<p style="text-align: left;">Nous allons donc ajouter chacun de ces serveurs dans notre outil de supervision préféré, pour disposer, dans un premier temps, d'une surveillance système : </p>
<p style="text-align: left;"><img alt="basic_monitoring_01" height="242" src="http://blog.linexos.fr/static/media/uploads/Janvier2018_Supervision/.thumbnails/basic_monitoring_01.png/basic_monitoring_01-742x242.png" width="742"/></p>
<p style="text-align: left;">Les indicateurs systèmes nous permettront d'avoir une bonne visibilité sur les différentes métriques : mémoire, CPU, Disks, etc. </p>
<p style="text-align: left;">C'est pas mal, mais ça ne va pas nous aider beaucoup pour connaître l'état de fonctionnement de notre application ! </p>
<p style="text-align: left;"></p>
<h3 style="text-align: left;">Les services</h3>
<p style="text-align: left;">Continuons donc en ajoutant les briques "services" des différents éléments : </p>
<p style="text-align: left;">- nginx : http / https</p>
<p style="text-align: left;">- elasticsearch : taille des index, état de l'api, etc.</p>
<p style="text-align: left;">- openshift : état du conteneur (pod)</p>
<p style="text-align: left;">- etc.</p>
<p style="text-align: left;"><img alt="basic_monitoring_03" height="240" src="http://blog.linexos.fr/static/media/uploads/Janvier2018_Supervision/.thumbnails/basic_monitoring_03.png/basic_monitoring_03-720x240.png" width="720"/></p>
<p style="text-align: left;">Bien !</p>
<p style="text-align: left;">Nous connaissons maintenant l'état de nos serveurs, de nos services, et nous disposons également de métriques : </p>
<p style="text-align: left;"><img alt="metrics_02" height="251" src="http://blog.linexos.fr/static/media/uploads/Janvier2018_Supervision/.thumbnails/metrics_02.png/metrics_02-500x251.png" width="500"/></p>
<p style="text-align: left;">A ce stade, nous serons alerté en cas</p>
<ul>
<li style="text-align: left;">de perte d'un serveur</li>
<li style="text-align: left;">de perte d'un service</li>
<li style="text-align: left;">d'un dépassement de seuil</li>
</ul>
<p style="text-align: left;"></p>
<h3 style="text-align: left;">Les règles métiers</h3>
<p style="text-align: left;">La dernière étape consiste à écrire des règles permettant de décrire cette application. L'objectif derrière cette étape, est de connaître à tout moment l'état de notre application, et également de connaître les impacts en cas de perte d'un des composants. </p>
<p style="text-align: left;">Autrement dit, ces règles devront répondre à ces questions : </p>
<ul>
<li style="text-align: left;">Est-ce que mon application est disponible ?</li>
<li style="text-align: left;">Que se passe-t-il si tel ou tel élément devient indisponible ? </li>
<li style="text-align: left;">De quoi est composé mon application ?</li>
<li style="text-align: left;">Quel est le niveau de disponibilité de mon application ? </li>
</ul>
<p>Pour répondre à ces questions, l'outil de supervision doit connaître les composants essentiels à la survie de notre applicaiton, et doit également prendre en compte les éventuelles fiabilisations mises en place (Haute Disponibilité).</p>
<p>Nous allons donc commencer par décrire notre cluster, et petit à petit remonter jusqu'à notre application. </p>
<h4 style="text-align: left;">Business Rules N°1 : Plateforme Proxmox</h4>
<p style="text-align: left;">La première règle consiste à vérifier le bon fonctionnement de notre infrastructure de virtualisation, en ne prenant que l'essentiel, ce qui donne : </p>
<p style="text-align: left;"><strong>Proxmox03</strong> = linexos-prox03 <strong>AND</strong> linexos-prox03/Disks</p>
<p style="text-align: left;">Cette règle simple, permet de s'assurer que l'hyperviseur est présent, et qu'il reste suffisamment d'espace disque pour les systèmes invités. </p>
<h4 style="text-align: left;">Business Rules N°2 : Plateforme Openshift</h4>
<p style="text-align: left;">La seconde règle va concerner le cluster Openshift, qui se compose de plusieurs serveurs : </p>
<ul>
<li style="text-align: left;">2 nodes applicatifs : les images Docker sont démarrées sur ces nodes en répartition de charge</li>
<li style="text-align: left;">2 nodes infra : ces nodes permettent l'exécution des Loadbalancers (nginx) et du docker-registry</li>
<li style="text-align: left;">1 node master : l'orchestrateur, l'API Openshift, la console d'administration Openshift</li>
<li style="text-align: left;">1 loadbalancer frontal : Service nginx public, permettant quelques filtrages, et permettant le reverse-proxy vers les bons loadbalancer openshift</li>
</ul>
<p>Pour que le cluster soit considéré comme opérationnel, il faut donc qu'au moins un de chacun des composants soit actif : </p>
<p><strong>Openshift</strong> = (linexos-node01 <strong>OR</strong> linexos-node02) <strong>AND</strong> (linexos-node03 <strong>OR</strong> linexos-node04) <strong>AND</strong> linexos-openshift01 <strong>AND</strong> linexos-rproxy01-pub/Nginx-status <span><strong>AND</strong> linexos-rproxy01-pub/</span><span>Https</span></p>
<p style="text-align: left;">Cette règle, combinant des ET/OU nous donnera un état précis quant au fonctionnement du cluster Openshift, et pourra par la suite être réutilisée pour chacune des applications et conteneurs. </p>
<h4 style="text-align: left;">Business Rules N°3 : Datastore Openshift</h4>
<p>La troisième règle va concerner les espaces de stockage utilisés par notre application. Cette application va à la fois lire et écrire des documents indexés dans elasticsearch, et va également enregistrer des fichiers plats dans un volume NFS. </p>
<p>Nous pouvons donc considérer que ces deux espaces de stockage peuvent être regroupés dans une règle "openshift-datastore" : </p>
<p><strong>Openshift-datastore</strong> = elassig01/<span>Elasticsearch <strong>AND</strong> elassig01/Disks <strong>AND</strong> linexos-nfs01/Disks</span></p>
<p style="text-align: left;">Cette règle pourra aussi être réutilisée pour chaque instance de cette application, voire pour d'autres applications s'appuyant sur le même fonctionnement. </p>
<h4 style="text-align: left;">Business Rules N°4<span> </span>: Application / Container</h4>
<p>La quatrième règle va concerner l'application elle-même. Cette application est capable de retourner un état de type "Health Check", ce qui va permettre d'en verifier le bon fonctionnement. Cette application est démarrée lorsqu'au moins un conteneur Docker est démarré. </p>
<p><strong>App-Demo-Health</strong> = app-demo/Https <strong>AND </strong>app-demo/openshift_pod</p>
<p><em>Le check "Https" appelle une URL de type "Health Check" permettant de vérifier à la fois la connectivité avec l'application, et son état de fonctionnement interne. </em></p>
<h4 style="text-align: left;">Business Rules N°5<span> </span>: Application : Consolidation</h4>
<p>Cette dernière règle va en fait être une règle de consolidation de l'ensemble des règles précédentes. Elle va servir à disposer d'une règle globale reprenant l'ensemble des états indispensables au bon fonctionnement de notre application. </p>
<p><strong>App-Demo</strong> = Proxmox03 <strong>AND </strong>Openshift <strong>AND </strong>Openshift-datastore <strong>AND </strong> App-Demo-Health</p>
<p>Ce qui, graphiquement, nous donnera : </p>
<p><img alt="" height="813" src="http://blog.linexos.fr/static/media/uploads/Janvier2018_Supervision/.thumbnails/graphdependency.png/graphdependency-741x813.png" width="741"/></p>
<p>Excellent ! </p>
<p>Nous avons maintenant une supervision fine pour notre application, qui va nous permettre : </p>
<ul>
<li>De connaître immédiatement les impacts en cas de perte de l'un des composants</li>
<li>D'être alerté sur la cause en cas de problème</li>
<li>D'alerter les bons contacts en fonction des problèmes</li>
</ul>
<h4></h4>
<h3>Notifications</h3>
<p>Comme l'évoque le dernier point, il est effectivement possible, à travers cette règle métier, d'envoyer les notifications aux bons contacts, en fonction de la criticité, et en fonction de l'impact.</p>
<p>Voici quelques exemples : </p>
<p></p>
<p><strong>Warning sur l'espace disque NFS</strong></p>
<p>Impact : Aucun</p>
<p>Criticité : Sérieux</p>
<p>Qui : Administrateurs</p>
<p></p>
<p><strong>Node01 Hors service</strong></p>
<p>Impact :<span> </span>Aucun</p>
<p>Criticité : Léger</p>
<p>Qui : Support,Administrateurs</p>
<p></p>
<p><b>Rproxy / Nginx Arrêté</b></p>
<p>Impact :<span> </span>App-Demo</p>
<p>Criticité : Grave</p>
<p>Qui : Administrateurs, Responsable de production, Client</p>
<p></p>
<p><strong>App-Demo-Healthcheck KO</strong></p>
<p>Impact :<span> App-Demo</span></p>
<p>Criticité : Grave</p>
<p>Qui : Support, Développeurs, Responsable de production, Client</p>
<p></p>
<p>Comme le montrent ces quelques exemples, il est très facile, avec ce type de règle, de mettre des contacts en face de chaque brique, et en face de chaque "étage". Ce système permettra également de mettre en place des escalades. </p>
<p>Les notifications seront efficaces, et le temps de résolution des incidents sera fortement diminué, du fait que la cause du problème sera toujours mise en avant. </p>
<h4></h4>
<h3>Pour aller plus loin </h3>
<p>Notre supervision active est opérationnelle, et apporte une vraie valeur ajoutée pour notre application. Ce qui nous manque, c'est une détection d'erreur ou de défaillance de l'application. </p>
<p>Si c'est un sujet difficile à aborder avec les outils de monitoring classiques, les outils de collecte et indexation de Logs seront vos alliés ! </p>
<p>Il est en effet possible, et même fortement recommandé, de récolter les logs à tous les niveaux : Système, Service, Applicatif, LoadBalancer. </p>
<p>Le fait de récolter ces journaux, et surtout le fait de les indexer avec un outil digne de ce nom comme la stack Elastic, vous permettra : </p>
<ul>
<li>D'effectuer des recherches dans les logs en cas de problème</li>
<li>De mettre en place des tableaux de bords liés à l'activité (KPI)</li>
<li>De rapprocher les états issus du monitoring avec les métriques applicatives</li>
</ul>
<p>Et pour aller encore plus loin, il est même possible, de mettre en place des plugins qui iront interroger les index, afin de surveiller des comportements applicatifs. </p>
<p>Reprenons notre exemple, voici le type de tableaux de bords que nous avons mis en place avec la stack Elastic : </p>
<p><img alt="" height="304" src="http://blog.linexos.fr/static/media/uploads/Janvier2018_Supervision/.thumbnails/kibana_status_code.png/kibana_status_code-759x304.png" width="759"/></p>
<p><img alt="" height="194" src="http://blog.linexos.fr/static/media/uploads/Janvier2018_Supervision/.thumbnails/kibana_url.png/kibana_url-841x194.png" width="841"/></p>
<p><img alt="" height="384" src="http://blog.linexos.fr/static/media/uploads/Janvier2018_Supervision/.thumbnails/kiabana_geoloc.png/kiabana_geoloc-510x384.png" width="510"/></p>
<p>Ce type de Dashboard permet d'avoir des statistiques basées sur les éléments suivants : </p>
<ul>
<li>Temps de réponse des pages</li>
<li>Code HTTP des requêtes </li>
<li>URLs appelées</li>
<li>Adresse IP des clients HTTP</li>
<li>Géolocalisation des clients</li>
</ul>
<p>Il est alors facile d'imaginer que l'on peut mettre en place des plugins, sur notre outil de supervision, qui nous retourneraient les résultats suivants : </p>
<ul>
<li>Nombre d'erreur 404 sur la dernière demie-heure</li>
<li>Nombre d'erreur 500 sur les 10 dernières minutes</li>
<li>Temps de rendu moyen des pages (status 200)</li>
</ul>
<p>Et pour passer le cap du pseudo-machine learning, ou de potentiels risques, il est possible de mettre en place des alertes se basant sur : </p>
<ul>
<li>un seuil maximale de requêtes par IP (DDOS détection ?)</li>
<li>un seuil maximale d'erreurs pour une même IP (tentative d'injection ?)</li>
<li>etc. </li>
</ul>
<h3>Conclusion</h3>
<p>Comme le montre cet article, les outils actuels, combinés, permettent d'aller très loin en matière de supervision. </p>
<p>Cette approche n'est pas la seule, mais elle est redoutablement efficace, et permet de garder une cohérence d'un bout à l'autre, en disposant de composants réutilisables et maintenables.</p>
<p></p>
<p><strong>Pour plus d'infos : info@linexos.fr</strong></p>
<p></p>Linexos récompensée par le prix innovation2017-06-17T10:16:43+00:00Serge Dewaillyhttp://blog.linexos.fr/author/admin/http://blog.linexos.fr/linexos-le-prix-innovation/<p>C'est avec une immense joie que Linexos partage ce post suite à la récompense par le prix <strong>Innovation</strong>. </p>
<p><span>L’objectif de ce concours est, depuis son origine en 2007 à l’initiative du Centre d’Entreprises et d’Innovation (CEI), de susciter, détecter, accompagner et récompenser des projets originaux, novateurs et porteurs d’avenir pour le Département de la Vienne.</span></p>
<p>C'est aujourd'hui le <strong>deuxième</strong> <strong>concours national </strong><span>de création et de reprise d'entreprise. </span></p>
<p><span></span></p>
<h3><span>Une récompense pour sa vision du métier </span></h3>
<p><span><img alt="Remise de Prix" height="348" src="http://blog.linexos.fr/static/media/uploads/.thumbnails/remise_prix_linexos.jpg/remise_prix_linexos-522x348.jpg" width="522"/></span></p>
<p>A travers la présentation de l'activité <strong>Supervision et Hypervision</strong>, Serge Dewailly, Président de la société Linexos a su convaincre les membres du jury. </p>
<p>Ou comment à travers des outils complexes et des miliers d'informations Linexos sait montrer des vues synthétiques en apportant une approche métier et une valeur ajoutée dans la surveillance des systèmes actuels. </p>
<p>La valeur ajoutée de Linexos : </p>
<ul style="list-style-type: disc;">
<li>Apporter des réponses aux problématiques de surveillances des SI</li>
<li>Apporter des tableaux de bords à l'ensemble des acteurs du SI (Techniciens, Ingénieurs, Etudes, DSI etc.)</li>
<li>Quantifier la consommation et le coût des différentes infrastructures (Salles, Cloud, SAAS etc.) </li>
</ul>
<p>Par ses différentes compétences, Linexos est capable de fournir un service <span style="text-decoration: underline;">clés en main</span> dans ce domaine, allant de l'étude à la mise en production. Une version SAAS fait également parti du catalogue. </p>
<p>Pour aller plus loin, Linexos souhaite mettre en place, à court terme, un Centre de Services, afin de prendre en charge l'intégralité de la supervision des systèmes, et ainsi permettre aux équipes techniques qui composent le SI de se concentrer sur leurs métiers. </p>
<h3>Merci !</h3>
<p>CreaVienne aura été une super aventure et aura permis de belles rencontres ! Un grand merci aux organisateurs, aux partenaires, et un grand bravo à l'ensemble des participants. </p>
<p></p>
<p>Le site de Crea'Vienne : <a href="http://creavienne.fr/fr/">http://creavienne.fr/fr/</a><a href="http://creavienne.fr/fr/" target="_blank"></a></p>
<p>Quelques publications : </p>
<ul>
<li><a href="http://www.info-eco.fr/creavienne-revele-entrepreneurs-osent/581941">http://www.info-eco.fr/creavienne-revele-entrepreneurs-osent/581941</a></li>
<li><a href="http://www.lanouvellerepublique.fr/">http://www.lanouvellerepublique.fr/</a><a href="http://www.lanouvellerepublique.fr/Vienne/Actualite/Economie-social/n/Contenus/Articles/2017/06/13/Crea-Vienne-et-les-laureats-sont-3131637"></a></li>
<li><a href="https://www.facebook.com/creavienne/">https://www.facebook.com/creavienne/</a></li>
</ul>
<p></p>
<table>
<tbody>
<tr>
<td><img alt="logo" height="138" src="http://blog.linexos.fr/static/media/uploads/.thumbnails/bandeau_01.jpg/bandeau_01-380x138.jpg" width="380"/></td>
<td><img alt="tampon" height="158" src="http://blog.linexos.fr/static/media/uploads/.thumbnails/tampon_creavienne_noir.jpg/tampon_creavienne_noir-179x158.jpg" width="179"/></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p style="text-align: center;"></p>De la supervision technique à la supervision métier2017-01-13T15:21:10+00:00Serge Dewaillyhttp://blog.linexos.fr/author/admin/http://blog.linexos.fr/supervision-metier/<h4>L'outil de supervision doit s'adapter aux tendances</h4>
<p style="text-align: justify;">Les applications sont de plus en plus complexes, et reposent sur un grand nombre de technologies, au point que la supervision des systèmes ne devient plus suffisante.</p>
<p style="text-align: justify;">L’effet Cloud implique également une approche différente dans la manière de surveiller les ressources : les conteneurs d’applications sont éphémères, la scalabilité peut faire varier le nombre d'instance comme le nombre de nœuds physiques, etc.</p>
<p style="text-align: justify;">Il est donc nécessaire d’orienter la surveillance sur les applications elles-mêmes, et de mettre en place des outils qui répondent aux exigences de chacun.</p>
<p style="text-align: justify;"></p>
<h4>Le cahier des charges </h4>
<p>La supervision doit reposer sur un ensemble d’outils permettant de s’assurer du bon fonctionnement de ses applications, et garantir la possibilité d’exercer son métier.</p>
<p>Le défi consiste à mettre en place des vues n’affichant que les informations essentielles et propres à chaque métier. Ces informations doivent être également adaptées à chaque utilisateur pour qu'elles soient pertinentes.</p>
<p>L'outil doit également pouvoir afficher le détail des éléments supervisés, le problème source, quelqu'il soit, et doit également permettre de parcourir l'historique afin de pouvoir dater précisément les événements. </p>
<p>L’ouverture avec le monde extérieur ne doit pas être en reste, l'outil doit également permettre de s’interfacer avec des annuaires (Active Directory), des outils de ticketing, ou encore avec des CMDB.</p>
<p>Enfin, et pas des moindres, l'outil doit permettre de s'étendre autant que l'architecture, autrement dit, il doit être <em>scalable</em>. Pour superviser des applications hébergées hors de l'entreprise, il faut que l'outil soit en première loge. Il est donc nécessaire de pouvoir déployer des agents n'importe où. Cette règle s'applique encore plus pour des applications dans le Cloud. </p>
<h4><strong>La solution ? Shinken Enterprise</strong></h4>
<p><strong>Shinken Enterprise</strong> permet non seulement de simplifier la configuration, mais assure également une vision métier, à travers des vues sélectives, et des indicateurs essentiels.</p>
<p><img alt="" height="347" src="http://blog.linexos.fr/static/media/uploads/.thumbnails/01_hive.png/01_hive-719x347.png" width="719"/></p>
<p>Les tableaux de bords, regroupés sous la forme d’une Hive, ou ruche, montrent les états consolidés à partir d’un ensemble d’indicateurs soigneusement sélectionnés.</p>
<p></p>
<p>Les états consolidés peuvent être construits en combinant plusieurs dizaines d'états de tous types : Systèmes, Requêtes sur base de données, Navigation automatisée, analyse de journaux d'événements etc.</p>
<p><img alt="" height="472" src="http://blog.linexos.fr/static/media/uploads/.thumbnails/businessrules01.png/businessrules01-472x472.png" width="472"/></p>
<p>Il devient alors facile de créer des règles complexes, avec un langage simple, et reflétant avec précision les composants fondamentaux d'une application.</p>
<p></p>
<p>Cette fonctionnalité permet également de mettre en avant les impacts lorsqu'un élément est en état critique. </p>
<p><img alt="" height="532" src="http://blog.linexos.fr/static/media/uploads/.thumbnails/business-view-critical.png/business-view-critical-514x532.png" width="514"/></p>
<h4><br>La supervision plus technique ne doit pas être effacée pour autant </br></h4>
<p>La supervision plus technique va permettre : </p>
<ul>
<li>de construire les règles d'agrégation</li>
<li>de cibler les problèmes sources </li>
<li>de récolter des métriques</li>
<li>d'aider les équipes techniques à devenir plus proactives</li>
</ul>
<p>Shinken Enterprise conserve les métriques dans une base Graphite, permettant ainsi de les consulter directement depuis les tableaux de bords, ou depuis les vues détaillées. </p>
<p>Le choix de cette brique permet également de garantir l'accès aux métriques depuis des outils tiers tels que Grafana. </p>
<p>A noter qu'il est également possible de stocker les métriques dans des moteurs d'indexation tels qu'ElasticSearch, pour permettre de les exploiter de manières différentes (reporting, Capacity Planning etc.). </p>
<table height="541" width="446">
<tbody>
<tr>
<td></td>
<td><img alt="" height="260" src="http://blog.linexos.fr/static/media/uploads/.thumbnails/graph01.png/graph01-432x260.png" width="432"/></td>
</tr>
<tr>
<td></td>
<td><img alt="" height="261" src="http://blog.linexos.fr/static/media/uploads/.thumbnails/graph02.png/graph02-437x261.png" width="437"/></td>
</tr>
</tbody>
</table>
<p></p>
<p></p>
<h4>Qu'en est-il des notifications ? </h4>
<p>Le système de notification permet quant à lui de filtrer les alertes afin de ne notifier que les bonnes personnes, en les alertant sur le problème source, ce qui est adapté pour la supervision applicative. Seuls les utilisateurs concernés par l'application ou la brique défaillante seront alertés, et ce, en fonction des contraintes horaires définies. </p>
<p>Un outil de supervision mal configuré, et non adapté ne fera que remplir des boîtes mails avec des alertes non traitées. Il est donc important de prêter une attention particulière aux notifications, qui ne doivent survenir qu'en cas de réel problème.</p>
<p></p>
<h4>Comment Linexos peut transformer votre supervision</h4>
<p>Linexos peut vous accompagner tant sur l'étude préliminaire, que sur les choix et orientations nécessaires à la réussite de votre supervision. </p>
<p>Partenaire Shinken Solutions, et reconnue Expert Shinken, Linexos peut également vous accompagner sur la mise en œuvre et sur le maintien de votre solution de supervision. </p>
<p>De belles références dans le domaine permettent aujourd'hui aux experts supervision Linexos de vous amener vers la supervision qui vous conviendra, et de vous guider à travers les différentes étapes qui conduisent vers une supervision métier. </p>
<p>Un grand catalogue de plugins et de connaissances permettent à Linexos de mettre en place du monitoring pour un large choix de technologies (Linux, Windows, SGBD, PaloAlto, Cisco, Dell, Docker, Kubernetes, VMware etc.)</p>
<p></p>
<h5>N'hésitez pas à demander une démo et à échanger avec nos experts !</h5>
<p></p>