Checkmk
to checkmk.com
Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. Introduction

Checkmk vous permet de surveiller de manière exhaustive les clusters MySQL et Galera pour MySQL. Vous trouverez une liste complète des options de supervision dans notre catalogue de plugins de supervision. Checkmk peut notamment surveiller les éléments suivants :

Pour pouvoir effectuer la supervision des bases de données, outre l'agent Checkmk, vous n'avez besoin que du plugin d'agent sur le serveur de base de données. Aucun logiciel supplémentaire n'est requis, ni sur Checkmk, ni sur le serveur de base de données.

Nous allons maintenant décrire la configuration de la supervision de MySQL pour les ordinateurs hôtes Linux et Windows. Nous aborderons ensuite la configuration à l'aide de la boulangerie d’agents.

2. Configuration de la supervision

2.1. Création d'un utilisateur

La seule condition requise pour configurer la supervision dans MySQL est qu’un utilisateur de base de données et son mot de passe soient disponibles. Cet utilisateur n’a besoin que de droits de lecture sur les instances MySQL. Si un tel utilisateur n’existe pas encore, créez-le dans les instances à surveiller. Pour ce faire, connectez-vous à MySQL avec un utilisateur disposant de droits d’accès suffisants, puis créez un nouvel utilisateur de base de données :

mysql> CREATE USER 'checkmk'@'localhost' IDENTIFIED BY 'MyPassword';
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Cet utilisateur nouvellement créé a besoin d'une autorisation pour lire les instances. Vérifiez donc si l'utilisateur dispose des autorisations nécessaires, ou ajoutez-les à l'aide de l'instruction suivante. L'exemple suivant effectue cette opération pour l'utilisateur checkmk :

mysql> GRANT SELECT, SHOW DATABASES ON *.* TO 'checkmk'@'localhost';
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Si vous utilisez la réplication MySQL, l'utilisateur doit disposer au minimum de l'autorisation « REPLICATION CLIENT » pour superviser le serveur répliqué :

mysql> GRANT REPLICATION CLIENT ON *.* TO 'checkmk'@'localhost';
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

2.2. Installation du plugin

Linux
Windows
Linux

Le plugin requis, « mk_mysql », se trouve sur votre serveur Checkmk via Setup > Linux, Solaris, AIX files > Plugins ou, à défaut, dans le répertoire ~/share/check_mk/agents/plugins/.

Dans un premier temps, copiez ce plugin dans le répertoire des plugins de l'agent sur l'ordinateur hôte à superviser. Le répertoire des plugins est généralement /usr/lib/check_mk_agent/plugins/. Dès que le script se trouve dans le répertoire spécifié, rendez-le exécutable :

root@linux# chmod 700 mk_mysql
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Ce plugin peut bien sûr également être exécuté de manière asynchrone si nécessaire.

Windows

2.3. Création du fichier de configuration

Le fichier de configuration que vous créez ci-dessous — ou via la boulangerie d’agents — sert de source unique pour les paramètres de supervision de MySQL. Checkmk ne prend pas en compte les autres paramètres de configuration qui pourraient exister localement.

Linux
Windows
Linux

Créez ensuite un fichier nommé « mysql.cfg » dans le répertoire de configuration (par défaut : /etc/check_mk/) de l'agent Checkmk sur l'ordinateur hôte cible.

L'agent peut récupérer les informations souhaitées depuis votre instance MySQL à l'aide des données de l'utilisateur qui y sont saisies. Bien que la spécification d'un utilisateur de base de données soit facultative, nous vous la recommandons, car l'agent exécute généralement le plugin en tant qu'utilisateur système root. Si aucun nom d'utilisateur de base de données n'est spécifié, le client MySQL tente d'accéder à la base de données avec le nom d'utilisateur de l'utilisateur système exécutant, sans utiliser de mot de passe, ou en utilisant le mot de passe stocké dans .mylogin.cnf. Vous trouverez de plus amples informations, par exemple, dans la documentation MySQL.

Cela s'effectue selon le format habituel des fichiers de configuration MySQL :

/etc/check_mk/mysql.cfg
[client]
user=checkmk
password=MyPassword
Copier le contenu du fichier dans le presse-papiers
Contenu du fichier copié avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

L'enregistrement des données d'accès à l'aide de l'instruction suivante permet de se prémunir contre tout accès non autorisé :

root@linux# chmod 400 mysql.cfg
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !
Windows

2.4. Création de services

Maintenant que vous avez installé et configuré le plugin, vous pouvez effectuer une reconnaissance du service pour cet ordinateur hôte. La capture d'écran suivante ne montre qu'une sélection des services disponibles :

mysql discovery

3. Configuration avancée

3.1. Exécution asynchrone d'un plugin

