VT2017 Prometheus


 * Auteur : Estelle ALLARD
 * Enseignants : Didier Donsez, Georges-Pierre Bonneau
 * Date : 06/10/2017

=Support= Fiche de synthèse, [[Media:VT2017_Prometheus_presentation.pdf|Transparents]], |Code source démo

=Résumé= Prometheus est un système de surveillance de données et de sécurité par alerte. Il utilise le langage GO ce qui le rend facile à construire et à déployer. Ce système possède une architecture complète possédant plusieurs outils tels que graphiques, de stockage en passant par un module d’alerte. Il s’agit d’un outils utilisé par les entreprises et autres organisations permettant le suivi et la maintenance de leur base de données. Il s’agit d’un outils indépendant, autonome et en évolution constante. Né en 2012 il est aujourd’hui un projet de la Cloud Native Computing Foundation. =Abstract= Prometheus is a system for monitoring data and security by alert. It uses GO language which makes it easy to build and deploy. This system has a complete architecture with several tools such as graphics, storage and also an alert module. It is a tool used by companies and other organizations to monitor and maintain their database. It is an independent, autonomous and constantly evolving tool. Born in 2012 it is nowadays a project of the Cloud Native Computing Foundation. Despite some cons it is an efficient and effective tool. =Contexte et motivations= Prometheus est un système né en 2012. Il a pour but la protection et le signalement de problèmes internes par le biais d’alertes. Il est, depuis 2016, un projet de la Cloud Native Computing Foundation. Il s’agit d’un logiciel open source, indépendant à chaque entreprise ou organisation qui l’utilisent, constitue un modèle de données multidimensionnel, possède un langage flexible ainsi qu’une représentation graphique multimode. =Marché et acteurs= Le principal marché de ce logiciel sont les entreprises, plus ou moins connues telles qu’Ericsoon ou Soundcloud. Voici la liste non exhaustive des différents clients de Prometheus :



Il s’agit d’un marché important puisque toutes les entreprises d’aujourd’hui ont besoin de stocker leurs données par le biais de bases de données, il est donc intéressant d’avoir un outil tel que Prometheus pour analyser les risques et les problèmes.

=Architecture= Prometheus possède une architecture complète et variée. Elle est composé du serveur principal permettant l’enregistrement et le stockages des données de séries chronologiques. De plus des bibliothèques clients sont à disposition dans le logiciel pour permettre l’instrumentation du code d’application. Des exportateurs spéciaux sont présents pour divers usages tels que le graphisme ou autre. De plus Grafana peut être utilisé afin de représenter graphiquement les différentes données de la base. Il est évident qu’un gestionnaire d’alerte est nécessaire au bon fonctionnement de Prometheus de par son but principal qui est d’alerter en cas de problème. Il est a noté que plusieurs de ces composants sont facultatifs. Voici l’architecture du système Prometheus

Prometheus est utilisable par téléchargement direct du logiciel (attention taille supérieur à 3Mo) ou bien par image Docker permettant l’accès direct par création d’image virtuelle.



=Avantages et inconvénients= Les avantages de Prometheus sont multiples. Tout d’abord le développement en langage GO permet une construction et un déploiement plus facile. Le logiciel fonctionne très correctement avec des données en série temporelle purement numériques. De plus ce système permet une double surveillance, c’est à dire une surveillance centrée à la fois sur la machine de l’entreprise concernée mais aussi la surveillance des architectures autres, centrées sur les services. Le soutien quand à la collecte de données et cette dernière en elle même, de la part de Prometheus, en fait sa force. Il s’agit d’une force important dans le monde d’aujourd’hui composé énormément de micro services.

Prometheus se base principalement sur la fiabilité des détection de problème en effet un diagnostic rapide est établi en cas de panne d’un appareil. De plus, l’aspect autonome de chaque serveur, en étant non conforme au stockage réseau ou bien à d’autres services plus distants permet de pouvoir compter sur le système en toute situation. De ce fait, vous pouvez utiliser les capacités de détection du logiciel lorsqu’une partie de votre structure rencontre un problème et vous n’avez donc pas a créer de nouvelles infrastructures plus complexe pour pouvoir l’utiliser. Malgré sa très bonne fiabilité quand à la détection des problèmes, Prometheus ne correspond pas à une précision de 100%. En effet, il est possible que les données collectées ne soient pas suffisamment complètes ou détaillées pour garantir une très bonne précision. C’est pourquoi, si l’intêret de l’entreprise se porte sur la précision des données il est alors préférable de privilégier un autre système pour la détection tout en utilisant Prometheus pour le suivi. =Conclusion= Prometheus possède ses avantages et ses inconvénients mais est un logiciel fiable quant à la détection de problèmes au sein d’une organisation ou d’une entreprise. De plus il s’agit d’une base de données respectant les quatre caractères ACID que sont l’atomicité, la cohérence, l’isolation et la durabilité. =Références commentées= logiciel Prometheus
 * https://prometheus.io Site officiel du logiciel Prometheus
 * https://github.com/prometheus/prometheus Lien des sources de Prometheus
 * https://quay.io/repository/prometheus/prometheus Autre source d’informations concernant
 * https://godoc.org/github.com/prometheus/prometheus Lien d’aide à l’installation et l’utilisation du