Les 9 meilleurs outils de surveillance Open Source pour Kubernetes

Choisissez le bon outil pour une surveillance réussie de Kubernetes!


Kubernetes est une plate-forme open-source prête à la production conçue avec l’expérience acquise de Google dans l’orchestration de conteneurs, associée aux meilleures idées du public. Il est prévu d’automatiser le déploiement, la mise à l’échelle et l’exploitation des conteneurs d’applications.

Avec la manière moderne de créer et d’exécuter des applications, vos stratégies de contrôle et d’observabilité doivent progresser, et donc les outils que vous utilisez. Les outils de surveillance d’infrastructure traditionnels peuvent ne pas être suffisants et vous avez besoin d’un système de surveillance Kubernetes spécialisé, comme indiqué ci-dessous.

Certains aident avec les journaux et d’autres avec les métriques. Certains offrent une interface pour faire fonctionner Kubernetes à vol d’oiseau. Certains sont natifs de Kubernetes, tandis que d’autres sont plus agnostiques.

Prométhée

Prométhée est l’un des outils de surveillance les plus populaires et les meilleurs utilisés avec Kubernetes. Cet outil est développé très tôt par SoundCloud et ensuite donné à la CNCF. Google Borg Monitor l’inspire.

Eh bien, Prometheus stocke toutes ses données sous forme de séquence temporelle. En un mot, ce qui fait que Prometheus se démarque des autres bases de données de séries chronologiques, c’est ses mécanismes d’alerte intégrés, son modèle de données multidimensionnelles, un modèle pull vs push, PromQL (le langage d’interrogation Prometheus), et bien sûr, le jamais -croissance communautaire.

Quelques autres fonctionnalités de Prometheus comprennent:

  • Pas de dépendance sur le stockage distribué;
  • Les cibles sont découvertes via la découverte de service ou la configuration statique
  • PromQL, un langage de requête flexible pour profiter de cette dimensionnalité
  • Les nœuds de serveur unique sont autonomes
  • La collecte de séries chronologiques se fait via un modèle pull sur HTTP
  • La transmission de séries chronologiques est prise en charge via une passerelle intermédiaire
  • Un modèle de données multidimensionnel avec des données de séries chronologiques analysées par nom de métrique et paires clé / valeur
  • Et, plusieurs formes de support graphique et de tableau de bord

La meilleure façon d’apprendre Prometheus est de l’installer sur votre serveur de laboratoire et de jouer avec. Ils ont une excellente documentation, mais si vous recherchez un apprentissage basé sur la vidéo, consultez ce Cours Udemy.

Kubewatch

Kubewatch est un observateur de Kubernetes qui publie des notifications d’événements dans un canal Slack. Cet outil vous offre la possibilité de déterminer les ressources que vous devez surveiller. Il est créé à Golang et utilise une bibliothèque cliente Kubernetes pour se connecter à un serveur API Kubernetes. Cette bibliothèque sert de facteur de base pour l’observation des événements Kubernetes.

kubewatch est simple à configurer et peut être déployé à l’aide d’un déploiement de barre ou de système. Plus clairement, kubewatch verra les modifications requises pour les ressources Kubernetes spécifiques que vous souhaitez surveiller – déploiements, jeux de démons, pods, services, jeux de réplicas, services, contrôleurs de réplication, secrets et cartes de configuration.

Jaeger

Le suivi distribué se développe progressivement dans la surveillance et le dépannage des environnements Kubernetes.  Jaeger est un système de traçage, qui est publié par Uber Technologies. Il est utilisé pour surveiller les transactions et dépanner dans les systèmes distribués complexes.

Jaeger propose une instrumentation basée sur OpenTracing pour Java, Python, Node et C ++. Il utilise un échantillonnage initial cohérent avec des probabilités individuelles par service / point d’extrémité et prend en charge plusieurs backends de stockage – Cassandra, Elasticsearch, Kafka et la mémoire.

Certaines des autres fonctionnalités de Jaeger incluent:

  • Surveillance des transactions distribuées
  • Propagation du contexte distribué
  • Optimisation des performances / latence
  • Analyse de la cause originelle
  • Analyse des dépendances de service

cAdvisor

cAdvisor est conçu pour assembler, traiter et exporter les informations d’utilisation et de production des ressources sur l’exécution des conteneurs. Il est également développé en Kubernetes et intégré au binaire Kubelet. Il est simple à utiliser (il expose les métriques Prometheus prêt à l’emploi) mais pas assez robuste pour être reconnu comme une solution de surveillance complète.

Contrairement à d’autres, cAdvisor n’est pas déployé par module mais au niveau du nœud. Il déterminera automatiquement tous les conteneurs exécutés sur un système et collectera les mesures du système telles que la mémoire, le processeur, le réseau, etc..

cAdvisor est un outil de base, et voici quelques-unes de ses fonctionnalités.

  • Prise en charge native des conteneurs Docker et aide d’autres types de conteneurs.
  • Prend en charge l’exportation des statistiques vers divers plugins de stockage, par exemple. InfluxDB etc.,
  • Il fournit l’utilisation globale de la machine en analysant le conteneur «racine» sur la machine.
  • Prise en charge de l’exécution autonome en dehors du Docker ou de tout autre conteneur également.
  • cAdvisor fonctionne par nœud. Il découvre automatiquement tous les conteneurs du nœud donné et collecte les statistiques d’utilisation du processeur, du système de fichiers et du réseau.
  • Les métriques peuvent être consultées sur l’interface Web, qui exporte des informations en direct sur tous les conteneurs du système.