Le plugin de supervision de MySQL, comme tant d'autres, peut être exécuté de manière asynchrone, par exemple pour tenir compte des durées d'exécution plus longues des instances MySQL de grande taille.

Linux
Windows
Linux

Sur un ordinateur hôte Linux, il suffit de déplacer le plugin dans un sous-répertoire du répertoire des plugins. Par exemple, si vous souhaitez exécuter le plugin toutes les 5 minutes, déplacez simplement le script « mk_mysql » dans un sous-répertoire nommé « 300 ». Vous trouverez des instructions détaillées concernant l'exécution asynchrone des plugins dans l'article consacré à l'agent Linux.

Windows

3.2. Options supplémentaires pour les fichiers de configuration

Configuration de la communication avec MySQL via un socket

Au lieu de laisser l'agent communiquer avec MySQL via TCP, vous pouvez demander à Checkmk d'utiliser le socket. Pour ce faire, il suffit de définir la variable « socket » dans le fichier « mysql.cfg ». Voici un exemple de fichier de configuration Windows :

C:\ProgramData\Checkmk\agent\config\mysql.ini
[client]
user=checkmk
password=MyPassword
*socket=/var/run/mysqld/mysqld.sock*
Copier le contenu du fichier dans le presse-papiers
Le contenu du fichier a été copié avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Définition manuelle des ordinateurs hôtes

Il est également possible de définir manuellement l'hôte MySQL via les fichiers de configuration. La variable correspondante s'appelle simplement « host ». Prenons à nouveau l'exemple de Windows :

C:\ProgramData\Checkmk\agent\config\mysql.ini
[client]
user=checkmk
password=MyPassword
*host=127.0.0.1*
Copier le contenu du fichier dans le presse-papiers
Contenu du fichier copié avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

3.3. Configuration des valeurs seuils

Supervision sessions

Certaines des vérifications configurées de cette manière ne disposent pas de valeurs de seuil prédéfinies. C'est généralement le cas car il n'existe pas de valeurs par défaut raisonnables qui seraient suffisantes dans la plupart des cas. Cependant, celles-ci peuvent être configurées en quelques étapes simples.

Par exemple, vous trouverez dans l'Service monitoring rules la règle « MySQL sessions & connections ». Celle-ci peut être utilisée pour définir des valeurs de seuil pertinentes pour le service MySQL sessions de votre instance MySQL.

mysql sessions connections

Supervision des connexions

Nous n’avons pas non plus spécifié de valeurs seuils pour l’utilisation du nombre maximal de connexions simultanées défini par MySQL, car celles-ci dépendent bien davantage de la structure de votre instance MySQL que pour les autres services.

La définition des valeurs seuils correspondantes s'effectue en un clin d'œil à l'aide d'une règle issue du jeu de règles « MySQL connections ». Il en va de même pour le nombre de connexions ouvertes.

mysql connections

Supervision de la taille des bases de données

La taille des bases de données individuelles dans MySQL est surveillée par le plugin de supervision MySQL: Capacity check. Les valeurs seuils pour ce plugin peuvent être définies à l'aide de la règle «MySQL database sizes».

mysql size database

3.4. Supervision des fichiers journaux

À l'aide du plugin de supervision logwatch, vous pouvez également surveiller les fichiers journaux générés par MySQL afin de détecter d'éventuelles erreurs. Après avoir configuré le plugin, vérifiez d'abord où se trouvent les fichiers journaux correspondants dans votre instance MySQL. Vous trouverez leur emplacement exact dans le fichier .ini ou .cnf de votre instance.

Vous pouvez indiquer les journaux qui vous intéressent dans le fichier de configuration de logwatch et effectuer les entrées suivantes, par exemple sur un ordinateur hôte Linux :

/etc/check_mk/logwatch.cfg
/var/log/mysql/error.log
 W Can't create/write to file
 C [ERROR] Can't start server
 C mysqld_safe mysqld from pid file /var/run/mysql/mysqld.pid ended

4. Configurations à l'aide de la boulangerie d’agents

CEE La configuration est grandement simplifiée grâce à la boulangerie d’agents, car cela permet d'éviter les erreurs de syntaxe dans les fichiers de configuration et d'adapter facilement le système à des environnements changeants. La principale différence par rapport à une installation manuelle réside dans le fait que ce n'est que pour certaines configurations spécifiques à MySQL que vous devez intervenir sur l'ordinateur hôte MySQL via sa ligne de commande.

Pour la configuration initiale, il suffit de créer l'utilisateur de la base de données sur l'ordinateur hôte MySQL et de créer une règle correspondante dans la boulangerie d’agents. Vous trouverez l'ensemble de règles sous « Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules ». Vous pouvez ensuite rechercher « mysql » dans le champ de recherche :

mysql bakery ruleset search

