Surveillance de base de données
Objectifs du chapitre et prérequis
1. Contexte et prérequis
Dans un système d’information, les bases de données sont généralement l’objet d’une attention particulière : elles détiennent l’information des applications et sont par conséquent particulièrement critiques. En conséquence, elles font l’objet d’une attention poussée afin de se prémunir au maximum des pertes de performances ou de données.
De son côté, Prometheus ne sait pas communiquer directement avec ces dernières et il est nécessaire de faire appel à un exporteur. Dans ce qui va suivre, le lecteur abordera cette thématique avec quelques exemples d’exporteurs disponibles avec quelques exemples d’alertes intéressantes pour chaque cas.
2. Fichiers téléchargeables
Vous pouvez récupérer les exemples sur le repository GitHub suivant : https://github.com/EditionsENI/prometheus-grafana
Vous pouvez également récupérer ces fichiers dans l’archive chapitre-14.tar.gz depuis la page Informations générales.
Surveillance de base de données PostgreSQL
1. Contexte
PostgreSQL (ou Postgres) est une base de données relationnelle et objet créée par Michael Stonebraker. Son développement est fait sur un modèle open source (licence PostgreSQL similaire aux licences BSD/MIT) et est disponible sur la plupart des systèmes du marché. Sa principale caractéristique est d’être pratiquement conforme avec l’ensemble des normes ANSI SQL 89, 92, 99, 2003 et 2008. Il offre également la possibilité de stocker des types non structurés (comme du JSON par exemple).
N’hésitez pas à consulter l’article à son sujet sur Wikipedia : https://fr.wikipedia.org/wiki/PostgreSQL
2. Exporteur PostgreSQL
a. Présentation de l’exporteur
La communauté Prometheus maintient un exporteur dédié à la surveillance de cette brique : postgres_exporter.
Ce dernier est téléchargeable en version 0.9.0 (au moment de l’écriture de ce livre) à l’adresse suivante : https://github.com/prometheus-community/postgres_exporter
Dans le cas d’une distribution Linux tournant sur architecture AMD64, l’archive de la version 0.9.0 portera le nom : postgres_exporter-0.9.0.linux-amd64.tar.gz.
Tout comme pour la plupart des exporteurs de Prometheus, ce dernier est écrit en Go et se présente sous la forme d’un binaire sans dépendance système.
Enfin, c’est un produit open source distribué sous licence Apache.
b. Installation de l’exporteur
La décompression de l’archive se fait à l’aide de la commande tar, puis des options xfvz suivies du nom de l’archive à décompresser.
Voici la commande complète à utiliser :
$ tar xfvz postgres_exporter-0.9.0.linux-amd64.tar.gz
Cette dernière renvoie la liste des fichiers décompressés :
postgres_exporter-0.9.0.linux-amd64/
postgres_exporter-0.9.0.linux-amd64/LICENSE
postgres_exporter-0.9.0.linux-amd64/postgres_exporter
La décompression va créer le répertoire postgres_exporter-0.9.0.linux-amd64 avec deux fichiers :
-
Fichier LICENSE : licence logicielle de l’exporteur.
-
Fichier postgres_exporter : binaire de l’exporteur.
L’exporteur est disponible...
Surveillance base de données MySQL/MariaDB
1. Contexte
MySQL est un moteur de base de données SQL distribué sous double licence GPL et propriétaire. La première version de ce logiciel est relativement ancienne et date de 1994. Le nom du produit vient de la concaténation My (prénom de la fille d’un des co-créateurs du logiciel, Michael Widenius) et de SQL (Structured Query Language). La société à l’origine de ce produit (MySQL AB) a été tout d’abord rachetée par Sun Microsystems en 2008 pour être ensuite reprise par Oracle au moment du rachat de Sun en 2010.
Suite à ce rachat, Michael Widenius a décidé de créer un clone (fork) et l’a prénommé MariaDB, d’après le prénom de sa seconde fille (Maria).
Au niveau norme, MySQL est compatible avec SQL2. Toutefois, le moteur n’est pas compatible avec les normes plus récentes et certaines fonctions ne respectent pas la syntaxe recommandée.
À noter que ce logiciel fait partie de l’acronyme LAMP (Linux Apache MySQL PHP) et qu’il s’agit d’un logiciel particulièrement utilisé sur Internet. Il était par exemple utilisé pour le site Wikipedia jusqu’en 2012. Il a été remplacé par la suite par MariaDB.
Pour en savoir plus sur ce logiciel, n’hésitez pas à consulter l’article Wikipedia suivant : https://fr.wikipedia.org/wiki/MySQL
2. Exporteur MySQL
a. Présentation de l’exporteur
Tout comme pour l’exporteur PostgreSQL, l’exporteur de MySQL/MariaDB se présente sous la forme d’un binaire statique sans dépendance. Il est accessible à l’emplacement suivant : https://github.com/prometheus/mysqld_exporter
Au moment de la rédaction de ces lignes, l’exporteur est sorti en version 0.13.0. Il se présente sous la forme d’une archive tar.gz. Dans le cas d’une version AMD64 pour Linux, l’archive prendra le nom suivant :
mysqld_exporter-0.13.0.linux-amd64.tar.gz
b. Installation de l’exporteur
Le lancement de l’exporteur ne diffère pas de celui pour la base PostreSQL et la première étape consiste à décompresser l’archive téléchargée...