Cabine

Cabine est la meilleure application de tableau de bord mobile native pour Kubernetes. L’interface utilisateur de Cabin est développée à l’aide de React Native et exécute donc les appareils iOS et Android. Il s’agit de l’assistant de déplacement, qui propose des actions précises pour manipuler les ressources Kubernetes. L’application cabine est tactile.

Par exemple, vous pouvez également supprimer des pods d’un simple glissement vers la gauche. Vous pouvez également faire évoluer les déploiements avec un défilement au doigt.

Quelques autres fonctionnalités:

  • Créer des déploiements de base Mettre à l’échelle les déploiements et les contrôleurs de réplication
  • Changer de type de service
  • Exposer les déploiements via les services
  • Intégration avec GKE pour l’approvisionnement de cluster en un seul clic
  • Accéder aux journaux dans plusieurs conteneurs
  • Supprimer et ajouter des étiquettes
  • Ouvrez les services NodePort dans le navigateur
  • Exécuter des commandes dans des conteneurs

Téléprésence

Téléprésence vous permet d’exécuter un service particulier localement tout en connectant ce service à un cluster Kubernetes distant. Cela permet aux développeurs travaillant sur des opérations multiservices d’adopter n’importe quel outil installé localement pour vérifier / déboguer / modifier votre service. Par exemple, vous pouvez exécuter un débogueur ou un IDE.

Il permet également aux développeurs d’effectuer un développement local rapide d’un service particulier, même si ce service dépend de services distincts dans le cluster. Faites une transition vers votre service, enregistrez et vous pouvez instantanément repérer le nouveau service en action.

La téléprésence est un environnement de développement local impressionnant pour les services exécutés dans Kubernetes. La partie de débogage en direct est unique et évolue assez rapidement. Voici quelques-unes de ses fonctionnalités supplémentaires.

  • Autoriser le code exécuté dans le conteneur à se connecter à un IDE ou à un débogueur exécuté sur l’hôte.
  • La téléprésence utilise une image proxy spécifique à OpenShift lorsqu’elle observe un cluster OpenShift.
  • La téléprésence prend également en charge le trafic de transfert vers et depuis d’autres conteneurs dans le pod.
  • La téléprésence utilise un répertoire accessible par Docker comme répertoire temporaire.

Portée de tissage

Portée de tissage est un dépannage & outil de surveillance pour Kubernetes. Il crée des topologies logiques de votre application et de votre infrastructure, ce qui vous permet d’envisager, de surveiller et de contrôler votre application conteneurisée basée sur des microservices.

Il donne une vue descendante de votre application ainsi que de votre infrastructure complète. Il vous autorise à déterminer tout problème avec votre application conteneurisée distribuée en temps réel, car elle est déployée sur un fournisseur de cloud.

Certaines des caractéristiques de la lunette Weave comprennent:

  • Prise en charge de tout style de déploiement (local, hébergé ou hybride) et la possibilité de collecter et de rapporter des métriques hôte / conteneur
  • Agréger les métriques, les événements et les étiquettes de Kubernetes
  • Mesures contextuelles en temps réel
  • Les nœuds peuvent être filtrés par la gestion du processeur et de la mémoire afin que vous puissiez identifier rapidement les conteneurs en utilisant le plus de ressources.

Grafana

Grafana est utilisé pour visualiser les métriques mais aussi un outil d’alerte. Grafana peut émettre une alerte sur Slack, webhook, mail ou d’autres canaux de communication. Une autre raison clé est la source de vos données: Grafana peut interroger plusieurs entités en même temps.

Vous pouvez interroger à partir d’une base de données comme ElasticSearch ou des outils de surveillance comme Cloudwatch, et également y définir des alertes. Certaines autres fonctionnalités sont comme ci-dessous.

  • Un gestionnaire d’alerte gère la partie alerte
  • Installation facile des exportateurs
  • L’application utilise des balises Kubernetes pour permettre également de filtrer les mesures des pods.
  • Le tableau de bord Pod / Container exploite les balises pod pour trouver facilement le ou les pods concernés.

Zabbix

Avec Zabbix, il est possible de créer des types de données pratiquement illimités à partir du système. Systèmes de surveillance en temps réel hautes performances contrôlables simultanément par des dizaines de milliers de serveurs, machines virtuelles et périphériques réseau.

Parallèlement à la sauvegarde des données, les fonctionnalités de visualisation sont accessibles, ainsi que des moyens extrêmement flexibles de comprendre les données à des fins d’alarme.

Certaines des fonctionnalités de Zabbix incluent:

  • Analyse de la cause originelle
  • Zabbix aide à conserver les données au format JSON, donc de nombreuses applications peuvent également les utiliser.
  • Surveillance en temps réel
  • Le proxy Zabbix est fortement recommandé pour les systèmes de production à grande échelle.
  • Rapports détaillés
  • La découverte de bas niveau vérifie automatiquement les nouveaux nœuds sans aucune difficulté.
  • Hautement configurable et extensible.

Zabbix est important et pas seulement Kubernetes, mais également adapté pour surveiller l’infrastructure et les mesures d’application. Si vous êtes intéressé à apprendre Zabbix, consultez ce cours brillant.

Conclusion

Le choix du bon outil de surveillance est crucial. Mais devinez quoi? Surtout est disponible en GRATUIT pour essayer, alors pourquoi ne pas obtenir une machine virtuelle cloud et voir ce qui fonctionne pour votre surveillance Kubernetes?

Bonne surveillance et dépannage!

MOTS CLÉS:

  • Docker

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map