
Introduction
Kardio est un outil simple qui peut être configuré pour effectuer des contrôles de santé sur n'importe quel point de terminaison. Kardio a une interface utilisateur riche affichant le statut et la disponibilité basées sur les réponses des points de terminaison de repos, des ports TCP, etc. Il est également intégré à Slack et Email pour alerte.
Chez T-Mobile, USA, Inc., nous exécutons plusieurs plates-formes d'orchestration de conteneurs multi-conteneurs massives et ces plates-formes reposent sur des outils de surveillance tels que Prometheus, Grafana, etc. Un système de vérification d'état qui est autonome et indépendant de la pile de surveillance principale était requis en cas de performances dégradées dans n'importe quelle partie du système de surveillance primaire. Nous avons commencé Kardio en tant qu'interface utilisateur de statut simple pour les services sur nos plateformes, et avons ensuite ajouté plus de fonctionnalités à mesure que nos plates-formes ont grandi et adopté Kubernetes.
Start
Pour un essai rapide de Kardio, suivez les étapes du démarrage rapide
Fonctionnalité
Chèques de santé
Kardio a la capacité d'effectuer des contrôles de santé des services Web:
- Découverte automatiquement et effectuer des contrôles de santé pour les services déployés sur Kubernetes et Marathon
- Effectuer un contrôle de santé pour les services configurés manuellement
Haute disponibilité
Kardio prend en charge un mode de haute disponibilité (HA) avec un cluster à deux nœuds en configuration active passive. Le mode HA est conçu pour fonctionner sur plusieurs régions si nécessaire.
Prise en charge multi-région / multi-environnement
Kardio a la capacité d'exécuter plusieurs régions. Le tableau de bord Kardio affiche des données pour chaque environnement / région disponible.
RBAC
Kardio prend en charge le contrôle / restrictions d'accès basé sur les rôles à l'aide de l'intégration LDAP. Voir l'intégration RBAC pour plus d'informations
Fonctionnement des éléments
- L'état de santé des services est fourni avec des informations à jour par minute.
- Prend en charge deux régions pour un service.
- Prend en charge plusieurs environnements.
- Plusieurs vérifications d'état sont effectuées pour un seul service.
- Les contrôles de santé personnalisés peuvent être écrits (en Java) pour n'importe quel service.
- Les annonces peuvent être publiées sur la page d'accueil.
- Affiche des données en temps réel à partir de sources personnalisées en haut du tableau de bord, telles que les transactions totales, les TP, les conteneurs totaux, l'exécution des conteneurs, la disponibilité, etc.
- Les utilisateurs peuvent s'abonner aux alertes de changement d'état par e-mail et Slack.
- Le pourcentage de disponibilité de chaque service par an, mois et date est affiché dans le tableau de bord.
- Les utilisateurs peuvent facilement rechercher une liste pour une application, un service ou un composant spécifique.
- Les services ayant des changements sur l'état de santé au cours des dernières 24 heures sont mis en évidence dans les événements récents, avec des détails de changement affichés comme messages pour le service correspondant.
- Les utilisateurs connectés peuvent ajouter / modifier des messages pour les applications et services auxquels ils ont accès. Par exemple, les utilisateurs peuvent ajouter des messages tels que «l'application est en baisse pour la maintenance» pour un service spécifique.
- La page d'administration permet aux utilisateurs de gérer la configuration de Kardio.
- L'accès basé sur les rôles est activé pour l'application Marathon et la page d'administration via l'intégration LDAP.
- La page d'histoire affiche les antécédents de santé des services au cours des sept derniers jours.
- Kardio prend en charge la passerelle Prométhée pour les services de surveillance.
- L'état de santé est affiché en utilisant les symboles suivants:
Caractéristiques de l'interface utilisateur
Kardio UI a les composants suivants.
- Compteurs - Afficher les transactions totales (requêtes HTTP), les demandes actuelles par seconde, les conteneurs totaux s'exécutent, les conteneurs en cours d'exécution actuels, le nombre de services fonctionnant et la disponibilité en pourcentage sur tous les clusters individuellement et combinés.
- Tableau de bord - Tous les services déployés dans un cluster seront visibles par les environnements et la région.
- Historique - Les 7 derniers jours de l'état de chaque service par environnements seront affichés en raison des échecs et de l'horodatage.
- Tableau de bord API - La tendance des services, des conteneurs, des RP et de la latence sur une période de temps sera affichée dans un graphique. Les filtres en fonction de la plate-forme, de l'environnement, de l'application seront affichés avec une option pour exporter le graphique dans le fichier PDF.
- Console d'administration - L'authentification est basée sur LDAP et les administrateurs auront la possibilité d'ajouter / modifier / supprimer les compteurs, les environnements et les messages. Les administrateurs peuvent ajouter tous les points de terminaison au surveillance et également aux utilisateurs d'alerte, inclure également des notifications de libération en plus de chaque environnement.
Installation
Pour les instructions d'installation et pour construire à partir de la source, veuillez suivre le guide de configuration
Article de blog d'annonce
Présentation de Kardio
Licence
Kardio est open source en vertu des termes de la licence Apache 2.0 et est libéré en tant que garantie ou conditions d'aucune sorte conformément à la section 7 de la licence Apache 2.0.