CatégorieBase de donnéesLinuxMonitoring

Monitorer ses bases de données MySQL & Mariadb avec Telegraf

Si nous voulons récupérer des métriques de performance sur nos bases de données, nous pouvons utiliser l’agent Telegraf que nous avons déjà installé ensemble dans un article précédent.

Pour monitorer une instance MySQL ou Mariadb, il suffit de créer un fichier de configuration dans le répertoire /etc/telegraf/telegraf.d/ et de l’appeler mysql.conf

Nous allons aussi créer un utilisateur sur l’instance MySQL avec le droit de faire un select sur la base de données information_schema et aussi le privilège “PROCESS”.

CREATE USER 'telegraf'@'%' IDENTIFIED BY 'password';
GRANT SELECT, PROCESS ON information_schema.* TO 'telegraf'@'%';

Nous avons besoin de ces deux privilèges pour récupérer les informations nécessaires à afficher dans notre dashboard.

Voici le fichier de configuration à modifier en ajoutant l’utilisateur et le mot de passe que notre agent telegraf va utiliser.

[[inputs.mysql]]
  servers = ["telegraf:password@tcp(IP_DU_SERVEUR:3306)/"]
  name_suffix = "_mysql"
  metric_version = 2
  gather_table_schema = true
  gather_process_list = true
  gather_user_statistics = false
  gather_info_schema_auto_inc = true
  gather_innodb_metrics = true
  #gather_binary_logs = true
  #gather_global_variables = true
  gather_table_io_waits = true
  gather_table_lock_waits = true
  gather_index_io_waits = true
  gather_event_waits = true
  gather_file_events_stats = true
  gather_perf_events_statements = true
  insecure_skip_verify = true

Ce fichier de configuration peut-être utilisé sur toutes les bases de données tant que l’utilisateur Telegraf a bien les privilèges nécessaires.

Plus d’informations et de paramètres sur la page de la documentation officiel du plugin input MySQL : https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mysql – Connect to preview

Plus d’informations sur la chaîne de connexion à utiliser ici : https://github.com/go-sql-driver/mysql#dsn-data-source-name – Connect to preview

Nous pourrons ensuite créer un dashboard dans Grafana et utiliser les données que nous remontons depuis la base de données MySQL.

Nous pouvons utiliser celui-ci que j’ai trouvé sur Internet et modifier à ma convenance. Il est à importer au format JSON dans Grafana :

Il faut noter que les données de nos bases de données MySQL/Mariadb sont donc copiées dans Influxdb.

Publié par Alexy DA CRUZ

Administrateur systèmes depuis maintenant plus de 2 ans et passionné par le développement, je partage mes connaissances sur mon portfolio.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *