Depuis 9 ans, nous aidons les entreprises à intégrer et à créer des solutions pour les réseaux. 

Zen-Networks est une entreprise technologique axée sur les valeurs.

Contacts

France

66 Avenue des Champs Elysées
75008 ParisFrance

Maroc

410-411-412, Technoparc
Boulevard Dammam 20150
Casablanca, Maroc

contact@zen-networks.io

+212-522-219-782

Blog
Déploiement d'une image APM -Hnet.com 14

Déploiement d'un APM basé sur Kubernetes (Prt1)

  •  

Qu'est-ce que le monitoring Kubernetes et quel sont les outils open source les plus utilisés ?

Cet article montre comment le déploiement d'une solution de supervision des performances des applications (APM) pour une application basée sur Kubernetes fonctionne pour détecter et résoudre les problèmes liés à cette application.

La notion de déploiement continu dans la technique DevOps revêt une importance particulière pour ce projet. Ce qui appelle l'utilisation d'un environnement de déploiement avec Docker et Kubernetes et la partie exploitation qui concerne le déploiement en production de l'application et son exposition aux clients avec un reverse proxy et la partie monitoring concernant l'intégration d'une solution APM pour gérer la performance de la demande.

La supervision des performances des applications, ou APM , sont des outils basés sur les données pour superviser et gérer les performances des applications, le temps de transaction et l'expérience utilisateur.

Déploiement d'un APM

Supervision Kubernetes

Kubernetes est un système d'orchestration de conteneurs gratuit et open source qui automatise le déploiement, la mise à l'échelle et l'administration des applications conteneurisées. the Cloud Native Computing Foundation le maintient actuellement, qui a été initialement créé par Google.

Compte tenu de la complexité de kubernetes, la popularité croissante des microservices rend la supervision plus difficile. L'infrastructure, les clusters, les nœuds et les pods (applications de conteneur) sont tous des éléments qui doivent être suivis. Par conséquent, nous avons besoin d'un système qui nous permette de suivre chaque composant individuel tout en nous alertant de tout problème.

Benchmarking 

Parmi les solutions open source utilisées pour le monitoring k8s :

  • Prometheus + Grafana

SoundCloud a créé Prometheus, qui est une plateforme open source de supervision et d'alerte. De nombreuses entreprises et organisations ont adopté Prometheus depuis son lancement en 2012 et le projet bénéficie d'une communauté de développement et d'utilisateurs florissante. Il s'agit actuellement d'un projet open source autonome sans aucune entreprise. Prometheus a rejoint la CNCF en 2016 en tant que deuxième projet hébergé après Kubernetes, pour le souligner et expliquer la structure de gouvernance du projet.

Prometheus collecte et enregistre les métriques sous forme de données de séries chronologiques, ce qui signifie que les données métriques sont sauvegardées avec l’horodatage auquel elles ont été prises, ainsi que les étiquettes d’appel optionnelles des paires key-value. Grafana est souvent lié à Prométhée.

Grafana est un outil d'affichage de métriques qui peut également être utilisé pour créer des alertes. Il peut également envoyer une notification via Slack, un webhook, un e-mail ou d'autres canaux. Il est également capable d'interroger plusieurs entités simultanément.

Supervision des clusters k8s avec Prometheus + Grafana :

Déploiement d'un APM

  • Weave Scope

Un outil de dépannage et de supervision pour Kubernetes. Il établit des topologies logiques pour votre application et votre infrastructure, ce qui simplifie la gestion, la supervision et le contrôle de votre application conteneurisée basée sur des microservices. Il fournit une vue complète à la fois de l'application et de l'infrastructure complète.

Déploiement d'un APM

  • ELK stack

 Les ELK stack est l'un des plus populaires open source solutions de gestion des logs, notamment pour Kubernetes. Mais il peut facilement être utilisé et il est également utilisé par de nombreuses personnes à des fins de surveillance. Il s'agit d'un ensemble de quatre outils qui fournissent un pipeline de journaux de bout en bout.

Elasticsearch est un moteur de recherche et d'analyse RESTful distribué qui peut être utilisé à diverses fins. Et leur liste ne cesse de s'allonger. Clé l'Elastic Suite, elle centralise le stockage des données et assure une recherche ultra-rapide, une grande pertinence et des analyses aussi puissantes qu'évolutives.

