Tech

Comment surveiller l’activité du serveur MySQL avec un tableau de bord Grafana

Grafana est une solution d’observabilité open source populaire qui vous permet de visualiser des métriques sur des tableaux de bord graphiques. Grafana dispose de connecteurs pour une large sélection de sources de données, notamment des bases de données de séries chronologiques, des moteurs de recherche et des applications individuelles. Dans cet article, vous apprendrez à utiliser Grafana pour configurer une surveillance simple pour un serveur de base de données MySQL à l’aide de l’intégration officielle de Grafana Cloud.

Commencer

Grafana est disponible pour l’auto-hébergement sur votre propre matériel ou en tant que plate-forme SaaS gérée appelée Nuage Grafana. Nous utilisons Grafana Cloud dans ce didacticiel, car il prend en charge les intégrations de démarrage rapide qui se connectent à votre source de données et fournissent des dispositions de tableau de bord prédéfinies pour les métriques les plus courantes.

Connectez-vous à votre compte Grafana pour commencer. Vous pouvez créer un nouveau Compte Grafana Cloud gratuitement pour stocker jusqu’à 10 000 séries de métriques et 50 Go de journaux.

Ajout de l’intégration MySQL

Vous pouvez ajouter l’intégration MySQL à votre compte en vous rendant sur la page “Intégrations et connexions”, accessible depuis l’icône représentant un éclair dans la barre latérale gauche. Entrez “mysql” dans la barre de recherche en haut de l’écran.

Vous devriez voir apparaître deux résultats, tous deux étiquetés “MySQL”. Choisissez celui qui est marqué comme “Intégration”. Les intégrations incluent une expérience de configuration simplifiée et des dispositions de tableau de bord prédéfinies pour surveiller les statistiques clés du serveur. L’option alternative, “Source de données”, vous oblige à vous connecter manuellement à votre serveur, à extraire des métriques et à assembler des tableaux de bord.

image de l'installation de l'intégration MySQL de Grafana

L’écran suivant vous invitera à sélectionner le système d’exploitation et l’architecture du processeur de la machine qui héberge votre serveur MySQL. Ajustez les options du menu déroulant en fonction de votre système. Appuyez sur le bouton bleu “Installer l’intégration” pour afficher les instructions d’installation appropriées de l’agent Grafana.

Installation de l’agent Grafana

Grafana Agent est un utilitaire qui s’exécute en tant que service système pour collecter des métriques à partir de vos machines. Il envoie des données à votre compte Grafana où elles apparaîtront dans vos tableaux de bord. L’agent est une version allégée du collecteur de données Prometheus.

L’exécution du script affiché sur l’écran d’intégration MySQL téléchargera l’agent Grafana, le configurera avec votre compte Grafana Cloud et configurera la surveillance MySQL. Les données seront collectées toutes les 60 secondes lorsque vous utilisez les paramètres par défaut.

Comment surveiller l'activité du serveur MySQL avec un tableau de bord Grafana

Copiez le script affiché et exécutez-le sur le serveur qui héberge vos bases de données MySQL. Vous verrez quelques lignes de sortie pendant que le script télécharge le binaire et récupère votre fichier de configuration.

Vérifiez que le service Grafana Agent a démarré avec succès avant de continuer :

