Cette page vous guide à travers les étapes requises pour démarrer la surveillance de base d'un serveur MySQL.
Pour surveiller un serveur MySQL, il existe plusieurs approches : l'agent Zabbix, l'agent Zabbix 2 ou le standard Open Database Connectivity (ODBC). L'objectif principal de ce guide est la surveillance d'un serveur MySQL avec Zabbix agent 2, qui est l'approche recommandée en raison de sa configuration transparente sur diverses configurations. Cependant, cette page propose également des instructions pour les autres approches, alors n'hésitez pas à choisir celle qui correspond le mieux à vos besoins.
À qui s'adresse ce guide
Ce guide est conçu pour les nouveaux utilisateurs de Zabbix et contient l'ensemble minimum d'étapes requises pour activer la surveillance de base d'un serveur de donnés MySQL. Si vous recherchez des options de personnalisation approfondies ou si vous avez besoin d'une configuration plus avancée, consultez la section Configuration du manuel Zabbix.
Conditions préalables
Avant de continuer avec ce guide, vous devez télécharger et installer le serveur Zabbix, l'interface Zabbix et l'agent Zabbix 2 selon les instructions de votre système d'exploitation.
En fonction de votre configuration, certaines étapes de ce guide peuvent légèrement différer. Ce guide est basé sur la configuration suivante:
Pour surveiller un serveur MySQL, Zabbix doit y accéder ainsi qu'à ses processus. Votre installation MySQL dispose déjà d'un utilisateur avec le niveau d'accès requis (l'utilisateur "zabbix" qui a été créé lors de l'installation de Zabbix),cependant, cet utilisateur dispose de plus de privilèges que nécessaire pour une simple surveillance (privilèges DROP, DELETE, etc.).Par conséquent, un utilisateur MySQL dans le but de uniquement surveiller le serveur MySQL doit être créé.
1. Connectez-vous au client MySQL, créez un utilisateur "zbx_monitor" (remplacez <password> pour l'utilisateur "zbx_monitor" par un mot de passe de votre choix), et GRANT les privilèges nécessaires à l'utilisateur :
mysql -u root -p
# Enter password:
mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
mysql> quit;
Une fois l’utilisateur créé, vous pouvez passer à l’étape suivante.
1. Connectez-vous à l'interface Zabbix.
2. Créer un hôte dans l'interface Web Zabbix :
3. Cliquez sur Ajouter pour ajouter l'hôte. Cet hôte représentera votre serveur MySQL.
Toutes nos félicitations! À ce stade, Zabbix surveille désormais votre serveur MySQL.
Pour afficher les métriques collectées, accédez à la section de menu Surveillance → Hôtes et cliquez sur Tableaux de bord à côté de l'hôte.
Cette action vous mènera au tableau de bord de l'hôte (configuré au niveau du modèle) avec les métriques les plus importantes collectées à partir du serveur MySQL.
Alternativement, à partir de la section de menu Surveillance → Hôtes, vous pouvez cliquer sur Dernières données pour afficher toutes les dernières mesures collectées dans une liste. Notez que l'élément MySQL : Valeur calculée de innodb_log_file_size ne devrait contenir aucune donnée, car la valeur sera calculée à partir des données de la dernière heure.
#### Configurer des alertes de problème
Zabbix peut vous informer d'un problème avec votre infrastructure en utilisant diverses méthodes. Ce guide fournit les étapes de configuration de base pour l'envoi d'alertes par e-mail.
1. Accédez à Paramètres utilisateur → Profil, passez à l'onglet Média et ajoutez votre e-mail.
2. Suivez le guide pour la réception d'une notification en cas de problème.
La prochaine fois, lorsque Zabbix détectera un problème, vous devriez recevoir une alerte par e-mail.
Pour tester votre configuration, nous pouvons simuler un problème réel en mettant à jour la configuration de l'hôte dans l'interface Zabbix.
1. Ouvrez la configuration de l'hôte de votre serveur MySQL dans Zabbix.
2. Basculez vers l’onglet Macros et sélectionnez Macros héritées et hôtes.
3. Cliquez sur Modifier à côté de la valeur de la macro précédemment configurée {$MYSQL.USER} et définissez un nom d'utilisateur MySQL différent.
4. Cliquez sur Mettre à jour pour mettre à jour la configuration de l'hôte.
5. Dans quelques instants, Zabbix détectera le problème "MySQL : Service is down", car il ne pourra pas se connecter au serveur MySQL. Le problème apparaîtra dans Surveillance → Problèmes.
Si les alertes sont [configurées] (#set-up-problem-alerts), vous recevrez également la notification du problème.
6. Remplacez la valeur de la macro par sa valeur précédente pour résoudre le problème et continuer à surveiller le serveur MySQL.
Au lieu de surveiller un serveur MySQL avec l'agent Zabbix 2, vous pouvez également utiliser l'agent Zabbix ou la norme Open Database Connectivity (ODBC). Bien que l'utilisation de l'agent Zabbix 2 soit recommandée, certaines configurations peuvent ne pas prendre en charge l'agent Zabbix 2 ou nécessiter une approche personnalisée.
La principale différence entre l'agent Zabbix et ODBC réside dans la méthode de collecte de données : l'agent Zabbix est installé directement sur le serveur MySQL et collecte les données à l'aide de sa fonctionnalité intégrée, tandis qu'ODBC s'appuie sur un pilote ODBC pour établir une connexion au serveur MySQL et récupérer des données à l'aide de requêtes SQL.
Bien que de nombreuses étapes de configuration soient similaires à la surveillance d'un serveur MySQL avec l'agent Zabbix 2, il existe quelques différences significatives: vous devez configurer l'agent Zabbix ou ODBC pour pouvoir surveiller un serveur MySQL. Les instructions suivantes vous guident à travers ces différences.
Pour surveiller un serveur MySQL avec l'agent Zabbix, vous devez télécharger et installer le serveur Zabbix, l'interface Zabbix et l'agent Zabbix conformément aux instructions de votre système d'exploitation.
Une fois que vous avez installé avec succès les composants Zabbix requis, vous devez créer un utilisateur MySQL comme décrit dans la section Créer un utilisateur MySQL.
Après avoir créé l'utilisateur MySQL, vous devez configurer l'agent Zabbix pour pouvoir établir une connexion avec le serveur MySQL et le surveiller. Cela inclut la configuration de plusieurs paramètres utilisateur pour exécuter des vérifications d'agent personnalisées, ainsi que de fournir à l'agent Zabbix les informations d'identification nécessaires pour se connecter au serveur MySQL en tant qu'utilisateur [précédemment créé] (#create-mysql-user) "zbx_monitor".
Configurer l'agent Zabbix
1. Accédez au répertoire des configurations supplémentaires de l'agent Zabbix.
Le répertoire des configurations supplémentaires de l'agent Zabbix doit être situé dans le même répertoire que le fichier de configuration de votre agent Zabbix (zabbix_agentd.conf). En fonction de votre système d'exploitation et de votre installation Zabbix, ce répertoire peut avoir un emplacement différent de celui spécifié dans ce guide. Pour les emplacements par défaut, vérifiez le paramètre Include
dans le fichier de configuration de l'agent Zabbix.
Au lieu de définir tous les paramètres utilisateur nécessaires à la surveillance du serveur MySQL dans le fichier de configuration de l'agent Zabbix, ces paramètres seront définis dans un fichier séparé dans le répertoire des configurations supplémentaires.
2. Créer un fichier template_db_mysql.conf dans le répertoire des configurations supplémentaires de l'agent Zabbix.
3. Copiez le contenu du fichier template_db_mysql.conf (localisé dans le repertoire Zabbix) dans le fichier template_db_mysql.conf que vous avez créé et enregistrez.
4. Redémarrez l'agent Zabbix pour mettre à jour sa configuration.
Une fois que vous avez configuré les paramètres utilisateur de l'agent Zabbix, vous pouvez passer à la configuration des informations d'identification qui permettront à l'agent Zabbix d'accéder au serveur MySQL.
5. Accédez au répertoire personnel de l'agent Zabbix (s'il n'existe pas sur votre système, vous devez le créer; par défaut: /var/lib/zabbix).
6. Créez un fichier .my.cnf dans le répertoire personnel de l'agent Zabbix.
7. Copiez le contenu suivant dans le fichier .my.cnf (remplacez <password> par le mot de passe de l'utilisateur "zbx_monitor").
Configurez l'interface Zabbix et testez votre configuration
Pour configurer l'interface Zabbix, suivez les instructions de la section Configurer l'interface Zabbix avec les ajustements suivants :
Une fois que vous avez configuré l'interface Zabbix, vous pouvez afficher les métriques collectées et configurer des alertes de problème.
Pour tester votre configuration, suivez les instructions de la section Tester votre configuration avec les ajustements suivants:
Pour surveiller un serveur MySQL avec ODBC, vous devez télécharger et installer le serveur Zabbix et l'interface Zabbix.
Une fois que vous avez installé avec succès les composants Zabbix requis, vous devez créer un utilisateur MySQL comme décrit dans la section creer un utilisateur MySQL.
Après avoir créé l'utilisateur MySQL, vous devez configurer ODBC. Cela inclut l'installation de l'une des implémentations d'API ODBC open source les plus couramment utilisées - unixODBC - et un pilote unixODBC, ainsi que la modification du fichier de configuration du pilote ODBC.
Configurer ODBC
1. Installez unixODBC. La méthode suggérée pour installer unixODBC consiste à utiliser les référentiels de packages par défaut du système d'exploitation Linux.
2. Installez le pilote de base de données MariaDB unixODBC. Bien que vous disposiez d'une base de données MySQL, le pilote MariaDB unixODBC est utilisé pour des problèmes de compatibilité.
3. Vérifiez l'emplacement des fichiers de configuration ODBC odbcinst.ini et odbc.ini.
Le résultat de l’exécution de cette commande devrait être similaire a:
unixODBC 2.3.9
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
...
4. Pour configurer le pilote ODBC pour surveiller une base de données MySQL, vous avez besoin du nom du pilote, qui se trouve dans le fichier odbcinst.ini.Dans l'exemple de fichier odbcinst.ini suivant, le nom du pilote est « MariaDB Unicode ».
[MariaDB Unicode]
Driver=libmaodbc.so
Description=MariaDB Connector/ODBC(Unicode)
Threading=0
UsageCount=1
5. Copiez le contenu suivant dans le fichier odbc.ini (remplacez <password> par le mot de passe de l'utilisateur "zbx_monitor"). Ce guide utilise « 127.0.0.1 » (localhost) comme adresse de serveur MySQL pour surveiller un serveur MySQL installé sur la même machine que le pilote ODBC. Notez le nom de la source de données (DSN) "test", qui sera requis lors de la [configuration de l'interface Zabbix] (#configure-zabbix-frontend).
[test]
Driver=MariaDB Unicode
Server=127.0.0.1
User=zbx_monitor
Password=<password>
Port=3306
Database=zabbix
Configurez l'interface Zabbix et testez votre configuration
Pour configurer l'interface Zabbix, suivez les instructions de la section Configurer l'interface Zabbix avec les ajustements suivants :
Une fois que vous avez configuré l'interface Zabbix, vous pouvez afficher les métriques collectées, configurer des alertes de problème et tester votre configuration.