Saisissez l'identifiant et le mot de passe du nouvel utilisateur de la base de données. Le champ suivant vous permet de configurer l'agent Checkmk pour les ordinateurs hôtes Linux de manière à ce qu'il n'établisse pas la connexion à MySQL via TCP, mais via le socket. En fonction de la taille et de l'utilisation, cela peut contribuer à améliorer les performances.

Une version asynchrone du plugin MySQL peut également être définie à l'aide de cet ensemble de règles. Cela peut s'avérer utile pour tenir compte de durées d'exécution plus longues avec des instances MySQL volumineuses, ou si les données d'état ne sont tout simplement pas requises toutes les minutes.

mysql bakery

5. Options de diagnostic

Si, par exemple, un comportement inattendu ou des problèmes surviennent lors de la configuration de la supervision, il est recommandé de vérifier directement sur l'ordinateur hôte concerné. Étant donné que les plug-ins de supervision de MySQL pour Linux et Windows sont des scripts shell ou Visual Basic, ils peuvent être facilement exécutés sans l'agent. Quel que soit le système d'exploitation utilisé, il suffit d'indiquer le répertoire de configuration concerné au shell ou à la ligne de commande.

Linux
Windows
Linux

Vérifiez d'abord les répertoires applicables à votre ordinateur hôte respectif.

user@host:~$  grep 'export MK' /usr/bin/check_mk_agent
export MK_LIBDIR='/usr/lib/check_mk_agent'
export MK_CONFDIR='/etc/check_mk'
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Utilisez maintenant l'instruction export pour créer les variables d'environnement MK_CONFDIR et MK_LIBDIR. Personnalisez les instructions en fonction de vos répertoires réels.

root@linux# export MK_CONFDIR="/etc/check_mk/"
root@linux# export MK_LIBDIR="/usr/lib/check_mk_agent"
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !
Tip

Ces variables d'environnement n'existent que dans le shell actuellement ouvert et disparaissent dès que vous le fermez.

Vous pouvez ensuite exécuter le script mk_mysql directement dans le répertoire des plugins d'agent Checkmk.

root@linux# $MK_LIBDIR/plugins/mk_mysql
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Si toutes les autorisations ont été correctement accordées à l'utilisateur de la base de données, vous devriez maintenant voir plusieurs centaines de lignes de sortie, même dans un environnement MySQL petit et actuel.

Windows

5.1. Erreurs possibles et messages d'erreur

mysqladmin : échec de la connexion au serveur xyz

Le message d'erreur « connect to server at xyz failed » indique que l'utilisateur spécifié dans le fichier de configuration n'a pas accès à MySQL. Check d'abord qu'aucune erreur de saisie ne s'est glissée lors de la création du fichier de configuration (mysql.cfg ou mysql.ini).

Si le nom d'utilisateur ou le mot de passe spécifié dans le fichier de configuration est incorrect, vous recevrez un message d'erreur similaire à celui-ci :

Access denied for user checkmk
La taille de la base de données n'est pas affichée

Si vous voyez toute une série de données provenant de votre instance MySQL dans Checkmk, mais qu'aucun service ne réalise la supervision de la taille des bases de données qu'elle contient, cela indique que l'utilisateur de la base de données ne dispose pas de l'autorisation « SELECT ».

Vérifiez votre utilisateur de base de données dans MySQL à l'aide de l'instruction suivante :

mysql> show grants for 'checkmk'@'localhost';

+--------------------------------------------------------------------------+
| Grants for checkmk@localhost                                             |
+--------------------------------------------------------------------------+
| GRANT SELECT, SHOW DATABASES ON *.* TO `checkmk`@`localhost`             |
+--------------------------------------------------------------------------+
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Si le mot-clé « SELECT » n'apparaît pas dans votre sortie, accordez à l'utilisateur de la base de données les droits appropriés, comme indiqué dans la section relative à la configuration des utilisateurs.

6. Fichiers et répertoires

6.1. Sur l'ordinateur hôte MySQL

Linux
Windows
Linux
Chemin d'accès au fichier Fonction

/usr/bin/check_mk_agent

L'agent qui collecte toutes les données relatives à l'ordinateur hôte.

/usr/lib/check_mk/plugins/

Répertoire habituel dans lequel les plugins sont stockés.

/etc/check_mk/mysql.cfg

Le fichier de configuration du plugin MySQL.

/etc/check_mk/mysql.local.cfg

Fichier de configuration supplémentaire permettant de spécifier des sockets spécifiques à l'ordinateur hôte.

Windows

6.2. Sur le serveur Checkmk

Chemin d'accès Fonction

~/share/check_mk/agents/plugins/mk_mysql

Le plugin qui récupère les données depuis l'ordinateur hôte MySQL.


Last modified: Fri, 06 Feb 2026 07:13:00 GMT via commit e3b1403cf
Sur cette page