Logstash est un pipeline de traitement de données côté serveur dont la mission principale est d'ingérer des données provenant d'une multitude de sources, puis de les transformer et de les envoyer au système de stockage Elasticsearch.

Kibana est un plugin de visualisation de données ElasticSearch distribué sous la licence gratuite Apache version 2. Il vous permet de visualiser le contenu qui a été indexé dans un cluster Elasticsearch. Les utilisateurs peuvent créer des graphiques à barres, des graphiques linéaires, dpoint clouds, des graphiques circulaires et des cartes de données volumineuses.

Déploiement d'un APM

  • cAdvisor

cAdvisor est conçu pour assembler, traiter et exporter des informations sur l'utilisation des ressources et la production sur les conteneurs en cours d'exécution. Il est également développé dans Kubernetes et intégré au binaire Kubelet.

cAdvisor n'est pas déployé par pod mais au niveau du nœud, il déterminera automatiquement tous les conteneurs en cours d'exécution sur un système et collectera des métriques système telles que la mémoire, le processeur, le réseau, etc.

Déploiement d'un APM-cadvisor

  • Zabbix

 Avec Zabbix, il est possible de créer des types de données pratiquement illimités à partir du système. De puissants systèmes de supervision en temps réel qui vous permettent de superviser simultanément des dizaines de milliers de serveurs, de machines virtuelles et de périphériques réseau.

Zabbix convient également à la supervision de l'infrastructure Kubernetes et des métriques d'application.

wapiti

  • Zipkin

Zipkin est un système de suivi distribué. Il collecte les données de synchronisation nécessaires pour résoudre les problèmes de latence dans les architectures de service. Les fonctionnalités incluent à la fois la collecte et la recherche de ces données.

wapiti

  • Jaeger

Jaeger est un logiciel Open Source édité par Uber Technologies. Il permet de tracer des transactions entre plusieurs services distribués. Il supervise et dépanne les environnements de microservices complexes.

Pour suivre l'évolution d'une requête via différents microservices, Jaeger utilise le traçage distribué. Comme cette solution fournit une représentation visuelle des flux d'appels, elle élimine les conjectures.

Qu'il s'agisse de dépannage ou d'optimisation, il est utile de disposer d'informations bien organisées. Jaeger comprend des outils pour superviser les transactions distribuées, optimiser les performances et la latence, ainsi que l'analyse des causes profondes, une méthode de dépannage.

wapiti

  • Télémétrie ouverte

En 2019, OpenTracing (un projet de traçage indépendant des fournisseurs de la CNCF) et OpenCensus (une bibliothèque de métriques et de traçage indépendante des fournisseurs dirigée par Google) ont fusionné pour former OpenTelemetry dans le but d'offrir un ensemble cohérent de bibliothèques et d'exigences d'instrumentation pour simplifier l'écosystème de télémétrie. pour la télémétrie d'observabilité. Le résultat est un système de télémétrie complet adapté à la supervision des services distribués modernes et des environnements plus traditionnels. Il rationalise la collecte et le transfert des données de télémétrie pour les ingénieurs en fournissant un ensemble unique d'API et de bibliothèques.

wapiti

Nous pouvons mettre en évidence les différences entre ces solutions open source dans le tableau ci-dessous :

Déploiement

Brièvement, dans cet article – déploiement d'un APM basé sur Kubernetes – nous avons abordé les principes de APM et du monitoring Kubernetes. Ensuite, nous avons comparé certaines des options open source les plus utilisées. Et après l'analyse comparative, nous avons choisi ELK stack pour les Logs de données et la télémétrie ouverte pour le code de performance.

Dans la section suivante, nous passerons en revue les phases de conception et de mise en œuvre de notre solution, ainsi que les outils que nous avons utilisés.

Découvrez la 2ème partie du article Déploiement d'un APM basé sur Kubernetes

 

Après avoir lu cet article, nous souhaitons vous informer que Zen Networks fournit des services autour de solutions IT.

De plus, Zen Networks fournit diverses solutions informatiques, telles que des Services de Monitoring, Services cloud, solutions agiles, automatisation, DevOps, et de plus en plus.

Avec l'aide de nos experts dans le domaine, nous pouvons vous aider à développer votre entreprise afin d'offrir des avantages supplémentaires à nos clients actuels.

Contactez-nous MAINTENANT pour obtenir une consultation gratuite et pourquoi pas un devis gratuit aussi !!

 

Auteur

Zen Networks