La surveillance est un moyen de savoir si vos systèmes fonctionnent correctement. Même lorsque vous utilisez une technologie robuste comme PostgreSQL, il est important d'avoir un bon système de surveillance qui vous permet de prévenir les problèmes avant qu'ils n'affectent votre entreprise. La meilleure façon de surveiller votre base de données de manière proactive est d'avoir des vérifications personnalisées pour les adapter à votre charge de travail et également une notification pour vous assurer que vous serez averti en cas d'échec.
Cela pourrait être une tâche fastidieuse car vous devez tout créer manuellement, mais qu'en est-il de l'utilisation de ClusterControl pour cela ? Oui, vous pouvez le faire, et dans ce blog, nous verrons comment.
Notifications de contrôle de cluster
ClusterControl dispose d'un système d'alarme utilisant des conseillers pour vous avertir en cas de panne ou de comportement inattendu. Il est livré avec des conseillers prédéfinis, mais vous pouvez le modifier ou même en créer un nouveau à l'aide de l'outil intégré Developer Studio. En outre, il est intégré à des outils tiers tels que Slack ou PagerDuty, vous pouvez donc également y recevoir des notifications.
Conseillers ClusterControl
ClusterControl a un mini-programme interne appelé Advisors, où vous écrivez un petit programme qui vit et s'exécute dans la structure des objets ClusterControl. Vous pouvez le considérer comme une fonction planifiée qui exécute un script créé dans Developer Studio et produit un résultat contenant un statut, des conseils et une justification. Cela permet aux utilisateurs d'étendre facilement les fonctionnalités de ClusterControl en créant des conseillers personnalisés qui peuvent s'exécuter à la demande ou selon un calendrier.
Certains conseillers prédéfinis se trouvent sous ClusterControl -> Performance -> Advisors, mais vous pouvez également en programmer de nouveaux à l'aide de l'option Schedule Advisor :l'option vous enverra à la section Developer Studio.
Pour les conseillers existants, vous pouvez voir la configuration de la planification, la dernière exécution, ainsi que des informations telles que l'état actuel, l'instance de la base de données, un message sur la sortie et un conseil si nécessaire.
Studio de développement ClusterControl
Les conseillers mentionnés sont des mini-scripts écrits dans le langage spécifique au domaine ClusterControl (DSL) qui est un langage de type Javascript. Ces scripts peuvent être écrits, compilés, enregistrés, exécutés et planifiés dans ClusterControl à l'aide de l'outil Developer Studio intégré à ClusterControl.
Pour accéder à cet outil, accédez à ClusterControl -> Gérer -> Developer Studio . Une fois là-bas, vous pourrez voir les scripts disponibles, mais de nouveaux scripts peuvent également être créés, importés ou exportés.
Lorsque vous modifiez ou créez un script, vous pouvez compiler votre travail, le compiler et l'exécuter, le planifier ou le désactiver complètement.
Si vous souhaitez planifier un nouveau script, la configuration est essentiellement une tâche cron, où vous pouvez spécifier quand et à quelle fréquence vous souhaitez l'exécuter dans deux modes différents :Basic (Base) ou Advanced .
Si vous planifiez un script existant, vous pouvez voir la sortie dans le section message.
Et, si vous souhaitez créer un nouveau script, par exemple, pour exécutez une requête SQL sur votre base de données PostgreSQL pour connaître la version actuelle, voici un exemple basique :
Pour plus d'exemples sur l'utilisation du langage DSL, vous pouvez vous référer à la documentation officielle.
Conclusion
Un bon système de surveillance doit pouvoir envoyer des notifications, afficher des alarmes, et également offrir la possibilité de personnaliser les scripts pour les adapter à votre entreprise.
ClusterControl possède toutes les fonctionnalités mentionnées :il peut offrir des fonctionnalités allant de nombreuses fonctionnalités de gestion et de surveillance telles que la récupération automatique, les sauvegardes, le déploiement, la sécurité, etc.
Au début, la création de conseillers personnalisés pour votre base de données PostgreSQL peut être difficile car vous avez besoin de connaissances en javascript et de quelques connaissances de base sur ClusterControl, mais une fois que vous avez créé votre premier conseiller, le reste devrait être une tâche facile.