Avec la version 1.7 de notre produit phare ClusterControl, nous avons introduit notre nouvelle infrastructure de surveillance basée sur des agents :SCUMM - dont ce blog traite plus en détail.
En tant qu'élément central de notre produit, ClusterControl fournit un système de surveillance complet avec des données en temps réel pour savoir ce qui se passe maintenant, avec des métriques haute résolution pour une meilleure précision, des tableaux de bord préconfigurés et une large gamme de services de notification tiers pour l'alerte. .
Les systèmes sur site et dans le cloud peuvent être surveillés et gérés à partir d'un seul point.
Des vérifications de l'état intelligentes sont mises en œuvre pour les topologies distribuées, par exemple la détection du partitionnement du réseau en exploitant la vue de l'équilibreur de charge sur les nœuds de la base de données.
Et ... la surveillance peut être sans agent via SSH ou basée sur un agent... c'est là que SCUMM entre en jeu !
Le nouveau système SCUMM de ClusterControl est basé sur des agents, avec un serveur extrayant des métriques d'agents qui s'exécutent sur les mêmes hôtes que les bases de données surveillées et utilise des agents Prometheus pour une plus grande précision et des options de personnalisation tout en surveillant vos clusters de bases de données.
Mais pourquoi SCUMM et de quoi s'agit-il ?
Présentation de SCUMM
SCUMM - Surveillance et gestion unifiées CMON de Manynines - est notre nouvelle infrastructure de surveillance basée sur des agents.
Cette infrastructure de surveillance se compose de deux composants principaux :
Le premier composant est le serveur Prometheus qui agit comme base de données de séries chronologiques et stocke les métriques collectées.
La deuxième composante est l'exportateur. Il peut y avoir un ou plusieurs exportateurs chargés de collecter les métriques d'un nœud ou d'un service. Le serveur Prometheus collecte ces métriques (c'est ce qu'on appelle le scraping) auprès des exportateurs via HTTP. En plus de cela, nous avons créé un ensemble de tableaux de bord pour visualiser les métriques collectées.
Les principaux avantages sont :
- Collectez des métriques avec les exportateurs Prometheus pris en charge par la communauté
- Par exemple, les données de MySQL Performance Schema ou ProxySQL
- Un certain nombre de tableaux de bord spécialisés affichant les statistiques les plus importantes et les tendances historiques pour chaque service surveillé
- La surveillance à haute fréquence permet de gratter les cibles avec un intervalle d'une seconde
- Une architecture qui évolue avec le nombre de serveurs de base de données et de clusters. Une seule instance Prometheus peut ingérer des milliers d'échantillons par seconde.
- Aucune dépendance à la connectivité SSH pour la collecte des métriques d'hôte et de processus, ce qui signifie un système plus évolutif par rapport à une solution de surveillance sans agent
- La possibilité de créer des tableaux de bord personnalisés avec des règles personnalisées (attention à nos prochaines versions)
Les agents/exportateurs SCUMM installés sur les nœuds surveillés sont appelés exportateurs Prometheus. Les exportateurs collectent les métriques du nœud (par exemple, CPU, RAM, disque et réseau) et de services tels que les serveurs MySQL ou PostgreSQL. Le serveur Prometheus est installé sur un serveur et récupère (échantillonne) les exportateurs avec un intervalle personnalisé.
Pourquoi Prométhée ?
Prometheus est une base de données de séries chronologiques très populaire qui a été largement adoptée avec un écosystème actif. Il offre un modèle de données riche et un langage de requête avec un système de sondage basé sur http. Il est également facile à installer, à entretenir et à configurer dans la configuration HA.
Prometheus récupère les métriques des tâches instrumentées, soit directement, soit via une passerelle push intermédiaire pour les tâches de courte durée. Il stocke localement tous les échantillons extraits et exécute des règles sur ces données pour agréger et enregistrer de nouvelles séries chronologiques à partir de données existantes ou générer des alertes.
Prometheus fonctionne bien pour enregistrer n'importe quelle série temporelle purement numérique. Il convient à la fois à la surveillance centrée sur la machine et à la surveillance d'architectures hautement dynamiques et orientées services. Dans un monde de microservices, sa prise en charge de la collecte et de l'interrogation de données multidimensionnelles est un atout particulier.
Prometheus est conçu pour la fiabilité, pour être le système vers lequel vous vous dirigez pendant une panne pour vous permettre de diagnostiquer rapidement les problèmes. Chaque serveur Prometheus est autonome et ne dépend pas du stockage réseau ou d'autres services distants. Vous pouvez vous y fier lorsque d'autres parties de votre infrastructure sont en panne, et vous n'avez pas besoin de mettre en place une infrastructure étendue pour l'utiliser. Ainsi, pour une haute disponibilité, il est possible d'installer simplement un deuxième serveur Prometheus en grattant les mêmes données que le premier serveur Prometheus.
De plus, Prometheus est une base de données de séries chronologiques très populaire et son adoption s'est développée très rapidement. Il est possible qu'un autre serveur Prometheus plus haut dans l'organisation récupère les serveurs Prometheus plus près du niveau base de données. Cela permet une infrastructure de surveillance évolutive où, au niveau de la base de données, la résolution des données est plus élevée que plus haut dans une organisation.
Exportateurs
Un ou plusieurs exportateurs sont installés sur le serveur surveillé et sont chargés de collecter des métriques sur une partie spécifique de l'infrastructure. Par exemple, il peut y avoir un exportateur pour capturer des informations spécifiques à l'hôte, un exportateur pour capturer les métriques MySQL et les métriques ProxySQL.
Nous avons également créé un exportateur de processus spécifique qui surveille les processus en cours d'exécution du serveur. Cet exportateur est essentiel aux fonctionnalités de haute disponibilité de ClusterControl et permet à ClusterControl de réagir rapidement aux échecs de processus et aux états de processus. L'utilisation de l'exportateur de processus (qui est installé par défaut lorsque la surveillance basée sur l'agent est activée) réduit la charge système sur les serveurs surveillés.
Activation de la surveillance basée sur l'agent dans ClusterControl
L'activation de la surveillance basée sur l'agent est aussi simple que de cliquer sur le tableau de bord, puis de cliquer sur "Activer la surveillance basée sur l'agent". Sélectionnez un hôte sur lequel le serveur Prometheus sera installé. Ce serveur Prometheus peut ensuite être partagé avec d'autres clusters.
Avec sa version 1.7.1, ClusterControl est livré avec les tableaux de bord suivants :
- Présentation du système
- Présentation du cluster
- MySQL Server – Général
- MySQL Server - Caches
- Métriques MySQL InnoDB
- Présentation du cluster Galera
- Présentation du serveur Galera
- Présentation de PostgreSQL
- Présentation de ProxySQL
- Présentation de HAProxy
- Présentation du cluster MongoDB
- MongoDB ReplicaSet
- Serveur MongoDB
Pour résumer …
Que l'on veuille utiliser un agent de surveillance ou emprunter la voie sans agent est entièrement basé sur les exigences de la politique organisationnelle et les besoins personnalisés. Et bien que nous aimions la simplicité de ne pas avoir à installer ou à gérer des agents sur les hôtes de base de données surveillés, une approche basée sur les agents peut fournir une résolution plus élevée des données de surveillance et présente certains avantages en termes de sécurité.
Le nouveau système SCUMM de ClusterControl utilise des agents Prometheus pour une plus grande précision et des options de personnalisation lors de la surveillance de vos clusters de bases de données.
Pourquoi ne pas essayer et voir par vous-même !
Installez ClusterControl dès aujourd'hui (c'est gratuit avec notre édition communautaire) ou téléchargez notre nouveau guide ClusterControl si vous souhaitez d'abord en savoir plus sur notre produit.