$ sudo systemctl status grafana-agent.service
● grafana-agent.service - Monitoring system and forwarder
     Loaded: loaded (/lib/systemd/system/grafana-agent.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-08-13 17:39:03 UTC; 39s ago
       Docs: https://grafana.com/docs/agent/latest/

Appuyez sur le bouton “Tester l’intégration” dans votre compte Grafana Cloud pour vérifier que tout est prêt à l’emploi. L’agent devrait fournir des données à Grafana.

Comment surveiller l'activité du serveur MySQL avec un tableau de bord Grafana

Vous pouvez maintenant appuyer sur “Afficher les tableaux de bord” pour commencer à interagir avec les visualisations incluses dans l’intégration.

Explorer vos tableaux de bord

L’intégration MySQL est livrée avec deux tableaux de bord : MySQL Overview et MySQL Logs. Le tableau de bord Présentation fournit des graphiques couvrant tous les aspects du fonctionnement de votre serveur MySQL, y compris la disponibilité, les requêtes par seconde, les connexions actives, les requêtes, les tris et l’activité réseau. Vous pouvez utiliser ces métriques pour interroger les performances de MySQL et identifier les opportunités d’optimisation.

Comment surveiller l'activité du serveur MySQL avec un tableau de bord Grafana

La vue Journaux propose un flux des fichiers journaux écrits par votre instance de serveur MySQL. L’intégration collecte automatiquement les journaux dans le /var/log/mysql annuaire. Le tableau de bord comprend des graphiques du nombre de lignes de journal écrites, ventilées par niveau de gravité et code d’erreur.

Comment surveiller l'activité du serveur MySQL avec un tableau de bord Grafana

Les tableaux de bord peuvent être personnalisés en cliquant sur l’icône des paramètres en haut à droite et en appuyant sur le bouton “Rendre modifiable”. Cela vous permettra de modifier la configuration du tableau de bord à l’aide des autres commandes de l’écran des paramètres. Vous serez également invité à ajouter et à modifier les panneaux graphiques affichés sur le tableau de bord.

Authentification du serveur MySQL de l’agent Grafana

Un défi que vous pourriez rencontrer concerne le compte utilisateur MySQL que Grafana Agent utilise pour accéder à votre base de données. L’agent est configuré pour utiliser root par défaut. Cela ne fonctionnera pas si la connexion racine MySQL est désactivée sur votre serveur ou si vous avez bloqué les connexions racine à des bases de données spécifiques.

Vous pouvez améliorer la sécurité et reprendre le contrôle en créant un utilisateur MySQL dédié pour Grafana. Exécutez les commandes suivantes dans un shell MySQL pour ajouter un utilisateur et un mot de passe, puis accordez-lui les privilèges d’accès à vos données :

> CREATE USER 'grafana'@'localhost' IDENTIFIED BY '<your-password>';
> GRANT ALL PRIVILEGES ON *.* TO 'grafana'@'localhost';
> FLUSH PRIVILEGES;

L’octroi du privilège sur *.* permet à l’utilisateur d’accéder à n’importe quelle table sur votre serveur, sur tous les schémas. Vous pourriez changer le GRANT déclaration pour restreindre les privilèges de Grafana ou limiter les interactions à des schémas et des tables spécifiques. Cependant, l’intégration fonctionne mieux avec des privilèges élevés qui incluent les tables système MySQL. Cela permet de collecter la sélection la plus complète de métriques.

Une fois que vous avez créé votre utilisateur, modifiez votre fichier de configuration Grafana Agent pour vous authentifier avec ses informations d’identification. Vous trouverez ceci à /etc/grafana-agent.yaml. Recherchez la section suivante :

integrations:
  mysqld_exporter:
    data_source_name: root@(localhost:3306)/

La data_source_name Le champ définit l’adresse du serveur MySQL et les informations d’identification de l’utilisateur. Modifiez-le pour référencer votre nouveau compte.

data_source_name: grafana:<your-password>@(localhost:3306)/

Redémarrez le service Grafana Agent pour appliquer la modification.

$ sudo service grafana-agent restart

Sommaire

L’intégration MySQL intégrée de Grafana offre un moyen pratique de surveiller les performances de votre serveur de base de données. Les présentations de tableau de bord incluses regroupent vos journaux d’erreurs et représentent graphiquement toutes les métriques couramment mesurées, vous tenant au courant de l’utilisation des ressources et de l’activité des requêtes.

Comment surveiller l'activité du serveur MySQL avec un tableau de bord Grafana

La surveillance régulière de ces données peut vous aider à repérer les tendances de performances émergentes et à résoudre les anomalies avant qu’elles ne deviennent un problème. La journalisation et la récupération manuelles de ces métriques seraient une corvée alors que les tableaux de bord Grafana vous donnent tout sur un seul écran, facilitant une analyse efficace.




Source link

Articles similaires